我正在尝试训练模型。我正在使用检查点的回调,它基本上保存了最佳模型(在验证中具有最小的损失函数)。我遇到的问题是,有时这个最小值是在第一个时期,验证似乎有点不稳定。有没有办法在模型稳定后或在一定数量的时期之后使用检查点?
这是我的训练和验证曲线的图片:
答案 0 :(得分:0)
您可以使用自定义回调,其中,您可以根据条件使用逻辑语句。如果满足条件,则可以从此处https://github.com/fchollet/keras/blob/master/keras/callbacks.py#L316调用ModelCheckpoint代码。
如果我的话没有意义,那么这段代码就会出现!
感谢。
class ModifiedCheckpoint(keras.callbacks.Callback):
def __init__(...):
<copy code>
return
def on_train_begin(self, logs={}):
return
def on_train_end(self, logs={}):
return
def on_epoch_begin(self, epoch, logs={}):
return
def on_epoch_end(self, epoch, logs={}):
<insert your logic here>
<and copy code here>
return
def on_batch_begin(self, batch, logs={}):
return
def on_batch_end(self, batch, logs={}):
return