Spec-Zone.ru › TensorFlow 2.4

tf.mixed_precision.experimental.DynamicLossScale

Масштаб потерь, который динамически изменяется.

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

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

Основные псевдонимы

tf.train.experimental.DynamicLossScale

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

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

tf.compat.v1.mixed_precision.DynamicLossScale, tf.compat.v1.mixed_precision.experimental.DynamicLossScale, tf.compat.v1.train.experimental.DynamicLossScale

tf.mixed_precision.experimental.DynamicLossScale(
    initial_loss_scale=(2 ** 15), increment_period=2000, multiplier=2.0
)
Предупреждение: Этот класс устарел и будет удален из пространства имен TF 2, начиная с TensorFlow 2.5. В TensorFlow 2.5 этот класс будет доступен только как tf.compat.v1.mixed_precision.DynamicLossScale. Кроме того, в версии 2.5 вы больше не сможете передать DynamicLossScale в tf.keras.mixed_precision.Policy. Все функции в этом классе объединены в tf.keras.mixed_precision.LossScaleOptimizer, поэтому этот класс больше не нужен.

Динамическое масштабирование потерь работает путем изменения масштаба потерь по мере обучения. Цель состоит в том, чтобы поддерживать как можно более высокий масштаб потерь без переполнения градиентов. Пока градиенты не переполняются, повышение масштаба потерь никогда не повредит.

Алгоритм начинается с установки начального значения масштаба потерь. Каждые N шагов, когда градиенты конечны, масштаб потерь увеличивается на определенный множитель. Однако, если обнаруживается NaN или Inf градиент, градиенты для этого шага не применяются, а масштаб потерь уменьшается на множитель. Этот процесс стремится поддерживать как можно более высокий масштаб потерь без переполнения градиентов.

Аргументы
initial_loss_scale Вещественное число Python. Масштаб потерь, используемый в начале. Лучше начинать с очень большого числа, потому что масштаб потерь, который слишком велик, уменьшается гораздо быстрее, чем масштаб потерь, который слишком мал, увеличивается. По умолчанию 2 ** 15, что примерно равно половине максимального значения float16.
increment_period Увеличивает масштаб потерь каждые increment_period последовательных шагов, на которых встречаются конечные градиенты. Если встречается бесконечный градиент, счетчик сбрасывается до нуля.
multiplier Множитель, используемый при увеличении или уменьшении масштаба потерь.
Атрибуты
increment_period
initial_loss_scale
multiplier

Методы

from_config

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

@classmethod
from_config(
    config
)

Создает LossScale из его конфигурации.

get_config

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

get_config()

Возвращает конфигурацию этого масштаба потерь.

update

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

update(
    grads
)

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

__call__

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

__call__()

Возвращает текущий масштаб потерь как скалярный float32 тензор.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/mixed_precision/experimental/DynamicLossScale

Spec-Zone.ru

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