2016-07-15 12 views
0

私はtensorflowを試していて、csvファイルから読み込み、shuffle_batchでデータのバッチをプリントしようとしています。私はdecode_csv docsshuffle_batch docsを投げつけましたが、私はまだそれを働かせることができません。この例外が発生します、これを実行するtensorflowのshuffle_batchメソッドを使って作業する

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) 

TFとして 輸入tensorflow:

OutOfRangeError: RandomShuffleQueue 
    '_3_shuffle_batch_1/random_shuffle_queue' is closed 
    and has insufficient elements (requested 10, current size 0) 

私は問題が何であるかはよく分からないが

は、ここで私が持っているものです。私はそれがセッションと私がそれを扱っている方法によるものだと感じています。私はおそらくそれを正しくしていないでしょう。

答えて

0

string_input_producerイニシャライザからnum_epochs=1を削除してみます。

+0

うまく、それは働いた。どうもありがとう! ...その背後にある理由を教えてくれますか? – rtorres

+0

そのparamは、キューをデータを1回だけ通過するように制限するので、キューを埋めるために例がなくなっていると思います。おそらく、データには考えられていた行数がありません(1つまたは何かによってオフになっていますか?) –

関連する問題