我试图为批量训练阅读一组图像和标签,但我不断收到错误:
TypeError: Using a `tf.Tensor` as a Python `bool` is not allowed. Use `if t is not None:` instead of `if t:` to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor.
这是我非常简化的代码,可以重现错误:
import tensorflow as tf
import numpy as np
image = tf.image.decode_jpeg('C:\\Users\\Alex\\Documents\\Programing\\Python\\cs_dataset\\square.jpeg', channels = 1)
image.set_shape([15, 15, 1])
label = np.array([0, 1])
tf.convert_to_tensor(label)
ibatch, lbatch = tf.train.batch([image, label], batch_size=1)
init_op = tf.global_variables_initializer()
with tf.Session() as sess:
init_op.run()
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
sess.run(ibatch, lbatch)
coord.request_stop()
coord.join(threads)
我在这个例子中只使用了一个图像。 在这个简单的例子中,这个错误的原因是什么?
一个没有帮助的相关问题: Tensorflow read images with labels
答案 0 :(得分:0)
如果您想在session
中评估多个张量,则需要将它们传递到数组fetches
到session.run(fetches)
。
因此,将sess.run(ibatch, lbatch)
更改为sess.run([ibatch, lbatch])
,请参阅docs了解更多信息。