我有一个用Keras编码的神经网络模型。
当我在笔记本电脑上运行它时,我有以下输出显示模型的进度:
训练4个样本,验证1个样本Epoch 1/1 4/4 [==============================] - 22s 5s /步 - 损失:0.2477 - val_loss:0.2672
但是,当我将此代码提交给集群进行运行时,我不知道剩下多少个纪元,所以我想在模型运行时将上述输出保存到文件中。
我该怎么做?
答案 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))
这会将每个纪元的输出模型保存到一个不同的文件中,以便您可以跟踪它们。