torch optim

1.ReduceLROnPlateau

class torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode, factor, patience, verbose, threshold, threshold_mode,cooldown, min_lr, eps=)
当模型的指标停止增加的时候,可以适当降低LR,在Patience时间内模型没有改进的时候,LR会降低。

optimizer - 网络的优化器
mode - default ‘min’
‘min’ - 监控量停止下降的时候,学习率将减小
‘max’ - 监控量停止上升的时候,学习率将减小 为’min’
factor - 学习率每次降低倍数,new_lr = old_lr * factor
patience - 容忍网路的性能不提升的次数,高于这个次数就降低学习率
verbose - True,则为每次更新向stdout输出一条消息。 default False
threshold - 测量新最佳值的阈值,仅关注重大变化。 default 1e-4
cooldown - 减少lr后恢复正常操作之前要等待的时期数。 default 0。
min_lr - 学习率的下限
eps - 适用于lr的最小衰减。 如果新旧lr之间的差异小于eps,则忽略更新。 default 1e-8。

2.CosineAnnealingWarmRestarts

一个周期性的余弦下降策略。每经过T0次重启一下。
在这里插入图片描述
T0:重启周期
Tmult:T_0增加的因子,每次重启之后周期增加。
etamin:LR的最小值。

3.StepLR

规定了一个特殊的LambdaLR方式,每step_size步之后衰减gamma。多个参数组共用Step_size和gamma,同时Step_size固定。

# Assuming optimizer uses lr = 0.05 for all groups
# lr = 0.05     if epoch < 30
# lr = 0.005    if 30 <= epoch < 60
# lr = 0.0005   if 60 <= epoch < 90
# ...
scheduler = StepLR(optimizer, step_size=30, gamma=0.1)
for epoch in range(100):
    train(...)
    validate(...)
    scheduler.step()

引用补充:https://www.jianshu.com/p/424d9a1e5ced
使用SGD时注意结合monument,一般大学习率加大动量,结合reduce或者余弦优化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值