执行多次运行时如何使用 Keras 保留纪元数?

Posted

技术标签:

【中文标题】执行多次运行时如何使用 Keras 保留纪元数?【英文标题】:How to preserve the epoch number with Keras when performing multiple runs? 【发布时间】:2018-10-11 20:32:23 【问题描述】:

在 Keras 模型中,我包含了 TensorBoard 回调来生成日志文件以供稍后可视化。

问题是,如果我多次训练我的模型,它会生成多个日志文件,并且步数总是重新开始为 0,而不是继续上一次运行的最后一步。

这会导致 TensorBoard 中无法利用的图表(下面的屏幕截图)。

使用原始 Tensorflow,我发现这可以通过添加“global_step”张量来跟踪运行之间的纪元数来解决。

但是如何使用 Keras 来做到这一点?

【问题讨论】:

【参考方案1】:

model.fit 有一个参数 initial_epoch,默认为 0,它可以让你告诉模型它从哪个 epoch 开始。您可以使用它来恢复之前的训练。

【讨论】:

以上是关于执行多次运行时如何使用 Keras 保留纪元数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Keras 中创建一个依赖于纪元数的损失函数参数?

keras - 将纪元跟踪保存到文件

如何在 tf.keras 中填写 ModelCheckPoint 类的文件路径参数? (无法理解纪元值和日志概念)

损失:执行回归时 Keras 中的 NaN

使用Tensorflow后端的Keras LSTM RNN中令人费解的训练损失与纪元...行为的任何原因

在 Keras 中拟合模型时,批量大小和 epoch 数应该有多大?