你好@w4nderlust,
有没有计划在学习率调度器中实现史密斯的一周期政策?( https://arxiv.org/pdf/1803.09820.pdf )
我看到目前默认的策略是退火学习率(或批量大小)。自从一周期调度器被引入以来,它已经显示出了非常好的结果,而且似乎比其他调度器更快地收敛。
你好@w4nderlust,
有没有计划在学习率调度器中实现史密斯的一周期政策?( https://arxiv.org/pdf/1803.09820.pdf )
我看到目前默认的策略是退火学习率(或批量大小)。自从一周期调度器被引入以来,它已经显示出了非常好的结果,而且似乎比其他调度器更快地收敛。
7条答案
按热度按时间jtw3ybtb1#
为什么不尝试提交一个PR呢? :)所有相关的代码都在train函数中:https://github.com/uber/ludwig/blob/master/ludwig/models/model.py#L267
f0ofjuux2#
很遗憾,我对TensorFlow并不熟悉。
此外,在PyTorch中已经实现了(https://pytorch.org/docs/stable/optim.html#torch.optim.lr_scheduler.OneCycleLR),但在TensorFlow中我不知道从哪里开始,我找不到等效的实现。
sh7euo9m3#
@w4nderlust 我很乐意参与这个项目,如果没有人的话。
blmhpbnm4#
@lordeddard,那太好了。首先,我建议你查看model.py中的训练功能。你可以访问这个链接:https://github.com/uber/ludwig/blob/master/ludwig/models/model.py#L293 ,看看那里是如何处理学习率的。一旦弄清楚了这一点,我们就可以讨论如何实现一周期政策。
bkkx9g8r5#
你好,@w4nderlust ,上周有点忙。是的,我会看一下那个,并多读一些关于一个周期政策的内容,讨论一下实施情况。谢谢!
unhi4e5o6#
你好,w4nderlust。我已经查看了
model.py
中的train函数。在这个行中计算了每个批次/步骤的学习率。实际的学习率值将从这里开始。我假设我们在同一个文件中添加了代码来计算学习率。xoshrz7s7#
假设在模型的train()函数中有一个名为one_cycle_policy的训练配置参数,我想象它看起来像这样:
$x_{1a0b1}x$