我正在训练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 = ???
答案 0 :(得分:1)
事实证明,在Keras中,还没有标准的方法可以做到这一点。
有关上下文,请参见this issue。
答案 1 :(得分:0)
让我们说这行
print(history.history.keys())
产生以下输出:
['acc', 'loss', 'val_acc', 'val_loss']
基于已加载的模型应具有与保存的模型相同的性能的假设,您可以尝试类似串联历史记录的操作。例如,将新的精度历史连接到已加载模型的已加载精度历史上。
它应该从绘图空间中加载模型结束的同一点开始(也许您必须为该绘图添加先前训练过的模型的(+)个历元,以便新的精度值不会从历元开始0,但已加载模型的最后一个时期。
希望您能理解我的想法,并且对您有所帮助:)