pytorch==1.6.0的框架下保存模型时,若想让模型在整个训练过程之后的预测过程中加载模型,不能使用torch.save(model.state_dict(),model_path)
,该语句只保存了模型的权重参数未保存整个模型,torch.load()
时候会报错
'collections.OrderedDict' object has no attribute 'eval'
正确语句应当为
#保存时
torch.save(model,'save_path')
#加载时
torch.load('save_path/model')
若是在模型训练过程中model变量还未丢弃只想传递模型参数则用
#保存时
torch.save(model.state_dict(),'save_path')
#加载时
torch.load_state_dict('save_path/model')
否则会报错
torch.nn.modules.module.ModuleAttributeError: 'Model' object has no attribute 'copy'