在Tensorflow中从图像的自定义数据集创建批次

时间:2016-05-19 10:19:06

标签: python tensorflow

我正在从磁盘上读取.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

1 个答案:

答案 0 :(得分:4)

您的错误消息根本没有链接到TensorFlow(您可以看到TensorFlow没有抛出ValueError)。

如果查看doc,可以看到tf.train.batch()返回张量列表(总共一个值),并且在写{{1}时尝试获取两个值}。

这就是你得到batches, _ = tf.train.batch(...)的原因。

你只需要写:

ValueError: too many values to unpack