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