npu.train.optimizer.NpuLossScaleOptimizer(inner_optimizer, dynamic=True, initial_scale=None, dynamic_growth_steps=None)
NPU提供的LossScaleOptimizer,由于NPU上的溢出运算不保证输出Inf或者NaN,使用LossScaleOptimizer的脚本应当替换为该优化器,来屏蔽溢出检测的差异。
该优化器继承自tf.keras.mixed_precision.LossScaleOptimizer,使用方式完全相同,可以参考LINK。
NpuLossScaleOptimizer类型优化器。
1 2 3 | import npu_device as npu optimizer = tf.keras.optimizers.Adam(lr=0.1) optimizer = npu.train.optimizer.NpuLossScaleOptimizer(optimizer) |