首页 > 其他 > 详细

深度之眼PyTorch训练营

时间:2019-11-20 18:31:18      阅读:432      评论:0      收藏:0      [点我收藏+]

一、PyTorch的六种学习率调整策略

class_LRScheduler

主要属性:

  • optimizer:关联的优化器
  • last_epoch:记录epoch数
  • base_lrs:记录初始学习率

主要方法:

  • step():更新下一个epoch的学习率
  • get_lr():虚函数,计算下一个epoch的学习率

学习率调整

1、StepLR

功能:等间隔调整学习率

主要参数:

  • step_size:调整间隔数
  • gamma:调整系数

调整方式:lr = lr * gamma

2、MultiStepLR

功能:按给定间隔调整学习率

主要参数:

milestones:设定调整时刻数

gamma:调整系数

3、ExponetialLR

功能:按指数衰减调整学习率

主要参数:

gamma:指数的底

调整方式:lr = lr * gamma ** epoch

4、CosineAnnealingLR

功能:余弦周期调整学习率

主要参数:

T_max:下降周期

eta_min:学习率下降

调整方式:技术分享图片

 

 5、ReduceLRonPlateau

功能:监控指标,当指标不再变化则调整

主要参数:

mode:min/max 两种模式

factor:调整系数

patience:“耐心”,接受几次不变化

cooldown:“冷却时间”,停止监控一段时间

verbose:是否打印日志

min_lr:学习率下限

eps:学习率衰减最小值

6、LambdaLR

功能:自定义调整策略

主要参数:

lr_lambda:function or list

 

小结:

1、有序调整:Step、MultiStep、Exponential 和 CosineAnnealing

2、自适应调整:ReduceLROnPleateau

3、自定义调整:Lambda

 

学习率初始化:

1、设置较小数:0.01、0.001、0.0001

2、搜索最大学习率:

深度之眼PyTorch训练营

原文:https://www.cnblogs.com/cola-1998/p/11899493.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!