在keras中保存稳定的模型(深度学习)

时间:2017-04-26 11:23:27

标签: python deep-learning keras

我正在尝试训练模型。我正在使用检查点的回调,它基本上保存了最佳模型(在验证中具有最小的损失函数)。我遇到的问题是,有时这个最小值是在第一个时期,验证似乎有点不稳定。有没有办法在模型稳定后或在一定数量的时期之后使用检查点?

这是我的训练和验证曲线的图片:

enter image description

1 个答案:

答案 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