Tensorflow调用tf.train.shuffle_batch函数报错“OutOfRangeError: RandomShuffleQueue”

cifar10 for Tensorflow1.11 Google官网教程,从中文社区下下来之后,根据1.11版本的Tensorflow进行了修改,遇到问题是gpu版本依然跑在cpu上,不过能跑, 立即下载

1.报错内容:

OutOfRangeError (see above for traceback): RandomShuffleQueue '_1_shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 3, current size 0) [[Node: shuffle_batch = QueueDequeueManyV2[component_types=[DT_FLOAT, DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/device:CPU:0"](shuffle_batch/random_shuffle_queue, shuffle_batch/n)]]

2.问题说明

首先,初始该类问题表明程序本身并没有实质性的语法错误,其次,该报错是由shuffle_batch函数生成的

3.错误排查

(1)若显示:“requested 3, current size 1”表明数据还未读入,可尝试调小batch_size(随机出队列的数据量); 或者增大num_threads(线程数量)

(2)若显示:“requested 3, current size 1”则表示数据本身并没有读入,则可检查数据集是否有问题

比如:

①一个对象(行)应当有7个元素进行表示,却只有6个元素)

②按照指定格式读取数据,如[[1.0], [1.0], [1.0]], 却读取了数据标题行的字符型标题,导致数据无法读入,解决的方法有两个:①tf.TextLineReader()等函数读取数据时直接跳过第一行;②在原始数据中删除第一行,即删除第一行标题行

4.示例代码

import tensorflow as tf
import numpy as np
import os
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"


def readFile(filename):
    filename_queue = tf.train.string_input_producer(filename, shuffle=False)

    # 定义reader(逐行读取)
    reader = tf.TextLineReader(skip_header_lines=1)
    key, value = reader.read(filename_queue)

    # 读取数据时对应的匹配类型
    # [1.0]:float
    # [1]:int
    # ["null"]:string
    record_defaults = [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]]
    # record_defaults = []
    # for i in range(7):
    #     record_defaults.append([1.0])
    col1, col2, col3, col4, col5, col6, col7 = tf.decode_csv(value, record_defaults=record_defaults)

    # tf.stack:按照给定方向堆叠
    label = tf.stack([col1, col2])
    features = tf.stack([col3, col4, col5, col6, col7])

    # 注意min_after_dequeue < capacity
    example_batch, label_batch = tf.train.shuffle_batch([features, label], batch_size=3, capacity=100, min_after_dequeue=10)
    return example_batch, label_batch


example_batch, label_batch = readFile(["cancer.txt"])

with tf.Session() as sess:
    
    # 数据读取必须要创建线程协调器
    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(sess=sess, coord=coord)
    for i in range(5):
        e_val, l_val = sess.run([example_batch, label_batch])
        print(e_val)
    coord.request_stop()
    coord.join(threads)

 

Deepfake检测模型-PyDeepFakeDet项目复现实验报告-深度学习 该实验是对于https://github.com/wangjk666/PyDeepFakeDet模型的复现。PyDeepFakeDet 是一款集成的、可扩展的 Deepfake 检测工具。目标是提供最先进的 Deepfake 检测模型以及用于在常用 Deepfake 数据集上训练和评估新模型的接口。 阅读详情

相关推荐

为什么你的ESXI无法识别移动硬盘?一步步教你解决USB存储挂载问题

本文深入解析了ESXi无法识别移动硬盘的根本原因,并提供了从诊断到解决的完整方案。核心在于理解ESXi的USB Arbitrator服务机制,通过检查服务状态、内核设备识别及分区表,逐步定位问题。文章详细指导了如何禁用USB仲裁服务以在主机挂载USB存储,或将其直通给虚拟机,并针对大容量硬盘、USB 3.0兼容性等进阶问题给出了实用建议。

qq_27496129的博客 331

Tensorflow调用tf.train.shuffle_batch函数报错“OutOfRangeError: RandomShuffleQueue

Tensorflow调用tf.train.shuffle_batch函数报错“OutOfRangeError: RandomShuffleQueue is closed and has insufficient elements (requested , current size ) 我是运行的中间出现这个问题, 1,网上的各种说法,我都试过了,发现任然无法解决; 2,我这边是运行到第7个文件左右出现这个报错(已经验证过不是文件问题),经过查看是因为,运行中不断的在往网络中添加节点,导致运行到一定时间后

zlc0324的博客 1348

基于EKF的UWB-IMU融合定位系统在农业机器人中的抗干扰优化与Matlab仿真

本文探讨了基于扩展卡尔曼滤波(EKF)的UWB-IMU传感器融合定位系统在农业机器人中的应用。通过Matlab仿真验证,该系统有效解决了农业环境中UWB信号遮挡和IMU累积误差问题,实现了厘米级高精度定位,显著提升了机器人在复杂场景下的抗干扰能力和导航可靠性。

numpy6sculptor的博客 623

TensorFlow图像数据处理

TensorFlow图像数据处理 作者: 大树先生 博客: http://blog.csdn.net/koala_tree GitHub:https://github.com/KoalaTree 2017 年 09 月 18 日 –自《TensorFlow实战Google》在卷积神经网络的训练过程中,图片的很多因素都会对训练数据产生很大的影响,进而影响神经网络模型的训练;同时也

