用tf.train.exponential_decay调节learning rate

在训练深度学习模型时遇到损失(loss)无法有效下降的问题,发现是学习率设置不当。原始论文中学习率为1e-3,而预训练模型使用的是1e-4。尝试使用tf.train.exponential_decay动态调整学习率,该函数根据全局步数(global_step)和衰减步数(decay_steps)按特定衰减率(decay_rate)递减学习率。原来设置的decay_steps可能导致学习率在需要调整时未及时变化。解决方案是根据每个epoch动态调整decay_steps,以更早地适应数据集的需求。
摘要由CSDN通过智能技术生成

事情的起因是这样,训练了一个模型发现Loss一直下不去,看了loss曲线以为收敛了。结果在测试数据上一塌糊涂,再跑去训练集上跑测试,结果当然比测试的好,但是很明显看出来没有训练好,因为有太过的FP。
耐心的翻了一下原始paper,发现用的learningrate 不一样,原因是原始paper是没有用Pretrain模型,而自己用了vgg pretrain 模型。paper:learning rate = 1e-3.自己是learning rate = 1e-4
一开始觉得没有错呀,如果从随机开始训练是需要一个大一些的learning rate, 如果只是finetune是需要一个小一些的learning rate,让模型更新的步子迈的小一些。看来这个不是问题的根本。然后看到自己写的那tf.train.exponential_decay。 这个是一个调节Leaning rate的一个函数

learning_rate = tf.train.exponential_decay(FLAGS.learning_rate, global_step, decay_steps=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值