當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。