UpsamplingBilinear2d — PyTorch 2.7 documentation (original) (raw)

class torch.nn.UpsamplingBilinear2d(size=None, scale_factor=None)[source][source]

Applies a 2D bilinear upsampling to an input signal composed of several input channels.

To specify the scale, it takes either the size or the scale_factoras it’s constructor argument.

When size is given, it is the output size of the image (h, w).

Parameters

Warning

This class is deprecated in favor of interpolate(). It is equivalent to nn.functional.interpolate(..., mode='bilinear', align_corners=True).

Shape:

Hout=⌊Hin×scale_factor⌋H_{out} = \left\lfloor H_{in} \times \text{scale\_factor} \right\rfloor

Wout=⌊Win×scale_factor⌋W_{out} = \left\lfloor W_{in} \times \text{scale\_factor} \right\rfloor

Examples:

input = torch.arange(1, 5, dtype=torch.float32).view(1, 1, 2, 2) input tensor([[[[1., 2.], [3., 4.]]]])

m = nn.UpsamplingBilinear2d(scale_factor=2) m(input) tensor([[[[1.0000, 1.3333, 1.6667, 2.0000], [1.6667, 2.0000, 2.3333, 2.6667], [2.3333, 2.6667, 3.0000, 3.3333], [3.0000, 3.3333, 3.6667, 4.0000]]]])