解決pytorch 保存模型遇到的問題
今天用pytorch保存模型時遇到bug
Can't pickle <class 'torch._C._VariableFunctions'>
在google上查找原因,發(fā)現(xiàn)是保存時保存了整個模型的原因,而模型中有一些自定義的參數(shù)
將 torch.save(model,save_path) 改為 torch.save(model.state_dict(),save_path)
然后載入模型也做相應(yīng)的更改就好了
補充:pytorch訓練模型的一些坑
1. 圖像讀取
opencv的python和c++讀取的圖像結(jié)果不一致,是因為python和c++采用的opencv版本不一樣,從而使用的解碼庫不同,導(dǎo)致讀取的結(jié)果不同。
2. 圖像變換
PIL和pytorch的圖像resize操作,與opencv的resize結(jié)果不一樣,這樣會導(dǎo)致訓練采用PIL,預(yù)測時采用opencv,結(jié)果差別很大,尤其是在檢測和分割任務(wù)中比較明顯。
3. 數(shù)值計算
pytorch的torch.exp與c++的exp計算,10e-6的數(shù)值時候會有10e-3的誤差,對于高精度計算需要特別注意,比如
兩個輸入5.601597, 5.601601, 經(jīng)過exp計算后變成270.85862343143174, 270.85970686809225
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Python實現(xiàn)matplotlib顯示中文的方法詳解
這篇文章主要介紹了Python實現(xiàn)matplotlib顯示中文的方法,結(jié)合實例形式詳細總結(jié)分析了Python使用matplotlib庫繪圖時顯示中文的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-02-02
Appium+python自動化之連接模擬器并啟動淘寶APP(超詳解)
這篇文章主要介紹了Appium+python自動化之 連接模擬器并啟動淘寶APP(超詳解)本文以淘寶app為例,通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2019-06-06
Python使用cx_Oracle模塊將oracle中數(shù)據(jù)導(dǎo)出到csv文件的方法
這篇文章主要介紹了Python使用cx_Oracle模塊將oracle中數(shù)據(jù)導(dǎo)出到csv文件的方法,涉及Python中cx_Oracle模塊與csv模塊操作Oracle數(shù)據(jù)庫及csv文件的相關(guān)技巧,需要的朋友可以參考下2015-05-05
matlab和Excel的數(shù)據(jù)交互操作(非xlsread和xlswrite)
在使用MATLAB時,可能會遇到很多表格數(shù)據(jù)的處理,有時MATLAB也需要利用現(xiàn)存的表格數(shù)據(jù)實現(xiàn)操作目的,下面這篇文章主要給大家介紹了關(guān)于matlab和Excel的交互操作的相關(guān)資料,非xlsread和xlswrite,需要的朋友可以參考下2021-08-08

