当前位置: 代码迷 >> 综合 >> UserWarning: nn.Upsample is deprecated. Use nn.functional.interpolate instead
  详细解决方案

UserWarning: nn.Upsample is deprecated. Use nn.functional.interpolate instead

热度:27   发布时间:2024-01-24 10:22:53.0

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了

  相关解决方案