TensorFlow函數(shù):tf.losses.sigmoid_cross_entropy

2018-09-04 17:39 更新

tf.losses.sigmoid_cross_entropy函數(shù)

tf.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
)

定義在:tensorflow/python/ops/losses/losses_impl.py.

使用tf.nn.sigmoid_cross_entropy_with_logits創(chuàng)建交叉熵loss.

weights作為loss的系數(shù).如果提供了標(biāo)量,那么loss只是按給定值進(jìn)行縮放.如果weights是形狀為[batch_size]的張量,則loss權(quán)重適用于每個(gè)相應(yīng)的樣本.

如果label_smoothing非零,則將標(biāo)簽平滑為1/2:

new_multiclass_labels = multiclass_labels * (1 - label_smoothing)
                        + 0.5 * label_smoothing

參數(shù):

  • multi_class_labels:{0, 1}中的[batch_size, num_classes]目標(biāo)整數(shù)標(biāo)簽.
  • logits:Float [batch_size, num_classes]記錄網(wǎng)絡(luò)的輸出.
  • weights:可選的Tensor,其秩為0或與labels具有相同的秩,并且必須可廣播到labels(即,所有維度必須為1與相應(yīng)的losses維度相同).
  • label_smoothing:如果大于0,則平滑標(biāo)簽.
  • scope:計(jì)算loss時(shí)執(zhí)行的操作范圍.
  • loss_collection:將添加loss的集合.
  • reduction:適用于loss的減少類型.

返回:

與logits具有相同類型的加權(quán)損失Tensor;如果reduction是NONE,則它的形狀與logits相同;否則,它是標(biāo)量.

可能引發(fā)的異常:

  • ValueError:如果logits的形狀與multi_class_labels不匹配,或形狀weights無效,或者如果weights是NONE;或者如果multi_class_labels或logits為NONE.
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)