我正在试验tensorflow,我试图从csv
文件读取并通过shuffle_batch
打印出一批数据。我扔了decode_csv docs和shuffle_batch docs,但我仍然无法得到它的工作。使用tensorflow的shuffle_batch方法
这是我有: 进口tensorflow为TF
sess = tf.InteractiveSession()
filename_queue = tf.train.string_input_producer(
["./data/train.csv"], num_epochs=1, shuffle=True) # total record count in csv is 30K
reader = tf.TextLineReader()
key, value = reader.read(filename_queue)
record_defaults = [["1"], ["2"]] # irrelevant for this discussion
input, outcome = tf.decode_csv(value, record_defaults=record_defaults)
min_after_dequeue = 1000
batch_size = 10
capacity = min_after_dequeue + 3 * batch_size
example_batch = tf.train.shuffle_batch([outcome], batch_size, capacity, min_after_dequeue)
coord = tf.train.Coordinator()
tf.train.start_queue_runners(sess, coord=coord)
example_batch.eval(session = sess)
运行,这将产生此异常:
OutOfRangeError: RandomShuffleQueue
'_3_shuffle_batch_1/random_shuffle_queue' is closed
and has insufficient elements (requested 10, current size 0)
我不知道是什么问题。我有一种感觉,这是由于会议和我处理它的方式;我可能做得不好。
是的,那工作。非常感谢! ......你能告诉我背后的原因吗? – rtorres
该参数限制队列仅通过一次数据,所以我认为它正在耗尽示例来填满队列。也许数据没有你想象的那么多(关闭某个或某些东西?) –