2017-05-23 2 views
5

ich folgenden Code haben, Dateinamen aus dem Verzeichnis zu lesen:TensorFlow Betrieb ‚tf.train.match_filenames_once‘ nicht funktioniert

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)) 

Als ich Sitzung ausgeführt ich die folgende Störung erhalte: "Der Versuch, nicht initialisierte Wert zu verwenden Matching_filenames "

Bitte sagen Sie mir, was ich falsch mache.

Antwort

8

Es gibt eine feine Unterscheidung zwischen dem, was TF als globale und lokale Variable ansieht. Dieser Code funktioniert wie erwartet

 
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

Vielen Dank! Du hast mir eine Menge Frustration erspart. Es wäre toll gewesen, wenn sie das in der Dokumentation zu 'tf.train.match_filenames_once' erwähnt hätten. – siby

Verwandte Themen