mindspore/docs/api/api_python/amp/mindspore.amp.DynamicLossSc...

43 lines
1.6 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.amp.DynamicLossScaler
===============================
.. py:class:: mindspore.amp.DynamicLossScaler(scale_value, scale_factor, scale_window)
用于动态调整损失缩放系数的管理器。
动态损失缩放管理器在保证梯度不溢出的情况下,尝试确定最大的损失缩放值 `scale_value`。如果梯度连续 `scale_window` 步不溢出,则将 `scale_value` 扩大 `scale_factor` 倍;若出现梯度溢出,则将 `scale_value` 缩小 `scale_factor` 倍,并重置计数器。
.. warning::
这是一个实验性API后续可能修改或删除。
参数:
- **scale_value** (Union(float, int)) - 初始损失缩放系数。
- **scale_factor** (int) - 放大/缩小倍数。
- **scale_window** (int) - 无溢出时的连续正常step的最大数量。
.. py:method:: adjust(grads_finite)
根据梯度是否为有效值(无溢出)对 `scale_value` 进行调整。
参数:
- **grads_finite** (Tensor) - bool类型的标量Tensor表示梯度是否为有效值无溢出
.. py:method:: scale(inputs)
根据 `scale_value` 缩放inputs。
参数:
- **inputs** (Union(Tensor, tuple(Tensor))) - 损失值或梯度。
返回:
Union(Tensor, tuple(Tensor)),缩放后的值。
.. py:method:: unscale(inputs)
对inputs进行反缩放`inputs /= scale_value`
参数:
- **inputs** (Union(Tensor, tuple(Tensor))) - 损失值或梯度。
返回:
Union(Tensor, tuple(Tensor)),反缩放后的值。