Spec-Zone.ru › TensorFlow

tf.keras.callbacks.EarlyStopping

Останавливает обучение, когда отслеживаемая метрика перестаёт улучшаться.

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

tf.keras.callbacks.EarlyStopping(
    monitor='val_loss',
    min_delta=0,
    patience=0,
    verbose=0,
    mode='auto',
    baseline=None,
    restore_best_weights=False,
    start_from_epoch=0
)

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

Используется в руководстве Используется в руководствах
  • Перенос ранней остановки
  • Создание музыки с помощью RNN
  • Распознавание простых аудиосигналов: распознавание ключевых слов
  • Трансферное обучение с YAMNet для классификации звуков окружающей среды
  • Введение в Keras Tuner
  • Переобучение и недообучение

Предположим, что цель обучения — минимизировать потери. В этом случае отслеживаемой метрикой будет 'loss', а режимом — 'min'. Цикл обучения model.fit() в конце каждой эпохи проверяет, перестали ли уменьшаться потери, учитывая min_delta и patience, если применимо. Как только обнаруживается, что потери больше не уменьшаются, для model.stop_training устанавливается значение True, и обучение завершается.

Отслеживаемая величина должна быть доступна в словаре logs. Чтобы обеспечить это, передайте потери или метрики в model.compile().

Аргументы
monitor Отслеживаемая величина. По умолчанию — "val_loss".
min_delta Минимальное изменение отслеживаемой величины, необходимое для того, чтобы считать его улучшением; абсолютное изменение меньше min_delta считается отсутствием улучшения. По умолчанию — 0.
patience Количество эпох без улучшения, после которого обучение будет остановлено. По умолчанию — 0.
verbose Режим подробности: 0 или 1. В режиме 0 сообщения не выводятся, в режиме 1 отображаются сообщения, когда обратный вызов выполняет действие. По умолчанию — 0.
mode Одно из значений {"auto", "min", "max"}. В режиме min обучение останавливается, когда отслеживаемая величина перестаёт уменьшаться; в режиме "max" — когда отслеживаемая величина перестаёт увеличиваться; в режиме "auto" направление определяется автоматически на основе имени отслеживаемой величины. По умолчанию — "auto".
baseline Базовое значение отслеживаемой величины. Если значение не None, обучение остановится, если модель не превзойдёт базовый уровень. По умолчанию — None.
restore_best_weights Следует ли восстановить веса модели из эпохи с наилучшим значением отслеживаемой величины. Если значение False, используются веса модели, полученные на последнем шаге обучения. Эпоха будет восстановлена независимо от результатов относительно baseline. Если ни одна эпоха не превзойдёт baseline, обучение продолжится в течение patience эпох, а веса будут восстановлены из лучшей эпохи в этом наборе. По умолчанию — False.
start_from_epoch Количество эпох ожидания перед началом отслеживания улучшений. Это позволяет задать период прогрева, в течение которого улучшений не ожидается и поэтому обучение не останавливается. По умолчанию — 0.

Пример:

callback = keras.callbacks.EarlyStopping(monitor='loss',
                                              patience=3)
# This callback will stop the training when there is no improvement in
# the loss for three consecutive epochs.
model = keras.models.Sequential([keras.layers.Dense(10)])
model.compile(keras.optimizers.SGD(), loss='mse')
history = model.fit(np.arange(100).reshape(5, 20), np.zeros(5),
                    epochs=10, batch_size=1, callbacks=[callback],
                    verbose=0)
len(history.history['loss'])  # Only 4 epochs are run.
4
Атрибуты
model

Методы

get_monitor_value

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

get_monitor_value(
    logs
)

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

Spec-Zone.ru

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