问题描述
类似的问题还有 ‘ConvTranspose2d’ object has no attribute ‘padding_mode’ 等,主要原因是 PyTorch 版本不匹配,相比之前的版本如 PyTorch 1.0 后面的版本可能新增了 ‘padding_mode’ 属性。
解决方案
- 直接退回到 pytorch1.0 版本
- 改相应函数(如conv2d)内部的 forward()
if not hasattr(self, 'padding_mode'):
self.padding_mode = "none"
参考:https://blog.csdn.net/sparkexpert/article/details/100296305
- 导入模型后遍历更改其属性值
for m in model.modules():
if 'Conv' in str(type(m)):
setattr(m, 'padding_mode', 'zeros')
参考:https://github.com/NVIDIA/tacotron2/issues/182
个人觉得第3种方案最好。