91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pytorch加載訓練好的模型遇到error問題怎么辦

發布時間:2021-08-04 10:26:42 來源:億速云 閱讀:120 作者:小新 欄目:開發技術

這篇文章主要介紹了Pytorch加載訓練好的模型遇到error問題怎么辦,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

pytorch 已經非常友好了 保存模型和加載模型都只需要一條簡單的命令

#保存整個網絡和參數
torch.save(your_net, 'save_name.pkl')
#加載保存的模型
net = torch.load('save_name.pkl')

因為我比較懶我就想直接把整個網絡都保存下來,然后在test文件中直接load一下不就好了?

Pytorch加載訓練好的模型遇到error問題怎么辦

就遭受了這樣的錯誤。看錯了error信息,把‘Net'看成‘net'。報錯沒有屬性‘net'?這個不是我自己寫的變量名么?

-----------------瞎搗鼓1h后(呵呵呵)----------------

回頭看error,沒有屬性‘Net',Net???

Pytorch加載訓練好的模型遇到error問題怎么辦

我當下明白過來,應該是test文件中沒有把它import進來,test中就沒有任何關于Net的信息。我直接把定義的Net復制進了test.py,就順利加載了訓練好的模型。

但是我也有一個疑問,我理解的把整個模型保存難道不是把它的結構都保存下來了么?為什么還要再把這個網絡import一次?來自python、pytorch、面向對象編程三次元小白的疑惑,先存個疑,搞懂了再來回答。

接下來試試只保存網絡參數

#只保存網絡參數
torch.save(your_net.state_dict(), 'save_name.pkl')
#加載保存的模型
net.load_state_dict(torch.load('save_name.pkl'))

保存網絡參數

Pytorch加載訓練好的模型遇到error問題怎么辦

重新定義網絡

Pytorch加載訓練好的模型遇到error問題怎么辦

報錯

Pytorch加載訓練好的模型遇到error問題怎么辦

想死。。。

仔細看了報錯信息,以我小白的理解,我感覺保存下來的可能只是單純的數據,而不是一個對象(沒有方法可以操作),或者該對象沒有.copy()方法,所以沒有辦法進行.copy(),那肯定是保存哪里出錯了。然后發現保存部分代碼寫錯了,改成

Pytorch加載訓練好的模型遇到error問題怎么辦

print一下 net.state_dict和net.state_dict(),前者輸出的是網絡結構,后者才是網絡的參數。

試著回答之前的問題,第二種保存模型的方法只保存了網絡的參數(包括卷積層和全連接層每次的weight,bias),所以再加載模型的時候需要先定義網絡無可厚非,就像訓練時候定義網絡那樣定義就可以;而第一種保存整個網絡的方法,保存了一個網絡的實例(包括它的所有結構和參數),net是Net的一個實例,那為什么還要有Class Net的定義呢,還是回答不了。。

那就繼續存疑,保持探究精神吧。。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Pytorch加載訓練好的模型遇到error問題怎么辦”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂伦春自治旗| 突泉县| 汶川县| 新泰市| 股票| 静乐县| 锦屏县| 广平县| 钟山县| 改则县| 同心县| 白朗县| 黄大仙区| 乌兰浩特市| 山阴县| 永昌县| 沅陵县| 鄂伦春自治旗| 延川县| 当涂县| 富宁县| 陆丰市| 达拉特旗| 遵义市| 迁西县| 舞钢市| 和政县| 青浦区| 上饶县| 黎川县| 阜南县| 济源市| 昭觉县| 肇庆市| 武胜县| 新野县| 明溪县| 阜南县| 开远市| 淮南市| 黑河市|