ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【转载】 Pytorch(0)降低学习率torch.optim.lr_scheduler.ReduceLROnPlateau类

2019-03-31 09:43:10  阅读:1708  来源: 互联网

标签:ReduceLROnPlateau min optim torch 学习 lr scheduler factor 默认值


原文地址:

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)

 

标签:ReduceLROnPlateau,min,optim,torch,学习,lr,scheduler,factor,默认值
来源: https://www.cnblogs.com/devilmaycry812839668/p/10630250.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有