tf.compat.v1.mixed_precision.DynamicLossScale
Масштаб функции потерь, который динамически корректирует себя.
Наследуется от: LossScale
tf.compat.v1.mixed_precision.DynamicLossScale(
initial_loss_scale=(2 ** 15), increment_period=2000, multiplier=2.0
)
Динамическое масштабирование функции потерь работает за счет корректировки масштаба по мере обучения. Цель — поддерживать масштаб функции потерь на максимально возможном уровне, не допуская переполнения градиентов. Пока градиенты не переполняются, увеличение масштаба функции потерь не приводит к негативным последствиям.
Алгоритм начинает с установки начального значения масштаба функции потерь. Каждые 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.
© 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/DynamicLossScale