我正在使用:
ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=50)
当我降低学习率值时,如何增加纪元数。
我希望在开始时lr = 0.2时有耐心= 50,并且随着学习率的降低,历元数最多(例如,当lr = 0.02时耐心= 100,当lr = 0.002时耐心= 1000)当lr较小时,可以给算法更多时间。
答案 0 :(得分:1)
我相信通过本质上复制Keras的代码并对其进行修改来实现自己的ReduceLROnPlateau类是可能的。
This is the class,您将复制并修改。
将类签名更改为:
class ReduceLROnPlateau(Keras.callbacks.Callback)
然后查找将等待时间与耐心进行比较并降低LR的行。修改这些行以在LR达到某个值时设置耐心。
最后,在回调中使用此类,而不是Keras的ReduceLROnPlateau。