计算 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 矩阵。此功能还支持具有两个以上维度的激活张量。