Spec-Zone.ru › TensorFlow

tf.keras.callbacks.BackupAndRestore

Обработчик для резервного копирования и восстановления состояния обучения.

Наследуется от: Callback

tf.keras.callbacks.BackupAndRestore(
    backup_dir, save_freq='epoch', delete_checkpoint=True
)

Используется в ноутбуках

Используется в руководстве Используется в учебниках
  • Миграция механизма отказоустойчивости
  • Многозвенное обучение с Keras
  • Обучение с сервером параметров с ParameterServerStrategy

BackupAndRestore обработчик предназначен для восстановления обучения после прерывания в процессе выполнения Model.fit, сохраняя состояние обучения в временном файле-чекпойнте в конце каждой эпохи. Каждое резервное копирование перезаписывает предыдущий файл чекпойнта, поэтому в любой момент времени существует не более одного такого файла для резервного копирования/восстановления.

Если обучение возобновляется до завершения, состояние обучения (включая Model веса и номер эпохи) восстанавливается до последнего сохранённого состояния в начале новой Model.fit сессии. По завершении Model.fit сессии временный файл чекпойнта удаляется.

Обратите внимание, что пользователь отвечает за возвращение работы после прерывания. Этот обработчик важен для механизма резервного копирования и восстановления для обеспечения отказоустойчивости, и ожидается, что модель, восстанавливаемая из предыдущего чекпойнта, будет такой же, как и та, которая использовалась для резервного копирования. Если пользователь изменяет аргументы, передаваемые в compile или fit, сохранённый для отказоустойчивости чекпоинт может стать недействительным.

Пример:

class InterruptingCallback(keras.callbacks.Callback):
  def on_epoch_begin(self, epoch, logs=None):
    if epoch == 4:
      raise RuntimeError('Interrupting!')
callback = keras.callbacks.BackupAndRestore(backup_dir="/tmp/backup")
model = keras.models.Sequential([keras.layers.Dense(10)])
model.compile(keras.optimizers.SGD(), loss='mse')
try:
  model.fit(np.arange(100).reshape(5, 20), np.zeros(5), epochs=10,
            batch_size=1, callbacks=[callback, InterruptingCallback()],
            verbose=0)
except:
  pass
history = model.fit(np.arange(100).reshape(5, 20), np.zeros(5),
                    epochs=10, batch_size=1, callbacks=[callback],
                    verbose=0)
# Only 6 more epochs are run, since first training got interrupted at
# zero-indexed epoch 4, second training will continue from 4 to 9.
len(history.history['loss'])
6
Аргументы
backup_dir Строка, путь к каталогу, где будут храниться данные для восстановления модели. Каталог не может быть повторно использован для хранения других файлов, например, обработчиком BackupAndRestore другой обучающей сессии или другим обработчиком (например, ModelCheckpoint) той же обучающей сессии.
save_freq "epoch", целое число или False. При значении "epoch" обработчик сохраняет чекпоинт в конце каждой эпохи. При значении в виде целого числа обработчик сохраняет чекпоинт каждые save_freq батчи. Установите save_freq=False только в случае использования прерывания чекпоинта (т. е. с save_before_preemption=True).
delete_checkpoint Булево значение, по умолчанию True. Этот BackupAndRestore обработчик работает путём сохранения чекпоинта для резервного копирования состояния обучения. Если delete_checkpoint=True, чекпоинт будет удалён после завершения обучения. Используйте False, если вы хотите сохранить чекпоинт для дальнейшего использования.
Атрибуты
model

Методы

on_batch_begin

Просмотреть исходный код

on_batch_begin(
    batch, logs=None
)

Псевдоним обратной совместимости для on_train_batch_begin.

on_batch_end

Просмотреть исходный код

on_batch_end(
    batch, logs=None
)

Псевдоним обратной совместимости для on_train_batch_end.

on_epoch_begin

Просмотреть исходный код

on_epoch_begin(
    epoch, logs=None
)

Вызывается в начале эпохи.

Подклассы должны переопределять для выполнения любых действий. Данная функция должна вызываться только в режиме обучения.

Аргументы
epoch Целое число, номер эпохи.
logs Словарь. В настоящее время для этого метода данные в этот аргумент не передаются, но это может измениться в будущем.

on_epoch_end

Просмотреть исходный код

on_epoch_end(
    epoch, logs=None
)

Вызывается в конце эпохи.

Подклассы должны переопределять для выполнения любых действий. Данная функция должна вызываться только в режиме обучения.

Аргументы
epoch Целое число, номер эпохи.
logs Словарь, результаты метрик для данной эпохи обучения, и для эпохи валидации, если выполняется валидация. Ключи результатов валидации имеют префикс val_. Для эпохи обучения возвращаются значения метрик Model. Пример: {'loss': 0.2, 'accuracy': 0.7}.

