三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

CANN/tensorflow指数更新损失缩放管理器构造函数

CANN/tensorflow指数更新损失缩放管理器构造函数

ExponentialUpdateLossScaleManager构造函数

【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow

功能说明

ExponentialUpdateLossScaleManager类的构造函数,浮点计算的溢出模式为“饱和模式”的场景下,用于定义训练场景下的动态LossScale参数,并通过定义loss_scale变量动态获取和更新LossScale值。

  • Atlas 训练系列产品,浮点计算的溢出模式默认为“饱和模式”,且仅支持“饱和模式”。饱和模式是指当计算出现溢出时,饱和为浮点数极值(+-MAX)。
  • 其他系列产品,浮点计算支持两种溢出模式:饱和模式与INF/NaN模式,请保持默认值INF/NaN模式。饱和模式仅用于兼容旧版本,后续不再演进,且此模式下计算精度可能存在误差。

函数原型

class ExponentialUpdateLossScaleManager(lsm_lib.ExponentialUpdateLossScaleManager): 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()接口的作用域内,否则可能会造成图结构执行顺序与预期不一致。

【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表