Pytorch中使用nn.Upsample警告问题:
①首先说明该警告不影响程序的正常运行
②nn.Upsample与nn.functional.interpolate在功能上没有区别,但使用方法却不一样,即简单的把nn.Upsample换成nn.functional.interpolate是不行的。区别在于nn.Upsample可以写在nn.Sequential内,而nn.functional.interpolate不行,它要写在forward中,因为需要传入输入。如果你的代码都是嵌套在nn.Sequential中,则可以通过③来解决
③构建Interpolate类
class Interpolate(nn.Module):
def init(self, scale_factor, mode):
super(Interpolate, self).init()
self.interpolate = nn.functional.interpolate
self.scale_factor = scale_factor
self.mode = mode
def forward(self, x):
x = self.interpolate(x, scale_factor=self.scale_factor, mode=self.mode)
return x
然后把nn.Upsample换成Interpolate就Ok了