使用验证准确性实施早期停止时,我有一个疑问。
假设我想在50个时期后验证准确性没有提高时停止训练。但是,在第二次尝试中,我可以随机获得良好的验证准确性。例如:
准确性培训:0.76 准确性验证:0.80
在准确性培训不断改进的同时,也许我没有获得更好的验证准确性。 因此,当我在训练上达到99%的准确性时,可能会因为第二个时期的80%的验证准确性太高(epoch = 52)而停止训练。
我想插入一个偏移量。例如,使用验证准确性提前停止,但从epoch = 100开始。
在Keras可能吗?
预先感谢
答案 0 :(得分:0)
Keras回调非常灵活,因此您只需修改内置的EarlyStopping
回调:
from keras.callbacks import EarlyStopping
class DelayedEarlyStopping(EarlyStopping):
def on_epoch_end(self, epoch, logs=None):
if epoch >= 100:
super().on_epoch_end(epoch, logs=logs)