2017-05-23 77 views
5

我有下面的代碼從目錄中讀取文件名:TensorFlow操作「tf.train.match_filenames_once」不工作

directory = "C:/pics/*.csv" 
file_names=tf.train.match_filenames_once(directory) 
print(file_names) 
<tf.Variable 'matching_filenames_1:0' shape=<unknown> dtype=string_ref> 

with tf.Session() as sess: 
    tf.global_variables_initializer().run() 
    print(sess.run(file_names)) 

當我運行會話我收到以下錯誤: 「試圖使用未初始化值matching_filenames「

請告訴我我做錯了什麼。

回答

8

TF認爲全局和局部變量之間存在微妙的區別。此代碼按預期工作

 
import tensorflow as tf 

directory = "*.*" 
file_names = tf.train.match_filenames_once(directory) 

init = (tf.global_variables_initializer(), tf.local_variables_initializer()) 

with tf.Session() as sess: 
    sess.run(init) 
    print(sess.run(file_names)) 
+1

非常感謝!你爲我節省了很多挫折。如果他們在'tf.train.match_filenames_once'的文檔中提到了這將會很棒。 – siby