我正在从磁盘上读取.jpg图像列表,我想分几批进行拆分。但是在尝试创建第一批时遇到了ValueError。
这是我的代码:
import tensorflow as tf
import os
images_list = []
for i in range(6):
image = tf.read_file("{0}.jpg".format(i))
image_tensor = tf.image.decode_jpeg(image, channels=3)
image_tensor = tf.image.rgb_to_grayscale(image_tensor)
image_tensor = tf.image.resize_images(image_tensor, 28, 28)
image_tensor = tf.expand_dims(image_tensor, 0)
images_list.append(image_tensor)
batches, _ = tf.train.batch(images_list, batch_size=3, enqueue_many=True, capacity=6)
这是错误消息:
ValueError Traceback (most recent call last)
<ipython-input-77-a07e94cddf32> in <module>()
----> 1 batches, _ = tf.train.batch(images_list, batch_size=3, enqueue_many=True, capacity=6)
ValueError: too many values to unpack
答案 0 :(得分:4)
您的错误消息根本没有链接到TensorFlow(您可以看到TensorFlow没有抛出ValueError)。
如果查看doc,可以看到tf.train.batch()
返回张量列表(总共一个值),并且在写{{1}时尝试获取两个值}。
这就是你得到batches, _ = tf.train.batch(...)
的原因。
你只需要写:
ValueError: too many values to unpack