Pytorch保存和加载参数,错误提示:torch.nn.modules.module.ModuleAttributeError: ‘Unet‘ object has no attribute ‘co

 最近加载函数的时候发生了错误,提示:torch.nn.modules.module.ModuleAttributeError: 'Unet' object has no attribute 'copy'

 

原因可能是对参数保存和读取没有掌握,保存和加载有两种方式,一种是全部打包,另一种是只保存参数,

# 保存和加载整个模型  
torch.save(model_object, 'model.pth')  
model = torch.load('model.pth')  
     
# 仅保存和加载模型参数  
torch.save(model_object.state_dict(), 'params.pth')  
model_object.load_state_dict(torch.load('params.pth'))  

个人建议两个都分别保存一下,需要的时候都能用上

torch.save(model, 'net.pth')

torch.save(model.state_dict(), "param_net.pth")

 

我的原因就是保存了全部,加载的时候用的方式却是只加载参数的方式,所以应该改为

net = torch.load(model_weights, map_location=device)
net.to(device=device)

 

你可能感兴趣的:(pytorch,深度学习)