tf.contrib.mixed_precision.ExponentialUpdateLossScaleManager
Менеджер масштабирования потерь использует экспоненциальную стратегию обновления.
Наследуется от: LossScaleManager
tf.contrib.mixed_precision.ExponentialUpdateLossScaleManager(
init_loss_scale, incr_every_n_steps, decr_every_n_nan_or_inf=2, incr_ratio=2,
decr_ratio=0.8
)
В целом, стратегия увеличивает масштаб потерь на множитель, большем единицы, после нахождения последовательности шагов с конечными градиентами; аналогично, она уменьшает масштаб потерь на множитель, когда накапливается количество шагов с бесконечными (nan или inf) градиентами. Обновление не применяется, если его результат меньше 1 или выходит за пределы диапазона динамического float32.
Количество конечных и бесконечных шагов сбрасывается каждый раз, когда масштаб потерь изменяется. Условие уменьшения масштаба потерь менее строгое, чем для его увеличения, так как для уменьшения не требуется, чтобы шаги были последовательными.
| Аргументы | |
|---|---|
init_loss_scale | Вещественное число Python. Масштаб потерь, используемый в начале. |
incr_every_n_steps | Увеличивает масштаб потерь каждые n последовательных шагов с конечными градиентами. |
decr_every_n_nan_or_inf | Уменьшает масштаб потерь каждые n накопленных шагов с nan или inf градиентами. |
incr_ratio | Множитель, используемый при увеличении масштаба потерь. |
decr_ratio | Множитель, меньший единицы, используемый при уменьшении масштаба потерь. |
Методы
get_loss_scale
get_loss_scale()
Возвращает масштаб потерь.
update_loss_scale
update_loss_scale(
finite_grads
)
Обновляет масштаб потерь на основе того, являются ли градиенты конечными на текущем шаге.
© 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/r1.15/api_docs/python/tf/contrib/mixed_precision/ExponentialUpdateLossScaleManager