Pytorch測(cè)試神經(jīng)網(wǎng)絡(luò)時(shí)出現(xiàn)“RuntimeError: Error(s) in loading state_dict for Net”
解決方法:
load_state_dict(torch.load('net.pth')
在前,增加
model = nn.DataParallel(model)
就可以了。
比如
net = NET()
net.cuda()
net = nn.DataParallel(net)
net.load_state_dict(torch.load('net.pth')
補(bǔ)充:解決RuntimeError: Error(s) in loading state_dict for XXXX
在運(yùn)行代碼時(shí)遇到了這個(gè)錯(cuò)誤,顯示錯(cuò)誤對(duì)應(yīng)代碼中的state_dict,找到對(duì)應(yīng)的語句
修改前:
net.load_state_dict(torch.load(model_para_path))
修改后:
net.load_state_dict(torch.load(model_para_path),False)
我遇到的問題得到解決。經(jīng)查閱資料,我理解的原因是state_dict的四個(gè)參數(shù)之一:_module 可以用來判斷模型當(dāng)前運(yùn)行環(huán)境與之前是否相同,在默認(rèn)情況下是True(純屬個(gè)人理解,勿噴)
補(bǔ)充:使用Pytorch訓(xùn)練模型出現(xiàn)RuntimeError: CUDA out of memory錯(cuò)誤解決
訓(xùn)練:
由于GPU顯存資源有限,訓(xùn)練輸入的batchsize不能過大,過大會(huì)導(dǎo)致out of memory錯(cuò)誤。
解決方案:
將batchsize減小,甚至是為1
測(cè)試時(shí)出現(xiàn)此問題解決方案:
在測(cè)試代碼之前使用 with torch.no_grad():
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- linux或windows環(huán)境下pytorch的安裝與檢查驗(yàn)證(解決runtimeerror問題)
- 解決Pytorch 訓(xùn)練與測(cè)試時(shí)爆顯存(out of memory)的問題
- 解決Pytorch 加載訓(xùn)練好的模型 遇到的error問題