import torch from torch import nn # view函数的-1参数的作用在于基于另一参数,自动计算该维度的大小 # view的第一个参数:2 代表的是batch 后面的2,2应该是几行几列的意思,这两个必须一致 # arange(1,9) => 1,2,3,4,5,6,7,8 input = torch.arange(1, 9, dtype=torch.float32).view(2, -1, 2, 2) print(input) # scale_factor : 缩放倍数 # UpsamplingBilinear2d:专门用于2D数据的线性插值算法 m = nn.UpsamplingBilinear2d(scale_factor=3) print(m(input)) # 结果如下所示 # tensor([[[[1., 2.], # [3., 4.]]], # # [[[5., 6.], # [7., 8.]]]]) # tensor([[[[1.0000, 1.2000, 1.4000, 1.6000, 1.8000, 2.0000], # [1.4000, 1.6000, 1.8000, 2.0000, 2.2000, 2.4000], # [1.8000, 2.0000, 2.2000, 2.4000, 2.6000, 2.8000], # [2.2000, 2.4000, 2.6000, 2.8000, 3.0000, 3.2000], # [2.6000, 2.8000, 3.0000, 3.2000, 3.4000, 3.6000], # [3.0000, 3.2000, 3.4000, 3.6000, 3.8000, 4.0000]]], # [[[5.0000, 5.2000, 5.4000, 5.6000, 5.8000, 6.0000], # [5.4000, 5.6000, 5.8000, 6.0000, 6.2000, 6.4000], # [5.8000, 6.0000, 6.2000, 6.4000, 6.6000, 6.8000], # [6.2000, 6.4000, 6.6000, 6.8000, 7.0000, 7.2000], # [6.6000, 6.8000, 7.0000, 7.2000, 7.4000, 7.6000], # [7.0000, 7.2000, 7.4000, 7.6000, 7.8000, 8.0000]]]])