如何将Keras模型进度保存到文件中?

时间:2018-04-06 20:03:08

标签: python tensorflow keras conv-neural-network

我有一个用Keras编码的神经网络模型。

当我在笔记本电脑上运行它时,我有以下输出显示模型的进度:

  

训练4个样本,验证1个样本Epoch 1/1 4/4   [==============================] - 22s 5s /步 - 损失:0.2477 -   val_loss:0.2672

但是,当我将此代码提交给集群进行运行时,我不知道剩下多少个纪元,所以我想在模型运行时将上述输出保存到文件中。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

至少有一种方法是添加远程监控器回调并实际实时查看。我还没玩过这个,但我知道它存在并且想要。

keras.callbacks.RemoteMonitor(root='http://localhost:9000', path='/publish/epoch/end/', field='data', headers=None, send_as_json=False)

您可以找到文档here

另一种选择是使用TensorBoard。 Keras在我已提供的链接中也有回调。 Here是来自TensorFlow的信息。

答案 1 :(得分:1)

你可以使用for循环和model.save

来完成
import os

PATH_TO_MODELS = 'path to models directory'

TOTAL_EPOCHS = 8 # number of epochs you want to save

for epoch in range(TOTAL_EPOCHS):
    model.fit(..., epochs = 1)
    save_name = 'model_%sepochs.h5' % str(epoch)
    model.save(os.path.join(PATH_TO_MODELS, save_name))

这会将每个纪元的输出模型保存到一个不同的文件中,以便您可以跟踪它们。