当学习率降低时,增加时期数

时间:2019-01-24 17:05:30

标签: python keras

我正在使用:

ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=50)

当我降低学习率值时,如何增加纪元数。

我希望在开始时lr = 0.2时有耐心= 50,并且随着学习率的降低,历元数最多(例如,当lr = 0.02时耐心= 100,当lr = 0.002时耐心= 1000)当lr较小时,可以给算法更多时间。

1 个答案:

答案 0 :(得分:1)

我相信通过本质上复制Keras的代码并对其进行修改来实现自己的ReduceLROnPlateau类是可能的。

This is the class,您将复制并修改。

将类签名更改为:

class ReduceLROnPlateau(Keras.callbacks.Callback)

然后查找将等待时间与耐心进行比较并降低LR的行。修改这些行以在LR达到某个值时设置耐心。

最后,在回调中使用此类,而不是Keras的ReduceLROnPlateau。