大家能帮忙看一下这个tf.nn.sparse_softmax_cross_entropy_with_logits的输入都是几维的么?为什么看注释的话好像预测值和标签值维度是不一样的阿
主要区别:与上边函数不同,输入 labels 不是 one-hot 格式所以会少一维
函数输入:
logits: [batch_size, num_classes]
labels: [batch_size]
logits和 labels 拥有相同的shape
代码示例:
import tensorflow as tf
labels = [0,1,2] #只需给类的编号,从 0 开始
logits = [[2,0.5,1],
[0.1,1,3],
[3.1,4,2]]
logits_scaled = tf.nn.softmax(logits)
result = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=labels, logits=logits)
with tf.Session() as sess:
print(sess.run(result))