我正在試驗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
該參數限制隊列僅通過一次數據,所以我認爲它正在耗盡示例來填滿隊列。也許數據沒有你想象的那麼多(關閉某個或某些東西?) –