TensorFlow函數(shù)教程:tf.nn.softmax_cross_entropy_with_logits

2019-02-01 17:19 更新

tf.nn.softmax_cross_entropy_with_logits函數(shù)

tf.nn.softmax_cross_entropy_with_logits(
    _sentinel=None,
    labels=None,
    logits=None,
    dim=-1,
    name=None
)

定義在:tensorflow/python/ops/nn_ops.py。

計算logits和labels之間的softmax交叉熵。(廢棄)

這個函數(shù)已被棄用。它將在以后的版本中刪除。更新說明:TensorFlow的未來主要版本將允許漸變在默認情況下流入backprop上的標簽輸入。

參考:tf.nn.softmax_cross_entropy_with_logits_v2。

測量離散分類任務(wù)中的概率誤差,其中類是互斥的(每個條目恰好在一個類中)。 例如,每個CIFAR-10圖像都標有一個且只有一個標簽:圖像可以是dog或truck,但不能同時是兩者。

注意:雖然這些類是互斥的,但它們的概率不一定如此。所需要的只是每一行l(wèi)abels是有效的概率分布。如果不是,則梯度的計算將是不正確的。

如果使用專屬labels(其中一次只有一個類為true),請參閱sparse_softmax_cross_entropy_with_logits。

警告:此操作需要未縮放的日志,因為它在內(nèi)部的logits執(zhí)行l(wèi)ogmax以提高效率。不要使用softmax的輸出調(diào)用此操作,因為它會產(chǎn)生不正確的結(jié)果。

常見的用例是具有shape [batch_size,num_classes]的logits和labels,但支持更高的維度,dim參數(shù)指定類維度。

反向傳播只會發(fā)生在logits中。要計算允許反向傳播到logits和labels的交叉熵損失,請參閱tf.nn.softmax_cross_entropy_with_logits_v2。

請注意,為避免混淆,需要僅將命名參數(shù)傳遞給此函數(shù)。

參數(shù):

  • _sentinel:用于防止positional參數(shù)。內(nèi)部的,不要使用。
  • labels:沿著類維度的每個向量應(yīng)該保持有效的概率分布,例如:對于標簽shape為[batch_size, num_classes]的情況,labels[i]的每一行必須是有效的概率分布。
  • logits:未縮放的日志概率。
  • dim:類維度。默認為-1,這是最后一個維度。
  • name:操作的名稱(可選)。

返回:

一個Tensor,包含softmax交叉熵損失的。它的類型與logits相同,它的shape與labels是相同的,除了它沒有l(wèi)abels的最后一個維度。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號