評價此頁

UpsamplingBilinear2d#

class torch.nn.UpsamplingBilinear2d(size=None, scale_factor=None)[原始碼]#

對由多個輸入通道組成的輸入訊號應用 2D 雙線性上取樣。

為了指定縮放比例,它接受 sizescale_factor 作為其建構函式引數。

當給出 size 時,它是影像的輸出尺寸 (h, w)

引數
  • size (intTuple[int, int], 可選) – 輸出的空間尺寸

  • scale_factor (floatTuple[float, float], 可選) – 空間尺寸的乘數。

警告

該類已棄用,推薦使用 interpolate()。它等同於 nn.functional.interpolate(..., mode='bilinear', align_corners=True)

形狀
  • 輸入: (N,C,Hin,Win)(N, C, H_{in}, W_{in})

  • 輸出: (N,C,Hout,Wout)(N, C, H_{out}, W_{out}) 其中

Hout=Hin×scale_factorH_{out} = \left\lfloor H_{in} \times \text{scale\_factor} \right\rfloor
Wout=Win×scale_factorW_{out} = \left\lfloor W_{in} \times \text{scale\_factor} \right\rfloor

示例

>>> 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]]]])