mindspore.amp.StaticLossScaler
- class mindspore.amp.StaticLossScaler(scale_value)[源代码]
Static Loss scale类。用固定的常数来scales和unscale损失或梯度。
警告
这是一个实验性API,后续可能修改或删除。
- 参数:
scale_value (Union(float, int)) - 缩放系数。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> from mindspore import amp, Tensor >>> import numpy as np >>> loss_scaler = amp.StaticLossScaler(scale_value=2**10) >>> loss_value = Tensor([1.], mindspore.float32) >>> scaled_loss_value = loss_scaler.scale(loss_value) >>> print(scaled_loss_value) [1024.] >>> grads = (Tensor(np.array([1.5, 1.0]), mindspore.float16), ... Tensor(np.array([1.2]), mindspore.float16)) >>> unscaled_grads = loss_scaler.unscale(grads) >>> print(unscaled_grads) (Tensor(shape=[2], dtype=Float16, value= [ 1.4648e-03, 9.7656e-04]), Tensor(shape=[1], dtype=Float16, value= [ 1.1721e-03]))
- adjust(grads_finite)[源代码]
用于调整 LossScaler 中 loss_value 的值。StaticLossScaler 中,scale_value 值固定,因此此方法直接返回False。
- 参数:
grads_finite (Tensor) - bool类型的标量Tensor,表示梯度是否为有效值(无溢出)。