当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.compat.v1.mixed_precision.MixedPrecisionLossScaleOptimizer用法及代码示例


应用损失缩放的优化器。

继承自:Optimizer

用法

tf.compat.v1.mixed_precision.MixedPrecisionLossScaleOptimizer(
    opt, loss_scale
)

参数

  • use_locking 布尔。如果 True 应用使用锁来防止对变量的并发更新。
  • name 一个非空字符串。用于为优化器创建的累加器的名称。

抛出

  • ValueError 如果名称格式错误。

损失缩放是将损失乘以称为损失比例的乘数的过程,并将每个梯度除以相同的乘数。这个过程的伪代码是:

loss = ...
loss *= loss_scale
grads = gradients(loss, vars)
grads /= loss_scale

在数学上,损失缩放没有影响,但是当 float16 张量用于混合精度训练时,可以帮助避免中间梯度中的数值下溢。通过乘以损失,每个中间梯度将应用相同的乘数。

损失比例可以是固定常数,由用户选择,也可以是动态确定的。动态确定损失规模很方便,因为不必明确选择损失规模。但是,它会降低性能。

该优化器包装了另一个优化器,并通过 LossScale 对其应用损失缩放。每当计算梯度时都会应用损失缩放,例如通过 minimize()

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.mixed_precision.MixedPrecisionLossScaleOptimizer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。