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


Python tf.mixed_precision.experimental.LossScale用法及代码示例

所有 TF1 损失量表的基类。

用法

tf.mixed_precision.experimental.LossScale()

警告:此类已弃用,并且在 TensorFlow 的未来版本中不会从 TF 2 命名空间中公开。一旦发生这种情况,这个类将只能作为 tf.compat.v1.mixed_precision.LossScale 访问。此类中的所有函数都已合并到 tf.keras.mixed_precision.LossScaleOptimizer 中,因此不再需要此类。

这是一个抽象基类,所以不能直接实例化它。相反,使用它的具体子类之一:

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

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

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

此类的实例表示损失量表。调用此类的实例将损失比例返回为标量 float32 张量,而方法 update() 根据梯度的值更新损失比例。优化器使用此类的实例来缩放损失和梯度。

在大多数接受 LossScale 的函数中,您还可以传递一个 int(例如

8) 创建FixedLossScale 或字符串"dynamic" 以创建动态损失比例。

相关用法


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