Я работаю над проектом, в котором используется Keras ModelCheckpoint
. Этот класс обратного вызова, кажется, покрывает мои потребности за исключением одной маленькой детали.
Я не нашел способа передать счетчик нумерации эпох, чтобы иметь дело с моделями обучения резюме. Я часто тренируюсь в разные эпохи, а потом возобновляю тренировки. Я хотел бы иметь последовательную модель сохранения модели, такую как:
model.{epoch:03d}-{loss:.2f}.hdf5
но с нумерацией, начинающейся с эпохи, предыдущая тренировка остановилась, а не с начала.
Текущая команда, которую я использую, такова:
ckp_saver = ModelCheckpoint(checkpoint_dir + "/model.{epoch:03d}-{loss:.2f}.hdf5", monitor='loss', verbose=0,
save_best_only=False, save_weights_only=True, mode='auto', period=1)
Есть ли способ передать эту информацию ModelCheckpoint
? Решение, которое я нашел, состоит в том, чтобы отредактировать код Keras и добавить аргумент по умолчанию, содержащий фактические предтренированные эпохи (по умолчанию 0
, если не передан), чтобы не нарушать любой другой код, но я предпочел бы избежать этого, если в этом нет необходимости. Есть еще идеи?
Исходный код был взят из этого файла здесь .