昇腾社区首页
中文
注册

ExponentialUpdateLossScaleManager构造函数

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品

Atlas 800I A2 推理产品/A200I A2 Box 异构组件

x

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品

x

Atlas 训练系列产品

Atlas 200/300/500 推理产品

x

针对Atlas A3 推理系列产品,仅支持在线推理特性。

功能说明

ExponentialUpdateLossScaleManager类的构造函数,浮点计算的溢出模式为“饱和模式”的场景下,用于定义训练场景下的动态LossScale参数,并通过定义loss_scale变量动态获取和更新LossScale值。
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品,浮点计算支持两种溢出模式:饱和模式与INF/NaN模式,请保持默认值INF/NaN模式。饱和模式仅用于兼容旧版本,后续不再演进,且此模式下计算精度可能存在误差。
  • Atlas A2 训练系列产品,浮点计算支持两种溢出模式:饱和模式与INF/NaN模式,请保持默认值INF/NaN模式。饱和模式仅用于兼容旧版本,后续不再演进,且此模式下计算精度可能存在误差。
  • Atlas 训练系列产品,浮点计算的溢出模式默认为“饱和模式”,且仅支持“饱和模式”。饱和模式为:计算出现溢出时,饱和为浮点数极值(+-MAX)。

函数原型

1
2
3
4
5
6
def __init__(self,
init_loss_scale,
incr_every_n_steps,
decr_every_n_nan_or_inf=2,
incr_ratio=2,
decr_ratio=0.8)

参数说明

参数名

输入/输出

描述

init_loss_scale

输入

初始LossScale值。float类型。

incr_every_n_steps

输入

当累计N次迭代未出现溢出时,增大LossScale值。

decr_every_n_nan_or_inf

输入

当累计N次迭代出现溢出时,减小LossScale值。默认值:2。

incr_ratio

输入

LossScale增大的比例。默认值:2。

decr_ratio

输入

LossScale减小的比例。默认值:0.8。

返回值

返回ExponentialUpdateLossScaleManager类对象。

约束说明

ExponentialUpdateLossScaleManager类对象的构造不能在tf.control_dependencies()接口的作用域内,否则可能会造成图结构执行顺序与预期不一致。