我正在使用sparse_softmax_cross_entropy_with_logits计算交叉熵。
Tensorflow版本为1.13.1。
...
x = tf.placeholder("float", [None, 784], name = 'image')
y = tf.placeholder("float", [None, 10], name = 'one-hot')
y_cls = tf.placeholder("int64", [None], name = 'label')
w = tf.Variable(tf.zeros([784, 10]), name = "weights")
b = tf.Variable(tf.zeros([10]), name = "bias")
...
logits = tf.add(tf.matmul(x, w), b)
cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, labels=y_cls)
...
sess.run(optimizer, feed_dict={x: x_batch,
y_cls: y_batch})
它说:“您必须使用dtype int64和shape [?]输入占位符张量'label'的值”。为什么不起作用? y_batch的形状为(batch_size,),dtype的类型为'int64'。