Spec-Zone.ru › TensorFlow

tf.keras.callbacks.SwapEMAWeights

Меняет веса модели и EMA-веса до и после оценки.

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

tf.keras.callbacks.SwapEMAWeights(
    swap_on_epoch=False
)

Этот колбэк заменяет значения весов модели значениями весов EMA оптимизатора (экспоненциальное скользящее среднее значений весов прошлых моделей, реализующее «усреднение Полиака») перед оценкой модели и восстанавливает предыдущие веса после оценки.

Колбэк SwapEMAWeights следует использовать совместно с оптимизатором, который устанавливает use_ema=True.

Обратите внимание, что веса меняются на месте, чтобы сохранить память. Поведение не определено, если вы изменяете веса EMA или веса модели в других колбэках.

Пример:

# Remember to set `use_ema=True` in the optimizer
optimizer = SGD(use_ema=True)
model.compile(optimizer=optimizer, loss=..., metrics=...)

# Metrics will be computed with EMA weights
model.fit(X_train, Y_train, callbacks=[SwapEMAWeights()])

# If you want to save model checkpoint with EMA weights, you can set
# `swap_on_epoch=True` and place ModelCheckpoint after SwapEMAWeights.
model.fit(
    X_train,
    Y_train,
    callbacks=[SwapEMAWeights(swap_on_epoch=True), ModelCheckpoint(...)]
)
Аргументы
swap_on_epoch нужно ли выполнять переключение при on_epoch_begin() и on_epoch_end(). Это полезно, если вы хотите использовать EMA-веса для других колбэков, таких как ModelCheckpoint. По умолчанию False.
Атрибуты
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 в 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/SwapEMAWeights

Spec-Zone.ru

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