大树先生的博客 4999

基于STM32F103C8T6的红外循迹避障小车

编程思路:控制核心板IO口的电平(即电机驱动模块的AIN1,AIN2,BIN1,BIN2)从而控制AO1、AO2、BO1、BO2的电平高低,进而控制电机使其正转、反转、不转。由于单纯地拉高拉低电平只能让电机在转与不转的状态切换,故决定利用TIM4的两个通道分别产生两路PWM信号来控制电机速度,四个电机两个一组,同一侧的两个连接在同一个PWM上。(#include "dianji.h"文件中同时写了对循迹模块引脚的初始化)

weixin_48743503的博客 1万+

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库)

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库) 日志记录 默认情况下,所有 Sysrepo 日志记录都处于关闭状态。如果启用,日志消息有 3 种输出。它们可以写入stderr、由 处理syslog或简单地传递给回调。 请务必注意,启用 Sysrepo 日志记录也会修改libyang日志记录设置。错误消息被视为标准 Sysrepo 错误,其他严重性较低的消息完全隐藏。要更改此行为,只需在启用 Sysrepo 日志记录后调整libyang日志记录设置。 此外,几乎每个 Sysrepo

weixin_43489394的博客 9227

OutOfRangeError (see above for traceback): RandomShuffleQueue '_1_shuffle_batch/random_shuffle_queue

OutOfRangeError (see above for traceback): RandomShuffleQueue '_1_shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 1, current size 0) 使用tfrecord时,报上述错误,检查了各种逻辑,最...

u011587322的博客 2907

Veritas NetBackup8.1.1安装

1.在服务器上运行Browser.exe 2.选中安装,点击"NetBackup Server Software Installation" 3.提示一个”UAC模式”,我们确定忽略它 4.下一步 5.接受授权,下一步 6.自定义安装 7.输入Key,并点击”netBackup Master Server” 8.自定义路径,下一步 9.默认端口,下一步 10.创建内置账户 创建本地用户帐户: C:\>net user nbwebsvc <StrongPassword> /

万物皆可学 2万+

tf.train.batch和tf.train.shuffle_batch的理解

capacity是队列的长度 min_after_dequeue是出队后,队列至少剩下min_after_dequeue个数据 假设现在有个test.tfrecord文件,里面按从小到大顺序存放整数0~100 1. tf.train.batch是按顺序读取数据,队列中的数据始终是一个有序的队列, 比如队列的capacity=20,开始队列内容为0,1,..,19=>读取10条记录后,...

人生虚空 3万+

RT-DETR改进策略【卷积层】| CVPR-2020 Strip Pooling 空间池化模块 处理不规则形状的对象 含二次创新

一、本文介绍 本文记录的是利用Strip Pooling模块优化RT-DETR的目标检测网络模型。Strip Pooling结合了长而窄的卷积核形状在一个空间维度上的长程关系捕捉能力和在另一个空间维度上的局部细节捕捉能力,有效地处理复杂的场景信息。这一机制通过采用1×N1×N1×N或N×1N×1N×1的池化核形状来适应不同的图像特征,提高模型对目标形状和分布的适应性。在场景解析网络中,Strip Pooling可以被用于提升对具有长程带状结构或离散分布目标的解析能力,特别是在复杂场景或不同对象布局条件下效果

Limiiiing的博客 580

《YOLO系列模型的多模态项目》配置使用教程(必看内容)

在根目录的文件夹中用于存放的是我已经配置好的一些多模态融合模型,可结合专栏中相应的文章介绍,进一步了解测试其中内容。

Limiiiing的博客 4657

OutOfRangeError : RandomShuffleQueue '_1_shuffle_batch/random_shuffle_queue' is closed

OutOfRangeError (see above for traceback): RandomShuffleQueue '_1_shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 128, current size 125),这个错误是因为tf.train.shuffle_...

qwe2508的博客 1万+

使用R语言实战:构建Logistic回归模型

Logistic回归是一种基于概率的分类算法,它用于预测离散的结果变量(也称为响应变量或因变量)。与线性回归不同,Logistic回归的输出是一个概率值,通常在0和1之间。这使得它非常适合处理二分类问题。市场营销:预测客户是否会购买某个产品。医学研究:预测疾病的发生与否。信用风险评估:预测个人申请贷款的违约风险。社会科学:预测个人对某个政策的态度。

2301_79331230的博客 1140

OutOfRangeError (see above for traceback): Read less bytes than requested

Pycharm远程调用服务器时,中间网络中断过一段时间,后来在运行程序会报这个错误。一开始以为是哪一部分代码写错了,耗费 了好几个小时,后来参考别人的错误发现: pycharm同步ckpt文件时,如果中断过,后面每次pycharm自动同步的时候,会使ckpt文件残缺,即使是init_checkpoint的时候也会使初始加载的模型数据残缺 目前有两种解决方法: 对于在初始化模型时中断的情况,建议...

fly_Xiaoma的博客 1931

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

