pytorch中模型的保存与加载

参考:https://blog.csdn.net/tfygg/article/details/70227388

特别开心的训练出来10个模型,准备加载画confusion_matrix…然后就遇到了下面的问题:
AttributeError: ‘VGG’ object has no attribute 'copy’
原来是由于下面这个原因:模型的保存与加载的方式不对应!

1.torch.save()实现对网络结构和模型参数的保存。有两种保存方式:一是保存整个神经网络的的结构信息和模型参数信息,save的对象是网络net;二是只保存神经网络的训练模型参数,save的对象是net.state_dict()。

    torch.save(net1, '7-net.pth')                     # 保存整个神经网络的结构和模型参数  
    torch.save(net1.state_dict(), '7-net_params.pth') # 只保存神经网络的模型参数  

我的代码中是这样写的:
'net': net.state_dict() if use_cuda else net
如果用gpu的话,就只保存网络的训练模型参数
如果用cpu的话,就保存整个网络的结构信息和模型参数信息

2.对应上面两种保存方式,重载方式也有两种。对应第一种完整网络结构信息,重载的时候通过checkpoint=torch.load(‘.pth’),net=checkpoint[‘net’]直接初始化新的神经网络对象即可。对应第二种只保

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值