計算 logits 和 labels 之間的 softmax 交叉熵。
用法
tf.nn.softmax_cross_entropy_with_logits(
labels, logits, axis=-1, name=None
)參數
-
labels沿類維度的每個向量都應保持有效的概率分布,例如對於標簽形狀為[batch_size, num_classes]的情況,labels[i]的每一行都必須是有效的概率分布。 -
logitsPer-label 激活,通常是線性輸出。這些活化能被解釋為非標準化的對數概率。 -
axis類維度。默認為 -1,這是最後一個維度。 -
name操作的名稱(可選)。
返回
-
包含 softmax 交叉熵損失的
Tensor。它的類型與logits相同,其形狀與labels相同,隻是它沒有labels的最後一個維度。
測量類別互斥(每個條目恰好屬於一個類別)的離散分類任務中的概率誤差。例如,每張 CIFAR-10 圖像都帶有一個且隻有一個標簽:圖像可以是狗或卡車,但不能同時是兩者。
注意:雖然這些類是互斥的,但它們的概率不一定是互斥的。所需要的隻是labels 的每一行都是有效的概率分布。如果不是,則梯度的計算將不正確。
如果使用獨占 labels(其中一次隻有一個類為真),請參閱 sparse_softmax_cross_entropy_with_logits 。
用法:
logits = [[4.0, 2.0, 1.0], [0.0, 5.0, 1.0]]
labels = [[1.0, 0.0, 0.0], [0.0, 0.8, 0.2]]
tf.nn.softmax_cross_entropy_with_logits(labels=labels, logits=logits)
<tf.Tensor:shape=(2,), dtype=float32,
numpy=array([0.16984604, 0.82474494], dtype=float32)>
警告:此操作需要未縮放的 logits,因為它在內部對 logits 執行 softmax 以提高效率。不要使用 softmax 的輸出調用此操作,因為它會產生不正確的結果。
一個常見的用例是具有形狀 [batch_size, num_classes] 的 logits 和標簽,但支持更高的維度,axis 參數指定類維度。
logits 和 labels 必須具有相同的 dtype(float16 , float32 或 float64 )。
反向傳播將同時發生在 logits 和 labels 中。要禁止反向傳播到 labels ,請將標簽張量通過 tf.stop_gradient 傳遞給此函數。
請注意,為避免混淆,隻需要將命名參數傳遞給此函數。
相關用法
- Python tf.nn.softmax用法及代碼示例
- Python tf.nn.scale_regularization_loss用法及代碼示例
- Python tf.nn.sigmoid_cross_entropy_with_logits用法及代碼示例
- Python tf.nn.space_to_depth用法及代碼示例
- Python tf.nn.separable_conv2d用法及代碼示例
- Python tf.nn.safe_embedding_lookup_sparse用法及代碼示例
- Python tf.nn.sparse_softmax_cross_entropy_with_logits用法及代碼示例
- Python tf.nn.sampled_softmax_loss用法及代碼示例
- Python tf.nn.embedding_lookup_sparse用法及代碼示例
- Python tf.nn.RNNCellResidualWrapper.set_weights用法及代碼示例
- Python tf.nn.dropout用法及代碼示例
- Python tf.nn.gelu用法及代碼示例
- Python tf.nn.RNNCellDeviceWrapper.set_weights用法及代碼示例
- Python tf.nn.embedding_lookup用法及代碼示例
- Python tf.nn.RNNCellDeviceWrapper.get_weights用法及代碼示例
- Python tf.nn.local_response_normalization用法及代碼示例
- Python tf.nn.RNNCellResidualWrapper.add_loss用法及代碼示例
- Python tf.nn.max_pool用法及代碼示例
- Python tf.nn.RNNCellDropoutWrapper.set_weights用法及代碼示例
- Python tf.nn.l2_loss用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.nn.softmax_cross_entropy_with_logits。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
