中止训练时如何获取 Keras 历史对象?

Posted

技术标签:

【中文标题】中止训练时如何获取 Keras 历史对象?【英文标题】:How to get the Keras history object when you abort training? 【发布时间】:2020-08-25 08:26:14 【问题描述】:

当我使用 tensorflow 2.0 / Keras API 进行训练时,我通常会这样做

model = tf.keras.Model(inputs, outputs)
history = model.fit(x, y, batch_size=64, epochs=10)

但有时生活中的事情并没有按照我的计划进行,我需要使用 ctrl-c 中止或在 Jupyter 笔记本中按停止。 当我提前中止训练时,我怎样才能得到历史对象?我找不到任何有关如何获取历史记录的详细文档。

【问题讨论】:

您是否真的尝试访问它并遇到错误? 是的,错误是NameError: name 'history' is not defined 您可以将其作为模型的属性获取,即model.history 【参考方案1】:

正如@today 在comment above 中的回答,history 对象也可作为model 的属性使用:

model.history.history['val_loss']

【讨论】:

以上是关于中止训练时如何获取 Keras 历史对象?的主要内容,如果未能解决你的问题,请参考以下文章

keras:如何保存历史对象的训练历史属性

Keras FAQ: 常见问题解答

从经过训练的 keras 模型中获取训练超参数

如何在交叉验证中获得 Keras scikit-learn 包装器的训练和验证损失?

如何在keras tensorflow中将图像作为输入并获取另一个图像作为输出

Keras LSTM:如何预测超越验证与预测?