tf.losses

参考 tf.losses - 云+社区 - 腾讯云

一、概述

1、类

2、函数

二、重要的函数

1、tf.losses.huber_loss

在训练程序中添加一个Huber损失项。

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

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

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

其中d是delta。

参见:https://en.wikipedia.org/wiki/Huber_loss

权重作为损失的系数。如果提供一个标量,则损失只需按给定值进行缩放。如果权值是一个大小张量[batch_size],则通过权值向量中对应的元素重新计算批次中每个样本的总损失。如果权重的形状与预测的形状相匹配,那么预测的每个可度量元素的损失将按相应的权重值进行缩放。

参数:

  • labels:地面真相输出张量,与“预测”维度相同。
  • predictions:预测输出。
  • weights:可选张量,其秩要么为0,要么与标签的秩相同,并且必须对标签(即,所有尺寸必须为1,或与对应的损耗尺寸相同)。
  • delta:浮点数,huber损失函数从二次函数变为线性函数的点。
  • scope:计算损失时执行的操作的范围。
  • loss_collection:将损失添加到其中的集合。
  • reduction:适用于损失的减额类型。

返回值:

  • 加权损失浮点张量。如果还原为零,则其形状与标签相同;否则,它就是标量。

可能产生的异常:

  • ValueError: If the shape of predictions doesn't match that of labels or if the shape of weights is invalid. Also if labels or predictions is None.

Eager Compatibility

  • 当急切地执行时,会忽略loss_collection参数。考虑持有收益值或通过tf.keras.模型收集损失。

2、tf.losses.add_loss

将外部定义的损失添加到损失集合中。

tf.losses.add_loss(
    loss,
    loss_collection=tf.GraphKeys.LOSSES
)

参数:

  • loss:损耗张量。
  • loss_collection:将损失添加到其中的可选集合。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wanderer001

ROIAlign原理

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值