占位符已在feed_dict中声明,但不起作用

时间:2019-05-29 09:21:59

标签: python tensorflow

我正在使用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'。

0 个答案:

没有答案