![](/img/trans.png)
[英]pretrained model error ? 'collections.OrderedDict' object has no attribute 'eval'
[英]load a pretrained model pytorch - dict object has no attribute eval
def save_checkpoint(state, is_best, filename='checkpoint.pth.tar'):
torch.save(state, filename)
if is_best:
shutil.copyfile(filename, 'model_best.pth.tar')
save_checkpoint({
'epoch': epoch + 1,
'arch': args.arch,
'state_dict': model.state_dict(),
'best_prec1': best_prec1,
'optimizer': optimizer.state_dict()
}, is_best)
我正在像這樣保存我的模型。 如何加載模型以便我可以在其他地方使用它,比如 cnn 可視化?
這就是我現在加載模型的方式:
torch.load('model_best.pth.tar')
但是當我這樣做時,我收到此錯誤:
AttributeError: 'dict' 對象沒有屬性 'eval'
我在這里錯過了什么???
編輯:我想使用我訓練的模型來可視化過濾器和梯度。 我正在使用這個repo來制作 vis。 我用torch.load('model_best.pth.tar')
替換了第 179 行
首先,您已經說明了您的模型。 torch.load() 為您提供了一本字典。 那本字典沒有 eval 函數。 所以你應該將權重上傳到你的模型。
import torch
from modelfolder import yourmodel
model = yourmodel()
checkpoint = torch.load('model_best.pth.tar')
try:
checkpoint.eval()
except AttributeError as error:
print error
### 'dict' object has no attribute 'eval'
model.load_state_dict(checkpoint['state_dict'])
### now you can evaluate it
model.eval()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.