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


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


使用 tf.nn.sigmoid_cross_entropy_with_logits 创建 cross-entropy 损失。

用法

tf.compat.v1.losses.sigmoid_cross_entropy(
    multi_class_labels, logits, weights=1.0, label_smoothing=0, scope=None,
    loss_collection=tf.GraphKeys.LOSSES, reduction=Reduction.SUM_BY_NONZERO_WEIGHTS
)

参数

  • multi_class_labels [batch_size, num_classes] 中的目标整数标签 {0, 1}
  • logits Float [batch_size, num_classes] 记录网络的输出。
  • weights 可选Tensor,其秩为0,或与multi_class_labels相同的秩,并且必须可广播到multi_class_labels(即,所有维度必须是1,或与相应的losses维度相同) .
  • label_smoothing 如果大于 0 则平滑标签。
  • scope 在计算损失时执行的操作的范围。
  • loss_collection 将添加损失的集合。
  • reduction 适用于损失的减免类型。

返回

  • 加权损失 Tensorlogits 类型相同。如果 reductionNONE ,则它的形状与 logits 相同;否则,它是标量。

抛出

  • ValueError 如果 logits 的形状与 multi_class_labels 的形状不匹配,或者如果 weights 的形状无效,或者如果 weights 为 None。此外,如果 multi_class_labelslogits 为无。

weights 作为损失的系数。如果提供了标量,则损失只是按给定值缩放。如果 weights 是形状为 [batch_size] 的张量,则损失权重适用于每个相应的样本。

如果 label_smoothing 不为零,则将标签平滑到 1/2:

new_multiclass_labels = multiclass_labels * (1 - label_smoothing)

                        + 0.5 * label_smoothing

eager模式兼容性

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

相关用法


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