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_factor
as it’s constructor argument.
When size
is given, it is the output size of the image (h, w).
Parameters
- size (int or Tuple [_int,_ int] , optional) – output spatial sizes
- scale_factor (float or Tuple [_float,_ float] , optional) – multiplier for spatial size.
Warning
This class is deprecated in favor of interpolate()
. It is equivalent to nn.functional.interpolate(..., mode='bilinear', align_corners=True)
.
Shape:
- Input: (N,C,Hin,Win)(N, C, H_{in}, W_{in})
- Output: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) where
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]]]])