Keras - 管理历史
Posted
技术标签:
【中文标题】Keras - 管理历史【英文标题】:Keras - manage history 【发布时间】:2019-04-04 13:38:01 【问题描述】:我正在训练 Keras 模型,使用 model.save()
保存它们,然后加载它们并恢复训练。
我想在每次训练后绘制整个训练历史,但model.fit_generator()
只返回最后一次训练的历史。
我可以保存初始会话的历史并自己更新,但我想知道 Keras 中是否有管理训练历史的标准方法。
history1 = model.fit_generator(my_gen)
plot_history(history1)
model.save('my_model.h5')
# Some days afterwards...
model = load_model('my_model.h5')
history2 = model.fit_generator(my_gen)
# here I would like to reconstruct the full_training history
# including the info from history1 and history2
full_history = ???
【问题讨论】:
【参考方案1】:事实证明,在 Keras AFAIK 中还没有标准的方法。
请参阅this issue 了解上下文。
【讨论】:
【参考方案2】:让我们说这一行
print(history.history.keys())
产生以下输出:
['acc', 'loss', 'val_acc', 'val_loss']
基于加载的模型应该与保存的模型具有相同性能的假设,您可以尝试连接历史记录。例如,在已加载模型的已加载精度历史记录上连接新的精度历史记录。
它应该从绘图空间中加载模型结束的同一点开始(也许您必须为绘图添加先前训练模型的 (+) 时期,以便新的准确度值不会从时期开始0,但加载了模型的最后一个纪元)。
希望你能理解我的想法,希望对你有所帮助:)
【讨论】:
以上是关于Keras - 管理历史的主要内容,如果未能解决你的问题,请参考以下文章
sklearn 管道 + keras 顺序模型 - 如何获取历史记录?