AttributeError: 'Conv2d' object has no attribute 'padding_mode'问题解决

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/sparkexpert/article/details/100296305

在一个预训练模型加载过程中,发现碰到这样的一个错误:AttributeError: 'Conv2d' object has no attribute 'padding_mode'。

找了相关资料,发现其问题为pytorch版本的问题,即原来的预训练模型为pytorch 1.0版本环境下训练编译的,而现在的开发环境为pytorch 1.1版本。

网上很多办法都是直接退回到pytorch1.0版本。

这种比较笨的办法,为了实现更加简单的操作,调试到conv2d这种函数的forward中,主要是其中的self.paddingmode未赋值,导致的退出。

手动添加一句,发现即可实现运行,如下:

不过上述过程需要在调试完成之后,进行去掉,否则可能会影响其他程序。当然也可以将程序模型再重新保存一份即可。