Керас - управлять историей

Я обучаю модели 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 = ???
3
0
569
2

Ответы 2

Скажем, эта строка

print(history.history.keys())

производит следующий вывод:

['acc', 'loss', 'val_acc', 'val_loss']

Исходя из предположения, что загруженная модель должна иметь такую ​​же производительность, как и сохраненная, вы можете попробовать что-то вроде конкатенации историй. Например, объедините новую историю точности с загруженной историей точности загруженной модели.

Он должен начинаться с той же точки в области построения графика, где закончилась загруженная модель (возможно, вам придется добавить (+) эпохи ранее обученной модели для графика, чтобы новые значения точности не начинались с эпохи 0, а загруженные модели последней эпохи).

Надеюсь, что вы понимаете мою идею и что она вам поможет :)

Оказывается, в Керасе пока нет стандартного способа сделать это, AFAIK.

См. Контекст в Эта проблема.

Другие вопросы по теме