Tensorflow:张量重塑错误和RandomShuffleQueue超出范围错误?

时间:2016-11-14 14:30:02

标签: python tensorflow

当我尝试运行文件时,我遇到了两个错误:

  

超出范围:RandomShuffleQueue   ' _1_input / shuffle_batch / random_shuffle_queue'已经关闭了   元素不足(请求1,当前大小0)

要求1'实际上是我的批量大小。我试图将batch_size减少到1以查看错误是否再次发生。但是,我不确定为什么当前大小为0。

  

InvalidArgumentError(参见上面的回溯):重塑的输入是a   张量为357604,但请求的形状为89401

我提到了一个较老的帖子: TensorFlow random_shuffle_queue is closed and has insufficient elements, 而且我已经检查过自357604 = 89401 * 4以来我遇到了类似的问题,所以我想知道4来自哪里。

线程确实提到如果我在int32中将文件转换为TFrecords,然后我用uint8格式读取它们,那么我的数据会增加4倍。但是,我无法告诉我在我的tfrecord文件创建中使用int32的位置。我尝试通过强制转换uint8中的tfrecords文件来解决问题(使用tensorflow mnist文件中的DataSet类,即tensorflow.contrib.learn.python.learn.datasets import mnist,并设置{{} 1}}对于我的数据集),我得到了另一个我无法识别的新错误:

dtype = tf.uint8

我试图最终使用TF-slim创建一个模型。由于TF-Slim库上的教程很少,我使用了以下代码: https://github.com/mnuke/tf-slim-mnist 作为参考。我的大多数代码示例都参考了此链接中的代码。

1 个答案:

答案 0 :(得分:1)

我对第一个问题的猜测是你需要这样做:

sess.run(tf.initialize_local_variables())

如果您未初始化Queue的纪元数,则会出现此问题。