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/versions/r2.9/api_docs/python/tf/compat/v1/mixed_precision/DynamicLossScale