Pytorch保存模型用于测试和用于继续训练的区别详解


Posted in Python onJanuary 10, 2020

保存模型

保存模型仅仅是为了测试的时候,只需要

torch.save(model.state_dict, path)

path 为保存的路径

但是有时候模型及数据太多,难以一次性训练完的时候,而且用的还是 Adam优化器的时候, 一定要保存好训练的优化器参数以及epoch

state = { 'model': model.state_dict(), 'optimizer':optimizer.state_dict(), 'epoch': epoch }  
torch.save(state, path)

因为这里

def adjust_learning_rate(optimizer, epoch):
  lr_t = lr
  lr_t = lr_t * (0.3 ** (epoch // 2))
  for param_group in optimizer.param_groups:
    param_group['lr'] = lr_t

学习率是根据epoch变化的, 如果不保存epoch的话,基本上每次都从epoch为0开始训练,这样学习率就相当于不变了!!

恢复模型

恢复模型只用于测试的时候,

model.load_state_dict(torch.load(path))

path为之前存储模型时的路径

但是如果是用于继续训练的话,

checkpoint = torch.load(path)
model.load_state_dict(checkpoint['model'])
optimizer.load_state_dict(checkpoint['optimizer'])
start_epoch = checkpoint['epoch']+1

依次恢复出模型 优化器参数以及epoch

以上这篇Pytorch保存模型用于测试和用于继续训练的区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
11个并不被常用但对开发非常有帮助的Python库
Mar 31 Python
Ubuntu下安装PyV8
Mar 13 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
元组列表字典(莫烦python基础)
Apr 03 Python
Python3.5 Pandas模块之DataFrame用法实例分析
Apr 23 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
python利用platform模块获取系统信息
Oct 09 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 #Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 #Python
Ubuntu16.04安装python3.6.5步骤详解
Jan 10 #Python
Pytorch 保存模型生成图片方式
Jan 10 #Python
在pytorch中对非叶节点的变量计算梯度实例
Jan 10 #Python
python如何获取apk的packagename和activity
Jan 10 #Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
Jan 10 #Python
You might like
可快速识别放射性物质-国外大神教你diy一个开放式辐射探测器
2020/03/12 无线电
php中的curl_multi系列函数使用例子
2014/07/29 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
Vue.js图片预览插件使用详解
2018/08/27 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
微信小程序select下拉框实现源码
2019/11/08 Javascript
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
python实现给微信公众号发送消息的方法
2017/06/30 Python
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
python实现爬取图书封面
2018/07/05 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
Windows10下 python3.7 安装 facenet的教程
2019/09/10 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
电子商务专业个人的自我评价
2013/12/19 职场文书
质量月活动策划方案
2014/03/10 职场文书
化验员岗位职责
2015/02/14 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
canvas实现贪食蛇的实践
2022/02/15 Javascript