РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
361 of 824 menu

Метод on_epoch_begin класса Callback

Метод on_epoch_begin принадлежит классу Callback и вызывается в начале каждой эпохи. Он применяется для выполнения действий, которые должны произойти до начала обработки данных в эпохе: например, для сброса состояния, логирования или изменения параметров. Первым параметром метод принимает номер текущей эпохи epoch, вторым - словарь logs с дополнительной информацией. Метод не возвращает значимого значения, а его результат влияет только на побочные эффекты внутри обучения.

Синтаксис

class MyCallback(tf.keras.callbacks.Callback): def on_epoch_begin(self, epoch, logs=None): pass

Пример

Давайте создадим простой колбэк, который выводит номер эпохи в начале каждой эпохи:

import tensorflow as tf class EpochBeginLogger(tf.keras.callbacks.Callback): def on_epoch_begin(self, epoch, logs=None): print("Epoch begin:", epoch) model = tf.keras.Sequential([ tf.keras.layers.Dense(1, input_shape=(1,)) ]) model.compile(optimizer="sgd", loss="mse") callback = EpochBeginLogger() model.fit([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], epochs=3, callbacks=[callback], verbose=0)

Результат выполнения кода:

"Epoch begin: 0" "Epoch begin: 1" "Epoch begin: 2"

Пример

Давайте используем метод on_epoch_begin для сохранения значения потерь на начало эпохи:

import tensorflow as tf class LossTracker(tf.keras.callbacks.Callback): def on_epoch_begin(self, epoch, logs=None): self.start_loss = logs.get("loss") if logs else None print("Start loss:", self.start_loss) model = tf.keras.Sequential([ tf.keras.layers.Dense(1, input_shape=(1,)) ]) model.compile(optimizer="sgd", loss="mse") callback = LossTracker() model.fit([1, 2, 3, 4, 5], [1, 2, 3, 4, 5], epochs=3, callbacks=[callback], verbose=0)

Результат выполнения кода:

"Start loss: None" "Start loss: None" "Start loss: None"

Смотрите также

  • класс Callback,
    который является базовым классом для всех колбэков
  • метод on_epoch_end,
    который вызывается в конце каждой эпохи
  • метод on_batch_begin,
    который вызывается перед обработкой каждого батча
  • метод on_train_begin,
    который вызывается перед началом обучения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить