Pytorch-学习率调整策略Scheduler

class_LRScheduler

在这里插入图片描述

主要方法

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

在这里插入图片描述

学习率调整

1.StepLR 等间隔调整学习率
在这里插入图片描述

2.MultiStepLR 按给定间隔调整学习率
在这里插入图片描述
3.按照指数衰减调整学习率
在这里插入图片描述
在这里插入图片描述

4.CosineAnnealingLR
诡异的学习率
在这里插入图片描述
在这里插入图片描述
5.ReduceLRonPlateau
在这里插入图片描述
这个和keras的ReduceLearningRate很像

需要注意的是,在scheduler_lr的step方法中必须输入要监控的值

scheduler_lr=optim.lr_scheduler.ReduceLROnPlateau(optimizer,factor=0.1,mode='min',patience=10,cooldown=10,min_lr=1e-4,verbose=True)
scheduler_lr.step(loss.val)

关于mode的说明,min表示观察是否下降,max模式表示观察是否上升,所以Min通常用来表示loss,max通常用来表示accuracy

6.LambdaLR
在这里插入图片描述

lambda1=lambda epoch:0.1**(epoch//20)
lambda2=lambda epoch:0.95** epoch

scheduler=torch.optim.lr_scheduler.LambdaLR(optimizer,lr_lambda=[lambda1,lambda2])
#在之后的训练循环中执行
scheduler.step()

学习率调整小结

  1. 有序调节:Step,MultiStep,Exponential,CosineAnnealing
  2. 自适应调整:ReduceLROnPleatu
  3. 自定义调整:Lambda

搜索最大学习率

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值