zoukankan      html  css  js  c++  java
  • 深度之眼PyTorch训练营第二期---11、学习率的调整

    一、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、搜索最大学习率:

  • 相关阅读:
    2019.9.4 二维树状数组
    2019.9.4 简单题
    0052-YH的计算器
    0051-打乱顺序的三位数
    0050-计算天数
    0049-学校的上网费
    0048-三角形的判断
    0047-月份转换
    0046-简单的分段函数(二)
    0045-简单的分段函数(一)
  • 原文地址:https://www.cnblogs.com/cola-1998/p/11899493.html
Copyright © 2011-2022 走看看