Spec-Zone.ru › TensorFlow

tf.keras.callbacks.Callback

Базовый класс для создания новых колбеков.

tf.keras.callbacks.Callback()

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

Используется в руководстве Используется в учебных пособиях
  • Миграция механизма обработки ошибок
  • Миграция LoggingTensorHook и StopAtStepHook в колбеки Keras
  • Миграция ранней остановки
  • Миграция SessionRunHook в колбеки Keras
  • Распределенное обучение с помощью Keras
  • Сегментация изображений
  • Обучение глубоких нейронных сетей с учетом неопределенности с помощью SNGP
  • Оценка рисков конфиденциальности с помощью отчета TensorFlow Privacy
  • Описание изображений с использованием визуального внимания

Колбеки могут передаваться методам Keras, таким как fit(), evaluate() и predict(), для подключения к различным этапам жизненного цикла обучения, оценки и вывода модели.

Чтобы создать пользовательский колбек, следует унаследовать от keras.callbacks.Callback и переопределить метод, соответствующий интересующему этапу.

Пример:

training_finished = False
class MyCallback(Callback):
  def on_train_end(self, logs=None):
    global training_finished
    training_finished = True
model = Sequential([
    layers.Dense(1, input_shape=(1,))])
model.compile(loss='mean_squared_error')
model.fit(np.array([[1.0]]), np.array([[1.0]]),
          callbacks=[MyCallback()])
assert training_finished == True

Если вы хотите использовать объекты Callback в пользовательской цикле обучения:

  1. Вы должны упаковать все свои колбеки в один callbacks.CallbackList, чтобы их можно было вызывать вместе.
  2. Вам нужно будет вручную вызвать все методы on_* в соответствующих местах в цикле. Вот так:

Пример:

callbacks =  keras.callbacks.CallbackList([...])
callbacks.append(...)
callbacks.on_train_begin(...)
for epoch in range(EPOCHS):
    callbacks.on_epoch_begin(epoch)
    for i, data in dataset.enumerate():
    callbacks.on_train_batch_begin(i)
    batch_logs = model.train_step(data)
    callbacks.on_train_batch_end(i, batch_logs)
    epoch_logs = ...
    callbacks.on_epoch_end(epoch, epoch_logs)
final_logs=...
callbacks.on_train_end(final_logs)

Словарь logs, который принимают методы колбеков, будет содержать ключи для величин, относящихся к текущей партии или эпохе (см. документацию по методам).

Атрибуты
params Словарь. Параметры обучения (например, подробность, размер пакета, количество эпох...).
model Экземпляр 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
)

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

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

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

on_epoch_end

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

on_epoch_end(
    epoch, logs=None
)

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

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

Аргументы
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
)

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

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

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

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/Callback

Spec-Zone.ru

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