Что делать, если точность все еще улучшается, но эпохи заканчиваются? - PullRequest
1 голос
/ 21 июня 2020

Когда я запускал свою модель в течение 3 часов в течение 50 эпох, и моя точность составляла 65% и улучшалась. Могу ли я возобновить обучение модели? Или мне нужно снова запускать модель для большего количества эпох?

Я действительно не хочу запускать модель снова, поэтому есть ли способ избежать этого и возобновить обучение с того места, где оно остановилось?

Ответы [ 2 ]

1 голос
/ 21 июня 2020

Вы можете сохранить модель и загрузить ее снова, и при необходимости вы можете продолжить обучение загруженной модели. https://www.tensorflow.org/tutorials/keras/save_and_load

0 голосов
/ 21 июня 2020

Вот код, который я копирую и вставляю для каждого проекта, в котором мне нужно возобновить обучение:

from pathlib import Path
from tensorflow.keras.callbacks import ModelCheckpoint

weights_path = Path('C:/code/.../file.h5')
if weights_path.exists():
    print('Loading weights from %s...' % weights_path)
    model.load_weights(str(weights_path))

cb_best = ModelCheckpoint(
    str(weights_path),
    monitor = 'val_loss',
    verbose = 1,
    save_weights_only = True,
    save_best_only = True,
    mode = 'min')
model.fit(X, Y, epochs = 10, callbacks = [cb_best], verbose = 1)

Итак, если вы перезапустите сценарий обучения, он возобновится с того места, на котором остановился.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...