Spec-Zone.ru › TensorFlow 2.4

tf.mixed_precision.experimental.FixedLossScale

Масштабирование потерь с фиксированным значением.

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

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

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

tf.train.experimental.FixedLossScale

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

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

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

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

Масштаб потерь не обновляется на протяжении всего жизненного цикла экземпляров этого класса. Данный экземпляр этого класса всегда возвращает одно и то же число при вызове.

Аргументы
loss_scale_value Вещественное число Python. Его идеальное значение зависит от моделей, которые нужно запустить. Выбор слишком маленького loss_scale может повлиять на качество модели; слишком большой loss_scale может привести к inf или nan. Нет одного правильного loss_scale для применения. Нет вреда в выборе относительно большого числа, если в процессе обучения не встречаются nan или inf.
Возникающие исключения
ValueError Если loss_scale_value меньше 1.

Методы

from_config

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

@classmethod
from_config(
    config
)

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

get_config

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

get_config()

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

update

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

update(
    grads
)

Обновляет значение масштаба потерь.

Масштаб потерь потенциально обновляется на основе значения grads. Возвращаемый тензор при вызове этого класса обновляется только при вычислении этой функции.

В режиме eager это напрямую обновляет масштаб потерь, поэтому вызов __call__ вернёт обновлённый масштаб потерь. В режиме графа это возвращает операцию, которая при вычислении обновляет масштаб потерь.

Функция также возвращает значение should_apply_gradients boolean. Если False, к переменным, на которые выполняется шаг, не должны применяться градиенты, так как были обнаружены бесконечные или неопределённые градиенты, и масштаб потерь был обновлён, чтобы уменьшить вероятность обнаружения бесконечных или неопределённых градиентов на следующем шаге. Некоторые классы масштабов потерь всегда возвращают True, так как они не могут настраиваться в ответ на бесконечные или неопределённые градиенты.

При использовании DistributionStrategy эта функция может вызываться только в контексте кросс-репликации.

Аргументы
grads Вложенная структура несбалансированных градиентов, каждый из которых является градиентом потерь по отношению к весу. Градиенты должны быть предварительно поделены на масштаб потерь, перед тем как быть переданы в эту функцию. Градиенты 'None' принимаются и игнорируются.
Возвращаемые значения
update_op В режиме eager, None. В режиме графа, операция для обновления масштаба потерь.
should_apply_gradients Булево значение или скалярный булевой тензор. Если False, вызывающий метод должен пропустить применение 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/FixedLossScale

Spec-Zone.ru

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