最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題

 更新時間:2020年01月10日 16:01:08   作者:weired_cat  
今天小編就為大家分享一篇解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

這是一個非常愚蠢的錯誤

debug的時候要好好看error信息

提醒自己切記好好對待error!切記!切記!

-----------------------分割線----------------

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

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

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

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

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

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

我當(dāng)下明白過來,應(yīng)該是test文件中沒有把它import進(jìn)來,test中就沒有任何關(guān)于Net的信息。我直接把定義的Net復(fù)制進(jìn)了test.py,就順利加載了訓(xùn)練好的模型。

但是我也有一個疑問,我理解的把整個模型保存難道不是把它的結(jié)構(gòu)都保存下來了么?為什么還要再把這個網(wǎng)絡(luò)import一次?來自python、pytorch、面向?qū)ο缶幊倘卧“椎囊苫?,先存?zhèn)€疑,搞懂了再來回答。

接下來試試只保存網(wǎng)絡(luò)參數(shù)

#只保存網(wǎng)絡(luò)參數(shù)
torch.save(your_net.state_dict(), 'save_name.pkl')
#加載保存的模型
net.load_state_dict(torch.load('save_name.pkl'))

保存網(wǎng)絡(luò)參數(shù)

重新定義網(wǎng)絡(luò)

報錯

想死。。。

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

print一下 net.state_dict和net.state_dict(),前者輸出的是網(wǎng)絡(luò)結(jié)構(gòu),后者才是網(wǎng)絡(luò)的參數(shù)。

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

那就繼續(xù)存疑,保持探究精神吧。。

以上這篇解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

江油市| 福安市| 庆阳市| 子长县| 定南县| 神农架林区| 民勤县| 乌审旗| 彭泽县| 栖霞市| 勐海县| 逊克县| 滦南县| 静乐县| 忻州市| 武冈市| 五莲县| 东阿县| 龙门县| 宁乡县| 大安市| 临西县| 芒康县| 习水县| 桂东县| 襄城县| 怀来县| 水城县| 怀远县| 辽中县| 夏河县| 东方市| 霸州市| 隆昌县| 威海市| 昌都县| 通辽市| 沂源县| 改则县| 南部县| 墨脱县|