文档
注册
评分
提单
论坛
小AI

替换LossScaleOptimizer

使用前须知

  • 针对Atlas 训练系列产品,如果您的原始脚本中未使用LossScaleOptimizer,可以直接跳过该迁移点;若您的原始脚本中使用了LossScaleOptimizer,请参考本章节进行脚本迁移。
  • 针对Atlas A2 训练系列产品,浮点计算的溢出模式默认采用“INF/NAN模式”,所以默认场景下,可直接跳过该迁移点。若您手工调用set_device_sat_mode接口将浮点计算的溢出模式修改为了“饱和模式”,则需要参考本章节进行脚本迁移。但需要注意,饱和模式仅用于兼容旧版本,后续不再演进,且此模式下计算精度可能存在误差。

迁移说明

通常,用户原始脚本在使用混合精度提升性能时,会使用LossScaleOptimizer保证精度,浮点计算溢出模式为“饱和模式”的场景下,由于NPU上浮点溢出的行为是全局标志置位而非产生Inf或NaN的输出,所以您需要使用NPU提供的npu.train.optimizer.NpuLossScaleOptimizer以获取正确的溢出检测结果。

npu.train.optimizer.NpuLossScaleOptimizer使用方法与tf.keras.mixed_precision.LossScaleOptimizer完全一致,使用细节可参考链接

如果您的脚本中使用的是tf.keras.mixed_precision.LossScaleOptimizer,直接替换为npu.train.optimizer.NpuLossScaleOptimizer即可。如果您使用了其他类型的LossScaleOptimizer,您应当先切换为tf.keras.mixed_precision.LossScaleOptimizer,进行功能精度验证后再进行上述替换。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词