OutOfRangeError(请查看上面的追溯信息):RandomShuffleQueue ‘_1 always appear..,why?

# -*- coding:UTF-8 -*-import tensorflow as tfimport osdef picread(fileList):    """    读取狗图片并转换成张量    :param fileList: 文件路径 + 名字的列表    :return: 每张图片的张量    """    # 1. 构造文件队列    file_queue = tf.train.string_input_producer(filelist)    print(file_queue)    # 2. 构造阅读器去读取图片内容(默认是按一张图片)    reader = tf.WholeFileReader()    key,value = reader.read(file_queue)    # 3. 对读取的图片数据进行解码    image = tf.image.decode_jpeg(value)    # 4. 处理图片的大小(统一大小)    image_resize = tf.image.resize_images(image,[200,200])    image_resize.set_shape([200,200,3])  # 批处理要求形状必须固定    # 4. 进行批处理    image_batch = tf.train.shuffle_batch([image_resize],min_after_dequeue=10,batch_size=20,num_threads=1,capacity=40)    return image_batchif __name__ == "__main__":    file_names = os.listdir("/Users/yuxiao/Desktop/test1/")    filelist = [os.path.join("/Users/yuxiao/Desktop/test1/",file) for file in file_names]    print(len(filelist))    image_batch = picread(filelist)    with tf.Session() as sess:        sess.run(tf.local_variables_initializer())        # 定义一个线程协调器        coord = tf.train.Coordinator()        # 开启读文件的线程        threads = tf.train.start_queue_runners(sess,coord=coord)        for i in range(200):            print("第",i,"次")            sess.run([image_batch])        # 回收子线程        coord.request_stop()        coord.join(threads)

OutOfRangeError(请查看上面的追溯信息):RandomShuffleQueue ‘_1_shuffle_batch/random_shuffle_queue’ 已关闭且元素不足(请求15个,当前大小10个)

这个异常总是出现,而且是随机出现的,有时在第180次,有时在第170次。我的文件夹中有5890+张小jpg图片。我还没有到达文件列表的末尾。我只想知道为什么?这个问题已经花了我整整4个小时,还没有解决方案。谁能帮帮我?非常感谢!!!!


回答:

请检查输出,看看是否有任何形状不匹配的错误。

您分享的示例代码在我使用全是3通道图像的数据集时是有效的。后来我添加了一张灰度图像,并观察到了您看到的错误。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注