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


Python tf.keras.metrics.binary_focal_crossentropy用法及代码示例


计算二元焦点交叉熵损失。

用法

tf.keras.metrics.binary_focal_crossentropy(
    y_true, y_pred, gamma=2.0, from_logits=False, label_smoothing=0.0, axis=-1
)

参数

  • y_true 地面真值,形状为 (batch_size, d0, .. dN)
  • y_pred 形状为 (batch_size, d0, .. dN) 的预测值。
  • gamma 一个对焦参数,默认是参考中提到的2.0
  • from_logits y_pred 是否预期为 logits 张量。默认情况下,我们假设 y_pred 对概率分布进行编码。
  • label_smoothing 浮点数在 [0, 1] 中。如果高于 0,则通过将标签向 0.5 挤压来平滑标签,即,对目标类使用 1. - 0.5 * label_smoothing,对非目标类使用 0.5 * label_smoothing
  • axis 计算平均值的轴。默认为 -1

返回

  • 二元焦点交叉熵损失值。形状 = [batch_size, d0, .. dN-1]

根据 Lin 等人,2018 年的说法,它有助于将焦点因子应用于down-weight 简单示例并更多地关注困难示例。默认情况下,焦点张量计算如下:

focal_factor = (1 - output)**gamma 用于 1 类 focal_factor = output**gamma 用于 0 类,其中 gamma 是聚焦参数。当gamma = 0 时,这个函数相当于二元交叉熵损失。

单机使用:

y_true = [[0, 1], [0, 0]]
y_pred = [[0.6, 0.4], [0.4, 0.6]]
loss = tf.keras.losses.binary_focal_crossentropy(y_true, y_pred, gamma=2)
assert loss.shape == (2,)
loss.numpy()
array([0.330, 0.206], dtype=float32)

相关用法


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