計算 Softmax 輸出層的成本

使用 tf.nn.sparse_softmax_cross_entropy_with_logits ,但要注意它不能接受 tf.nn.softmax 的輸出。相反,計算未縮放的啟用,然後計算成本:

logits = tf.matmul(state_below, U) + b
cost = tf.nn.sparse_softmax_cross_entropy_with_logits(logits, labels)

在這種情況下:state_belowU 應該是 2D 矩陣,b 應該是一個大小等於類數的向量,labels 應該是 int32int64 的 2D 矩陣。此功能還支援具有兩個以上維度的啟用張量。