zoukankan      html  css  js  c++  java
  • 【转载】 Pytorch(0)降低学习率torch.optim.lr_scheduler.ReduceLROnPlateau类

    原文地址:

    https://blog.csdn.net/weixin_40100431/article/details/84311430

    ------------------------------------------------------------------------------------------------

    当网络的评价指标不在提升的时候,可以通过降低网络的学习率来提高网络性能。所使用的类

    class torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, verbose=False, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08)

    其中

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

    注意

    使用的时候需要选择网络的度量指标,使用如下类的step方法实现,例子如下:

    栗子:

    optimizer = torch.optim.SGD(model.parameters(), lr=0.01) 
    scheduler = ReduceLROnPlateau(optimizer, 'min',factor=0.5, patience=4, verbose=True) .....

    scheduler.step(train_loss)
    # scheduler.step(val_loss)
  • 相关阅读:
    Perl Resources
    使用Perl管理Oracle数据库
    Tomcat 发布部署jsp网站—-使用自己的ip访问jsp网站
    Lode's Computer Graphics Tutorial Image Filtering
    Java Image Filters
    ZPhotoEngine超级算法库
    ps亮度对比度算法
    滤镜艺术---新海诚(你的名字)滤镜特效的实现解密
    Cocoa-GL-Tutorial
    Learning Cocoa with Objective-C
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/10630250.html
Copyright © 2011-2022 走看看