2017-01-31 124 views
0

我有tfrecord文件,它有五列 - context,context_len,utterance,uuterance_len和label。 source of the tfrecord file是Ubuntu Dialog語料庫。問題是,其採取的方式太長文件Tensorflow花費太多時間來讀取tfrecord文件

filename_queue = tf.train.string_input_producer(['data/samples/train.tfrecords'], num_epochs = 1) 

reader = tf.TFRecordReader() 
_, serialized_example = reader.read(filename_queue) 

features = tf.parse_single_example(serialized_example, 
features = { 
"context" : tf.FixedLenFeature([], tf.int64), 
"context_len" : tf.FixedLenFeature([], tf.int64), 
"utterance" : tf.FixedLenFeature([], tf.int64), 
"utterance_len" : tf.FixedLenFeature([], tf.int64), 
"label" : tf.FixedLenFeature([], tf.int64) 
}) 

contexts = features['context'] 
context_lens = features['context_len'] 
utterances = features['utterance'] 
utterance_lens = features['utterance_len'] 
labels = features['label'] 

init = tf.global_variables_initializer() 
sess = tf.Session() 
sess.run(init) 
sess.run(contexts) 

在閱讀時碼的時間太長讀取這個文件,我想這一定是由於文件大小。因此,我將原始csv文件分爲10個記錄,並將其轉換爲tfrecords文件,但沒有區別。我仍然面臨同樣的問題。所以現在我確信它與我的代碼有關。我的目標是解析一個示例,稍後使用它來訓練一個RNN。

+1

你需要在第一次運行調用 –

+0

這有助於之前開始排隊跑步之前就開始排隊亞軍。代碼現在正在運行。你可以把它放在答案中。會接受它。 –

回答

1

你需要在第一次運行調用

+0

你如何開始隊列跑步者?這個答案是一個很好的補充,...謝謝! – Bastiaan

+1

tf.start_queue_runners() –

相關問題