在训练过程中我们一般会使用pytorch已有的学习率调整策略,如:

import torch
import torch.optim as optim
from torchvision.models.resnet import resnet50
net = resnet50(num_classes=1000)
optimizer = optim.Adam(net.parameters(), lr=1e-3)
scheduler = optim.lr_scheduler.MultiStepLR(optimizer, [20, 30, 40, 50], 0.1)
for epoch in range(num_epoch):scheduler.step()train()valid()...

  有时候会因为不可抗拒的外界因素导致训练被中断,在pytorch中恢复训练的方法就是把最近保存的模型重新加载,然后重新训练即可。假设我们从epoch10开始恢复训练,可以利用lr_scheduler的一个参数:

scheduler = optim.lr_scheduler.MultiStepLR(optimizer, [20, 30, 40, 50], 0.1, last_epoch=10)

  这样就不需要手动地去改[20, 30, 40, 50]->[10, 20, 30, 40] 。需要注意的是在optimizer定义参数组的时候需要加入’initial_lr’,不然会报错:

"param 'initial_lr' is not specified in param_groups[*] when resuming an optimizer"

举个粟子:

import torch
import torch.optim as optim
from torchvision.models.resnet import resnet50
net = torch.load('resnet50_epoch10.pth')
optimizer = optim.Adam([{'params': net.parameters(), 'initial_lr': 1e-3}], lr=1e-3)
scheduler = optim.lr_scheduler.MultiStepLR(optimizer, [20, 30, 40, 50], 0.1, last_epoch=10)
for epoch in range(11, num_epoch):scheduler.step()train()valid()...

Pytorch:lr_schedule恢复训练的注意事项相关推荐

  1. pytorch池化maxpool2D注意事项

    注意: 在搭建网络的时候用carpool2D的时候,让高度和宽度方向不同池化时,用如下: nn.MaxPool2d(kernel_size=2, stride=(2, 1), padding=(0, ...

  2. 使用PyTorch加载模型部分参数方法

    前言 在深度学习领域,经常需要使用其他人已训练好的模型进行改进或微调,这个时候我们通常会希望加载预训练模型文件的参数,如果网络结构不变,只需要使用load_state_dict方法即可.而当我们改动网 ...

  3. Pytorch安装指南(cuda、镜像下载)

    文章目录 1. 配置conda虚拟环境 2. 安装Pytorch 2.1 官网安装 2.2 清华镜像安装 2.3 anaconda网站自选安装 3. 验证 参考资料 1. 配置conda虚拟环境 (1 ...

  4. 深度学习入门篇——一、Pytorch环境配置(GPU:GeForce 940MX)

    安装pytorch的几点注意事项: ①确定你的电脑显卡是否支持cuda.可取网站查询:CUDA Zone - Library of Resources | NVIDIA Developerhttps: ...

  5. 深度学习模型的构建三、优化函数optimizer

    深度学习模型的构建三.优化函数optimizer 一.先来看看有哪些优化函数 BGD 批量梯度下降 SGD随机梯度下降 MBGD小批量梯度下降 momentum AdaGrad Adadelta Ad ...

  6. python二级考试报名多少钱_Python语言二级考试你准备好了吗?

    重磅:教育部考试中心已经公布,在计算机二级考试加入"Python语言程序设计"科目,将于2018年9月全国计算机等级考试中首次亮相.这将促进Python在大学生中的普及. 教育部也 ...

  7. pytorch中RNN注意事项(关于input和output维度)

    pytorch中RNN注意事项 batch_first为False的情况下,认为input的数据维度是(seq,batch,feature),output的数据维度(seq,batch,feature ...

  8. pytorch注意事项

    1.在pytorch中,创建好一个模型之后,需要将模型放入cuda才能调用GPU来进行训练. model.to(device) 2.在 pytorch中,使用nn.Conv2d()时, 里面的padd ...

  9. DistributedDataParallel(DDP)Pytorch 分布式训练示例及注意事项

    现在pytorch主流的分布式训练库是DistributedDataParallel,它比Dataparallel库要快,而且前者能实现多机多卡后者只能单机多卡.本文是在单机多卡的环境下执行的分布式训 ...

  10. anaconda3安装注意事项以及pytorch环境配置

    有些做法是将anaconda2和anaconda3都安装了,但我觉得没必要,因为anaconda中可以创建新的环境(python2.7和python3.7)并激活就可使用,所有选其一安装即可. 1 a ...

最新文章

  1. backlight 子系统(转载)
  2. elasticsearch 条件去重_elasticsearch去重计数
  3. PAT1047 编程团体赛 (20 分)
  4. delphi中指针的用法
  5. 准确检测图像的轮廓 opencv_图像处理案例实战
  6. String类的equals()与==的区别
  7. java 日志切面_自定义注解+面向切面整合的日志记录模块(一)
  8. [转]MFC中ON_COMMAND, ON_MESSAGE, ON_NOTIFY它们的区别
  9. 重磅!原清华副校长任职南科大校长:他考研三次,读博七年,想做科研人偶像...
  10. iOS-----------关于UDID
  11. 梦幻西游修炼金钱计算器
  12. Asp.Net MVC访问数据库实现登录
  13. mysql5.7.25安装包,Mysql5.7.25在windows下安装
  14. 【写论文用到的几个偷懒的网站和软件】
  15. eclipse如何修改字体
  16. c语言程序立体几何计算机,立体几何教学中巧妙利用信息技术 -----培养高中学生数学学习的兴趣   张芬     2014年11月10日...
  17. AMBA AXI 协议
  18. angular2 组件
  19. MapReduce处理“大量”图片
  20. 关于《经济学人 —— 人工智能专题报告》的一些解读

热门文章

  1. JAVA计算机毕业设计的问卷调查系统设计与实现源码+数据库+系统+lw文档
  2. ux设计_UX设计趋势回顾展2019
  3. 解决thinkpad sl410 evc windows7硬盘安装ubuntu12.04以后,windows 无线出现断开网速慢等问题
  4. Keepalived HAProxy应用
  5. 为什么编c语言总有一个错误,为什么程序最后总会显示有1个错误
  6. 一文了解肠-器官轴,肠好身体好
  7. kubeadm重新生成admin.conf
  8. 辛弃疾·青玉案·元夕
  9. python模拟内置函数reversed()_Python 3 内置函数 reversed( )
  10. HALCON学习论坛