tf.compat.v1.mixed_precision.FixedLossScale
Масштаб функции потерь с фиксированным значением.
Наследуется от: LossScale
tf.compat.v1.mixed_precision.FixedLossScale(
loss_scale_value
)
Масштаб функции потерь не обновляется в течение всего срока существования экземпляров этого класса. При каждом вызове экземпляр этого класса всегда возвращает одно и то же число.
| Аргументы | |
|---|---|
loss_scale_value | Число с плавающей запятой Python. Идеальное значение зависит от запускаемых моделей. Слишком малое значение 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. Если оно равно False, градиенты не следует применять к переменным на этом шаге, поскольку были обнаружены неконечные градиенты, а масштаб функции потерь был обновлен, чтобы снизить вероятность обнаружения неконечных градиентов на следующем шаге. Некоторые классы масштаба функции потерь всегда возвращают True, поскольку не могут корректировать свое значение в ответ на неконечные градиенты.
При использовании DistributionStrategy эту функцию можно вызывать только в контексте между репликами.
| Аргументы | |
|---|---|
grads | Вложенная структура немасштабированных градиентов, каждый из которых является градиентом функции потерь по отношению к весу. Перед передачей этой функции градиенты уже должны быть разделены на масштаб функции потерь. Градиенты со значением 'None' допускаются и игнорируются. |
| Возвращает | |
|---|---|
update_op | В eager-режиме — None. В режиме графа — операция для обновления масштаба функции потерь. |
should_apply_gradients | Либо значение bool, либо скалярный тензор булева типа. Если оно равно False, вызывающая сторона должна пропустить применение grads к переменным на этом шаге. |
__call__
__call__()
Возвращает текущий масштаб функции потерь в виде скалярного тензора float32.
© 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/compat/v1/mixed_precision/FixedLossScale