OutOfRangeError: End of sequence问题解决

1、问题描述: ...... dataset = dataset.apply( tf.contrib.data.map_and_batch( map_func=lambda x: parse_func_single(self.config, x), batch_size=self.config.batch_size, drop_remainder=True,

weixin_38063948的博客 2097

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

tf.train.batch和tf.train.shuffle_batch理解以及遇到的问题

函数原型   tf.train.batch([example, label], batch_size=batch_size, capacity=capacity) 1. [example, label]表示样本和样本标签,这个可以是一个样本和一个样本标签 2. batch_size是返回的一个batch样本集的样本个数。 3. capacity是队列中的容量。这主要是按顺序组合成...

lighting 5748

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

TFRecord读取数据

前言 关于Tensorflow读取数据,官网给出了三种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据。 从文件读取数据: 在TensorFlow图的起始, 让一个输入管线从文件中读取数据。 预加载数据: 在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况)。 使用Tensorflow训练神经网络

grllery的博客 5641

如何修复TensorFlow中的OutOfRangeError:迭代器数据耗尽

大家好,我是默语,擅长全栈开发、运维和人工智能技术。在本文中,我们将深入探讨TensorFlow中常见的错误之一——。这种错误通常出现在数据迭代器消耗完数据时。我们将通过实际代码示例和详细分析,帮助你理解并解决这一问题。让我们一起探讨如何高效处理TensorFlow中的数据迭代!是在使用TensorFlow的数据迭代器时,当所有数据被消耗完毕后,系统抛出的错误。它通常发生在使用tf.dataAPI进行数据加载时。例如,在训练过程中,我们通过对象创建数据集,并使用for。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 5万+

遇到的问题与解决办法(tf.train.shuffle_batch与tf.train.slice_input_producer)

1. 在读入数据时,采用了如下代码形式 def read_image(image_path): """the image_path is the path of single image""" file_contents = tf.read_file(input_queue[0]) image_data = tf.image.decode_jpeg(file_cont

wuguangbin1230的博客 1万+

BUG- 使用TFRecord 加载数据,程序运行tf.train.shuffle_batch() 报错

这里就不详细讨论TFRecord的作用,以及如何使用,具体的使用方法,请参考文献【1】。 Error: OutOfRangeError (see above for traceback): RandomShuffleQueue '_4_shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 5, current size 0) [[Node: shuffle_batch = Q...

pain_gain0的博客 479

TensorFlow多线程输入数据处理框架

多线程输入数据处理 TFRecord输入数据格式 TensorFlow提供一种统一的TFRecord来存储数据,TFRecord文件中的数据都是通过tf.train.Example Protocol Buffer的格式来存储。 message Example { Features features = 1; }; message Features { ...

dongfeig54321的博客 508

tf.train.shuffle_batch函数解析

tf.train.shuffle_batch(tensor_list, batch_size, capacity, min_after_dequeue, num_threads=1, seed=None, enqueue_many=False, shapes=None, name=None) 原创文章,请勿转载哦~!!觉得有用的话,欢迎一起讨论相互学习~Follow MeCreates batche

泛用演化计算、通用人工智能优化模型 2万+

tf.train.batch和tf.train.shuffle_batch的用法

tf.train.batch([example, label], batch_size=batch_size, capacity=capacity):[example, label]表示样本和样本标签,这个可以是一个样本和一个样本标签,batch_size是返回的一个batch样本集的样本个数。capacity是队列中的容量。这主要是按顺序组合成一个batch tf.train.shuffle_

UESTC_C2_403的博客 1万+

tf.train.shuffle_batch打乱顺序输出数据

tf.train.shuffle_batch 该函数怎么输出数据的? tf.train.shuffle_batch主要有三个参数:batch_size,capacity,min_after_dequeue。这三个数据决定了怎么输出数据,数据有多乱。 首先我们知道tfrecord输出是按照队列输出的,那么我们一次从tfrecord加多少容量的队列呢?这个参数就是capacity。注意,此时首先加载一...

qq_42192910的博客 2275

人工智能|深度学习——多模态条件机制 Cross Attention 原理及实现

虽然之前写过 Attention 的文章,但现在回头看之前写的一些文章,感觉都好啰嗦,正好下一篇要写的 Stable Diffusion 中有 cross-attention,索性就再单拎出来简单说一下 Attention 吧,那么这篇文章的作用有两个:第一是为 Stable Diffusion 做补充,第二是为后续的 Vision Transformer 和 Swin Transformer 做铺垫。

也许有一天我们再相逢 睁开眼睛看清楚 我才是英雄! 2万+
上一篇: 机器学习 | 算法模型 —— 回归:一元/多元/逻辑回归 (以深度学习框架TensorFlow实现)
下一篇: 机器学习 | 算法模型 —— 常用激活函数(sigmod,Tanh,ReLU,LReLU,PReLU,RReLU,softmax,Maxout)
博士僧小星
博士僧小星 新星创作者: 人工智能技术领域 新星创作者: 人工智能技术领域
博客等级 码龄10年 4638粉丝 351原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博士僧小星

技术不易,奶茶鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值