Spec-Zone.ru › TensorFlow 2.9

tf.keras.callbacks.Callback

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

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

Просмотр псевдонимов

Псевдонимы для миграции

См. руководство по миграции для получения дополнительных сведений.

tf.compat.v1.keras.callbacks.Callback

tf.keras.callbacks.Callback()

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

Для создания пользовательского колбека необходимо унаследовать класс keras.callbacks.Callback и переопределить метод, соответствующий интересующей стадии. Дополнительную информацию см. в разделе https://www.tensorflow.org/guide/keras/custom_callback.

Пример:

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

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

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

    callbacks =  tf.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 Экземпляр keras.models.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 в tf.keras.Model установлен в N, этот метод будет вызываться только каждые N пачек.

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

on_predict_batch_end

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

on_predict_batch_end(
    batch, logs=None
)

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

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

Обратите внимание, что если аргумент steps_per_execution к compile в tf.keras.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 в tf.keras.Model установлен в N, этот метод будет вызываться только каждые N пачек.

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

on_test_batch_end

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

on_test_batch_end(
    batch, logs=None
)

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

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

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

Обратите внимание, что если аргумент steps_per_execution к compile в tf.keras.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 в tf.keras.Model установлен в значение N, этот метод будет вызываться только через каждые N пакеты.

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

on_train_batch_end

Просмотр исходного кода

on_train_batch_end(
    batch, logs=None
)

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

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

Обратите внимание, что если аргумент steps_per_execution к compile в tf.keras.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/versions/r2.9/api_docs/python/tf/keras/callbacks/Callback

Spec-Zone.ru

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