首页 > 解决方案 > Keras 纪元计数回调是否适用于多个拟合会话?

问题描述

一些 Keras 回调,如ModelCheckpointor ReduceLROnPlateau,依赖于计算满足某些条件的 epoch 数,直到采取某些操作。

出于某些目的,我需要在几个拟合会话中训练 Keras 模型,所以像

for epoch in range(num_epochs):
   model.fit(data, epochs=1)

而不是

model.fit(data, epochs=num_epochs)

我想知道 Keras 回调是否有效,即使我在几个拟合会话中使用它们。

标签: pythontensorflowkerasneural-network

解决方案


每次model.fit(...)调用callbacks.History都会重置。所以不,它不会那样工作。虽然您可以将自己记录为@kacpo1 提到的并保存每个,但您可能会从该train_on_batch(...)方法中受益。这将执行一次更新,您可以reset_metrics=False在方法调用中设置以保留您的指标。

https://keras.io/api/models/model_training_apis/#trainonbatch-method


推荐阅读