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
)

Вызывается в начале эпохи.

В подклассах следует переопределить этот метод, чтобы выполнить необходимые действия. Этот метод следует вызывать только в режиме обучения.

Аргументы
epoch Целое число — индекс эпохи.
logs Словарь. В настоящее время этому аргументу для данного метода не передаются данные, но в будущем это может измениться.

on_epoch_end

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

on_epoch_end(
    epoch, logs=None
)

Вызывается в конце эпохи.

В подклассах следует переопределить этот метод, чтобы выполнить необходимые действия. Этот метод следует вызывать только в режиме обучения.

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