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
)

Вызывается в начале предсказания.

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

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