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


Python tf.compat.v1.losses.huber_loss用法及代码示例


在训练过程中添加 Huber Loss 项。

用法

tf.compat.v1.losses.huber_loss(
    labels, predictions, weights=1.0, delta=1.0, scope=None,
    loss_collection=tf.GraphKeys.LOSSES, reduction=Reduction.SUM_BY_NONZERO_WEIGHTS
)

参数

  • labels 地面实况输出张量,与'predictions' 的维度相同。
  • predictions 预测的输出。
  • weights 可选Tensor,其秩为0,或与labels相同的秩,并且必须可广播到labels(即,所有维度必须是1,或与相应的losses维度相同) .
  • delta float ,Huber损失函数从二次变为线性的点。
  • scope 在计算损失时执行的操作的范围。
  • loss_collection 将添加损失的集合。
  • reduction 适用于损失的减免类型。

返回

  • 加权损失浮点数 Tensor 。如果 reductionNONE ,则其形状与 labels 相同;否则,它是标量。

抛出

  • ValueError 如果predictions 的形状与labels 的形状不匹配或weights 的形状无效。此外,如果 labelspredictions 为无。

对于 error=labels-predictions 中的每个值 x,计算如下:

0.5 * x^2                  if |x| <= d
  0.5 * d^2 + d * (|x| - d)  if |x| > d

其中 d 是 delta

weights 作为损失的系数。如果提供了标量,则损失只是按给定值缩放。如果 weights 是大小为 [batch_size] 的张量,则批次的每个样本的总损失将由 weights 向量中的相应元素重新缩放。如果 weights 的形状与 predictions 的形状匹配,则 predictions 的每个可测量元素的损失将按 weights 的相应值进行缩放。

eager模式兼容性

loss_collection 参数在即刻执行时被忽略。考虑保持返回值或通过 tf.keras.Model 收集损失。

相关用法


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