Spec-Zone.ru › TensorFlow 2.9

tf.keras.callbacks.EarlyStopping

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

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

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

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

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

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

tf.compat.v1.keras.callbacks.EarlyStopping

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

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

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

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

Пример:

callback = tf.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 = tf.keras.models.Sequential([tf.keras.layers.Dense(10)])
model.compile(tf.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

Методы

get_monitor_value

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

get_monitor_value(
    logs
)

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

Spec-Zone.ru

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