pytorch中深度拷贝_PyTorch入门学习(六):model的保存与加载

本文介绍了PyTorch中模型的保存和加载,推荐使用保存模型参数的方式,以节省空间并提供灵活性。详细解析了如何通过深度拷贝实现模型参数的迁移,包括处理不同模型结构和参数大小的情况,并提供了一个实用的函数示例。
摘要由CSDN通过智能技术生成

写在前面

未经允许,不得转载,谢谢~~

模块的存储与加载这个工作对于神经网络的训练还是非常重要的。当网络层数多了之后,训练起来就会很耗时。如果没有及时保存模型,那么在时间上的损失真的是很大的。

模型保存与加载

利用PyTorch可以很方便的进行模型的保存和加载,主要有以下两种方式。

方法1:保存加载整个模型

# save model

torch.save(model,'mymodel.pkl')

# load model

model=torch.load('mymodel.pkl')

方法2:仅保存加载模型参数(推荐)

# save model parameters

torch.save(model.state_dict(), 'mymodel.pkl')

# load save model parameters

model_object.load_state_dict(torch.load('mymodel.pkl'))

可以想一下为什么会推荐第二种方式呢?

相比较于保存整个模型而言,仅保存模型参数的做法应该不仅节省空间,更有灵活性的优势。

可以取出特定层的参数,这一点在已经训练好的模型上取与现有模型相同层的参数上应该有帮助。

不过这个还没有实验验证,等后面碰到再更新哇⊙⊙

更新贴~~~~~~

方法3:加载别的模型中相同的网络参数至新的模型

这个方法在科研上还是很有帮助的,可以用已经训练好的网络参数作为自己模型的网络权重的初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值