TensorFlow填坑:OurOfRangeError:RandomShuffleQueue

使用tf.train.shuffle_batch()函数读取数据时报错。

看原因的话应该是很简单,就是函数想读取那么多数据,但是没有数据可以读了。

然后我想了想,不能读就不能读呗,可以不用tfrecords啊,但后来一想,实验室资源有限,本来就用不上主机,还是为大家节省点时间,用这个官方的高效读取方法吧。

那就开始漫漫debug吧。

首先自然是在网上看看有没有人遇到过这个问题,好像不多。然后看看他们的问题描述那个和自己的最像,好像没有。看到这里内心是崩溃的。。。

两个多小时debug,心凉凉,想想要不放弃吧,实在不行就用pytorch,反正也有赶超tensorflow的趋势,心有不甘啊。。。

等等,故事还没有结束。

debug到无力,开始从pipeline中查找。

看这个函数的上游是自己写的一个读取tfrecord数据的函数,先对其进行测试,果真有问题。

进行单张图片读取的时候遇到这个问题,也就是tfrecord中的某一个数据有51529=227*227个值,但需要154587=227*227*3个值。也就是说这个数据集丫的在一堆彩色图像中混了一些灰度图像。

至此,问题解决,重新写一下tfrecord文件的生成程序。

这个故事告诉我们,一定要测试每个函数的功能。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值