深度学习训练之学习率LR系统总结

1、StepLR

先上API:

# optimizer:优化器
# step_size:每隔多少epoch改变学习率lr
# gamma=0.1:训练到这一部分epoch×上一epoch的lr
torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1,last_epoch=-1, verbose=False)

关于gamma=0.1,也就是说1-10个epoch,lr=0.1,则10-20的lr为0.1×0.1;
在这里插入图片描述

2、MultiStepLR

torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones,gamma=0.1, last_epoch=-1, verbose=False)

只对StepLR的API里面的step_size进行改动,变为milestones,milestones可以设置为[10,40,60],即是指前10个epoch的lr为0.1,10-40的epoch为0.1×0.1,40-60的epoch的lr为0.1×0.1×0.1,
在这里插入图片描述

注: 大多数都采用此方法;

3、ExponentialLR

API:

torch.optim.lr_scheduler.ExponentialLR(optimizer, gamma, last_epoch=-1, verbose=False)

在这里插入图片描述
此方法容易造成过早的停止训练,学习率更新方式为: l r = l r × γ e p o c h lr=lr×\gamma^{epoch} lr=lr×γepoch

4、CosineAnnealingLR

API:

torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max,eta_min=0,last_epoch=-1,verbose=False)

学习率更新公式为:在这里插入图片描述
η m i n \eta_{min} ηmin为设定的最小学习率,
η m a x \eta_{max} ηmax为设置的最大学习率,
T m a x T_{max} Tmax为epoch周期的一半,
T c u r T_{cur} Tcur为当前的epoch,
在这里插入图片描述

5、CyclicLR

6、ReduceLROnPlateau

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值