深度学习中模型权重数据读取、保存

本文介绍了深度学习模型权重数据的读取和保存的重要性,如在长时间训练中断后继续,以及利用迁移学习提升训练效果。文章详细讨论了模型保存与加载的三种方式,包括状态字典的概念,以及如何在PyTorch中操作。此外,还提到了冻结部分参数训练和不同学习率训练的场景,并提供了一段测试代码用于实际操作。
摘要由CSDN通过智能技术生成

优点:

1.长时间的训练,如果发生中断,继续训练时直接读取
2.通过迁移学习,利用别人训练好的数据进行训练,提高训练效果

三个方面说明

1.模型保存与加载
2.冻结一部分参数,训练另一部分参数
3.采用不同的学习率进行训练

模型保存与加载

模型保存与加载的三种方式

# 方式一:保存与加载整个state_dict(推荐)
torch.save(model.state_dict(), PATH)
model.load_state_dict(torch.load(PATH))  # 继承自torch.nn.Module.load_state_dict
# 测试时不启用BatchNormalization 和DropOut
model.eval()
# 方式二:保存加载整个模型
torch.save(model, PATH)
model = torch.load(PATH)
model.eval()
# 方式三:保存用于继续训练的checkpoint或者多个模型
torch.save({
   'epoch': epoch, 'model_state_dict': model.state_dict(),
			'optimizer_state_dict': optimizer.state_dict(), 'loss': loss,
			 ...}, PATH)
checkpoint = torch.load(PATH)
start_epoch = checkpoint['epoch']
model.load_state_dict(chechpoint['model_state_dict'])
# 训练时
model.train()
# 测试时
model.eval
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值