我在使用验证准确性实现提前停止时有一个疑问。
假设我想在验证准确性在50个轮次后没有提高时停止训练。然而,我可能会在第二个轮次随机获得一个好的验证准确性。例如:
训练准确性:0.76 验证准确性:0.80
可能在训练准确性提高的同时,我无法获得更好的验证准确性。因此,当我在训练上达到99%的准确性时,可能会因为第二个轮次的80%验证准确性太高(轮次 = 52)而停止训练。
我想插入一个偏移量。例如,从第100个轮次开始使用验证准确性进行提前停止。
这在Keras中可能吗?
提前感谢
回答:
Keras的回调非常灵活,因此你可以简单地修改内置的EarlyStopping
回调:
from keras.callbacks import EarlyStoppingclass DelayedEarlyStopping(EarlyStopping): def on_epoch_end(self, epoch, logs=None): if epoch >= 100: super().on_epoch_end(epoch, logs=logs)