2017-03-02 2 views
0

Ich habe eine Textdatei, die 110 Zeilen und 1024 Spalten Float-Werte hat. Ich versuche, die Textdatei zu laden, und es liest nichts.lesen Textdatei Rückgabe leere Variable in Tensorflow

filename = '300_faults.txt' 
filename_queue = tf.train.string_input_producer([filename]) 
reader = tf.TextLineReader() 
_,a = reader.read(filename_queue) 
#x = np.loadtxt('300_faults.txt') # working 
#a = tf.constant(x,tf.float32)  # working 

model = tf.initialize_all_variables() 
with tf.Session() as session: 
    session.run(model) 
    print(session.run(tf.shape(a))) 

Drucken der Form der Variablen [].

Antwort

0

Erstens - tf.shape(a) == [] bedeutet nicht, dass die Variable leer ist. Alle Skalare und Strings haben die Form [].

https://www.tensorflow.org/programmers_guide/dims_types

Mai werden Sie überprüfen „Rang“ kann statt - es 0 für Skalare und Streicher wäre. Ansonsten sieht es aus wie string_input_producer ist eine Warteschlange und es braucht zusätzliche Verkabelung, um ti arbeiten zu lassen.

Bitte versuchen Sie diese

filename = '300_faults.txt' 
filename_queue = tf.train.string_input_producer([filename]) 
reader = tf.TextLineReader() 
_,a = reader.read(filename_queue) 
#x = np.loadtxt('300_faults.txt') # working 
#a = tf.constant(x,tf.float32)  # working 

model = tf.initialize_all_variables() 
with tf.Session() as session: 
    session.run(model) 

    coord = tf.train.Coordinator() 
    threads = tf.train.start_queue_runners(coord=coord) 

    print(session.run(tf.shape(a))) 

    print(session.run((a))) 
    coord.request_stop() 
    coord.join(threads) 
+0

Aber wenn ich die Variable drucken kann ich nur die erste Zeile gedruckt werden. Und wenn ich auf die Variable zugreife (zum Beispiel print (session.run (a [1,1])), zeigt es mir den Fehler "Value Error: Index außerhalb des Bereichs mit Input Dim 0; Input hat nur 0 Dims für 'Stride_slice' – Raady

+0

Ich denke, Sie müssen die Zeile analysieren. Ich meine, wenn es eine Zeichenfolge ist, können Sie nicht nur darauf zugreifen, als wäre es ein Array (wie Sie in Vanille Python tun). https://www.tensorflow.org/ programmers_guide/reading_data Überprüfen Sie, dass "cvs-Dateien" Teil! – avloss