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未賦值,導致的退出。

手動添加一句,發現即可實現運行,如下:

不過上述過程需要在調試完成之後,進行去掉,否則可能會影響其他程序。當然也可以將程序模型再重新保存一份即可。