Pytorch載入模型時報錯

2021-10-01 18:56:27 字數 996 閱讀 7479

報錯截圖如下:

反覆排查問題沒發現為何如此,檢視pytorch中文文件發現儲存和載入模型方法都完全正確,模型儲存和載入**對比中文文件截圖如下:

其中乙個方法是在載入模型時新增引數strict=false,可以只保留鍵值相同的引數避免出錯,用法如下:model.load_state_dict(ckpt[『state_dict』],false),注意ckpt是我載入權重時自定義的物件名。

但是繼續訓練發現實際上原有的權重都沒有載入進來,因為沒有鍵值相同的引數。此處行不通

繼續深究發現多乙個module是因為通過多gpu訓練儲存的模型!如果是在cpu訓練的模型則不會帶有module,解決很簡單,在載入權重前先將模型對映到gpu訓練,

model = torch.nn.dataparallel(model)

ckpt = torch.load(args.weights)

model.load_state_dict(ckpt[『state_dict』])

或者還有解決辦法,直接將權重裡面key值中含有的module.刪掉,改寫權重鍵值對

ckpt = torch.load(model_path,map_location=『cpu』)

from collections import ordereddict

new_state_dict = ordereddict()

for k, v in ckpt.items():

name = k[7:] # remove module.

new_state_dict[name] = v

model.load_state_dict(new_state_dict)

載入GOOGLE地圖時報錯

b 載入google地圖的js檔案時報錯 b 這是我的第一篇部落格,寫的不好請大家多多包涵。今天在做乙個頁面中加入google地圖時遇到乙個問題,當我按照google map 開發者指南上面的步驟進行操作後,在瀏覽器中預覽時,頁面就總是出現js的錯誤,缺少分號。我挺鬱悶的,在另外的頁面都可以,但在我...

pytorch載入模型與凍結

weights torch.load path with open a.pkl wb as f pickle.dump score dict,f weights pickle.load f 直接載入 model.load state dict weights 字典生成式載入 self.load st...

pytorch 載入預訓練模型

pytorch的torchvision中給出了很多經典的預訓練模型,模型的引數和權重都是在imagenet資料集上訓練好的 載入模型 方法一 直接使用預訓練模型中的引數 import torchvision.models as models model models.resnet18 pretrai...