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

