keras 学习率设置「建议收藏」

keras 学习率设置「建议收藏」转载自https://blog.csdn.net/zzc15806/article/details/79711114Keras提供两种学习率适应方法,可通过回调函数实现。1.LearningRateSchedulerkeras.callbacks.LearningRateScheduler(schedule)该回调函数是学习率调度器.参数   schedule:函数,该函数…

大家好,又见面了,我是你们的朋友全栈君。

转载自https://blog.csdn.net/zzc15806/article/details/79711114

Keras提供两种学习率适应方法,可通过回调函数实现。
1. LearningRateScheduler

keras.callbacks.LearningRateScheduler(schedule)

该回调函数是学习率调度器.
参数

    schedule:函数,该函数以epoch号为参数(从0算起的整数),返回一个新学习率(浮点数)

代码

   

import keras.backend as K
    from keras.callbacks import LearningRateScheduler
     
    def scheduler(epoch):
        # 每隔100个epoch,学习率减小为原来的1/10
        if epoch % 100 == 0 and epoch != 0:
            lr = K.get_value(model.optimizer.lr)
            K.set_value(model.optimizer.lr, lr * 0.1)
            print("lr changed to {}".format(lr * 0.1))
        return K.get_value(model.optimizer.lr)
     
    reduce_lr = LearningRateScheduler(scheduler)
    model.fit(train_x, train_y, batch_size=32, epochs=5, callbacks=[reduce_lr])

2. ReduceLROnPlateau

keras.callbacks.ReduceLROnPlateau(monitor=’val_loss’, factor=0.1, patience=10, verbose=0, mode=’auto’, epsilon=0.0001, cooldown=0, min_lr=0)

当评价指标不在提升时,减少学习率

当学习停滞时,减少2倍或10倍的学习率常常能获得较好的效果。该回调函数检测指标的情况,如果在patience个epoch中看不到模型性能提升,则减少学习率
参数

    monitor:被监测的量
    factor:每次减少学习率的因子,学习率将以lr = lr*factor的形式被减少
    patience:当patience个epoch过去而模型性能不提升时,学习率减少的动作会被触发
    mode:‘auto’,‘min’,‘max’之一,在min模式下,如果检测值触发学习率减少。在max模式下,当检测值不再上升则触发学习率减少。
    epsilon:阈值,用来确定是否进入检测值的“平原区”
    cooldown:学习率减少后,会经过cooldown个epoch才重新进行正常操作
    min_lr:学习率的下限

 代码

    from keras.callbacks import ReduceLROnPlateau
    reduce_lr = ReduceLROnPlateau(monitor='val_loss', patience=10, mode='auto')
    model.fit(train_x, train_y, batch_size=32, epochs=5, validation_split=0.1, callbacks=[reduce_lr])

———————
作者:z小白
来源:CSDN
原文:https://blog.csdn.net/zzc15806/article/details/79711114
版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142715.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • critic法计算_基于CRITIC法和变异系数法的导线网测量平差定权 2[通俗易懂]

    critic法计算_基于CRITIC法和变异系数法的导线网测量平差定权 2[通俗易懂]基于CRITIC法和变异系数法的导线网测量平差定权杨腾飞,施昆,汪奇生(昆明理工大学国土资源工程学院,云南昆明650093)【摘要】CRITIC与变异系数定权都是一种客观的定权方法,能克服常规经验定权的不足。本文将这两种客观定权方法引入导线网平差中,并与常规定权方法进行比较。由应用实例可验证其优越性。【关键词】客观定权;导线网;CRITIC;变异系数【中图分类号】【文献标识码】【文章编号】Trav…

    2022年5月24日
    40
  • C#里面文本的三种换行方式「建议收藏」

    C#里面文本的三种换行方式

    2022年3月7日
    49
  • cvpr目标检测_目标检测指标

    cvpr目标检测_目标检测指标论文年份:2016,论文被引:12032(2022/05/03)

    2025年6月20日
    4
  • python浪漫表白源码(附带详细教程)_python浪漫表白源码

    python浪漫表白源码(附带详细教程)_python浪漫表白源码python浪漫表白代码示例代码:importturtleimportrandom#在(x,y)处画爱心lalaladeflove(x,y):lv=turtle.Turtle()lv.hideturtle()lv.up()#定位到(x,y)lv.goto(x,y)#画圆弧defcurvemove():foriinrange(20):lv.r

    2022年9月25日
    3
  • linux搭建sftp服务器 指定端口_linux 防火墙开放端口

    linux搭建sftp服务器 指定端口_linux 防火墙开放端口如何在Linux系统中如何更改SFTP端口SFTP(SSH文件传输协议)是一种安全文件协议,用于通过加密连接在两个主机之间传输文件。它还允许您对远程文件执行各种文件操作并恢复文件传输。SFTP可以替代旧版FTP协议。它具备FTP的所有功能,但连接更加安全。本文详情了如何在Linux中更改默认的SFTP端口。我们还将向您展现如何配置防火墙以允许在新端口上使用。SFTP默认使用的端口SF…

    2025年11月18日
    5
  • 104规约总结「建议收藏」

    104规约总结「建议收藏」一.概念遥测:远程测量。采集并传送运行参数,包括各种电气量(线路上的电压、电流、功率等量值)和负荷潮流等。遥控:远程控制。接受并执行遥控命令,主要是分合闸,对远程的一些开关控制设备进行远程控制。遥信:远程信号。采集并传送各种保护告警和开关量信息。遥调:远程调节。接受并执行遥调命令,对远程的控制量设备进行远程调试,如调节发电机输出功率。二.基地址对比类别1997版基地址2002版基地址遥信1H—-400H1H—-4000H遥测701H–

    2022年6月20日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号