on_predict_batch_begin

Просмотреть исходный код

on_predict_batch_begin(
    batch, logs=None
)

Вызывается в начале батча в методах predict.

Подклассы должны переопределять для выполнения любых действий.

Обратите внимание, что если аргумент steps_per_execution для compile в Model установлен в N, этот метод будет вызываться только каждые N батчи.

Аргументы
batch Целое число, номер батча в текущей эпохе.
logs Словарь. В настоящее время для этого метода данные в этот аргумент не передаются, но это может измениться в будущем.

on_predict_batch_end

Просмотреть исходный код

on_predict_batch_end(
    batch, logs=None
)

Вызывается в конце батча в методах predict.

Подклассы должны переопределять для выполнения любых действий.

Обратите внимание, что если аргумент steps_per_execution для compile в Model установлен в N, этот метод будет вызываться только каждые N батчи.

Аргументы
batch Целое число, номер батча в текущей эпохе.
logs Словарь. Агрегированные результаты метрик до этого батча.

on_predict_begin

Просмотреть исходный код

on_predict_begin(
    logs=None
)

Вызывается в начале прогнозирования.

Подклассы должны переопределять для выполнения любых действий.

Аргументы
logs Словарь. В настоящее время для этого метода данные в этот аргумент не передаются, но это может измениться в будущем.

on_predict_end

Просмотреть исходный код

on_predict_end(
    logs=None
)

Вызывается в конце прогнозирования.

Подклассы должны переопределять для выполнения любых действий.

Аргументы
logs Словарь. В настоящее время для этого метода данные в этот аргумент не передаются, но это может измениться в будущем.

on_test_batch_begin

Просмотреть исходный код

on_test_batch_begin(
    batch, logs=None
)

Вызывается в начале пакета в методах evaluate.

Также вызывается в начале пакета проверки в методах fit, если предоставлены данные валидации.

Подклассы должны переопределять для выполнения любых действий.

Обратите внимание, что если аргумент steps_per_execution к compile в Model установлен в N, этот метод будет вызываться только каждые N пакеты.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. В настоящее время данные не передаются в этот аргумент для этого метода, но это может измениться в будущем.

on_test_batch_end

Просмотреть исходный код

on_test_batch_end(
    batch, logs=None
)

Вызывается в конце пакета в методах evaluate.

Также вызывается в конце пакета проверки в методах fit, если предоставлены данные валидации.

Подклассы должны переопределять для выполнения любых действий.

Обратите внимание, что если аргумент steps_per_execution к compile в Model установлен в N, этот метод будет вызываться только каждые N пакеты.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. Агрегированные результаты метрик до этого пакета.

on_test_begin

Просмотреть исходный код

on_test_begin(
    logs=None
)

Вызывается в начале оценки или валидации.

Подклассы должны переопределять для выполнения любых действий.

Аргументы
logs Словарь. В настоящее время данные не передаются в этот аргумент для этого метода, но это может измениться в будущем.

on_test_end

Просмотреть исходный код

on_test_end(
    logs=None
)

Вызывается в конце оценки или валидации.

Подклассы должны переопределять для выполнения любых действий.

Аргументы
logs Словарь. В настоящее время выход последнего вызова on_test_batch_end() передается в этот аргумент для этого метода, но это может измениться в будущем.

on_train_batch_begin

Просмотреть исходный код

on_train_batch_begin(
    batch, logs=None
)

Вызывается в начале обучающего пакета в методах fit.

Подклассы должны переопределять для выполнения любых действий.

Обратите внимание, что если аргумент steps_per_execution к compile в Model установлен в N, этот метод будет вызываться только каждые N пакеты.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. В настоящее время данные не передаются в этот аргумент для этого метода, но это может измениться в будущем.

on_train_batch_end

Просмотреть исходный код

on_train_batch_end(
    batch, logs=None
)

Вызывается в конце обучающего пакета в методах fit.

Подклассы должны переопределять для выполнения любых действий.

Обратите внимание, что если аргумент steps_per_execution к compile в Model установлен в N, этот метод будет вызываться только каждые N пакеты.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. Агрегированные результаты метрик до этого пакета.

on_train_begin

Просмотреть исходный код

on_train_begin(
    logs=None
)

Получить состояние обучения из временного файла и восстановить его.

on_train_end

Просмотреть исходный код

on_train_end(
    logs=None
)

Вызывается в конце обучения.

Подклассы должны переопределять для выполнения любых действий.

Аргументы
logs Словарь. В настоящее время выход последнего вызова on_epoch_end() передается в этот аргумент для этого метода, но это может измениться в будущем.

set_model

Просмотреть исходный код

set_model(
    model
)

set_params

Просмотреть исходный код

set_params(
    params
)

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/BackupAndRestore

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API