AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'
时间: 2023-09-22 22:12:05 浏览: 175
这个错误通常出现在 PyTorch 的版本较低的情况下,因为 `recompute_scale_factor` 这个方法是在较新的 PyTorch 版本中添加的。
解决方法是升级 PyTorch 到最新版本,或者手动实现 `recompute_scale_factor` 方法。如果你选择手动实现,可以参考以下代码:
```
import torch.nn.functional as F
class Upsample(nn.Module):
def __init__(self, scale_factor):
super(Upsample, self).__init__()
self.scale_factor = scale_factor
def forward(self, x):
x = F.interpolate(x, scale_factor=self.scale_factor, mode='bilinear', align_corners=True)
return x
def recompute_scale_factor(self, scale_factor):
self.scale_factor = scale_factor
```
其中 `recompute_scale_factor` 方法会重新设置 `scale_factor` 属性。你可以在调用 `Upsample` 对象之前先调用一次 `recompute_scale_factor` 方法,来解决上述的错误。
阅读全文