2017-01-23 5 views
0

Ich habe eine TXT-Datei, die 8 Spalten hat und ich wähle 1 Spalte für meine Feature-Extraktion, die mir 13 Features Werte gibt, wird die Form der Ausgabe-Array [1x13]. Ähnlich habe ich 5 TXT-Dateien in einem Ordner Ich möchte eine Schleife ausführen, so dass die zurückgegebene Variable 5x13 Daten haben wird.Wie kann man die Multidimension des Arrays im Tensorflow erhöhen?

def loadinfofromfile(directory,sd,channel): 
    # subdir selection and read file names in it for particular crack type. 
    subdir, filenames = loadfilenamesindirectory(directory,sd) 
    for i in range(5): 
     # join the directory sub directory and the filename 
     loadfile = os.path.join(directory,subdir,filenames[i]) 
     # load the values of that paticular file into tensor 
     fileinfo = tf.constant(np.loadtxt(loadfile),tf.float32) 
     # select the particular column data (choosen from crack type, channel no) 
     fileinfo_trans = tf.transpose(fileinfo) 
     fileinfo_back = tf.gather(fileinfo_trans,channel) 
     # extracting features from selected column data gives [1x13] 
     pool = features.pooldata(fileinfo_back) 
     poolfinal = tf.concat_v2([tf.expand_dims(pool,0)],axis=0) 
    return poolfinal 

In der obigen Funktion bin ich in der Lage [1x13] auf die Variable ‚Pool‘ zu bekommen, und ich bin die Größe der variablen poolfinal erwarten als [5x13], aber ich es als [1x13] erhalten. wie in vertikaler richtung concat? Was ist der Fehler, den ich in der Schleife gemacht habe?

Antwort

0

Jede Schleife erstellt Pool und Poolfinal von Scratch. Aus diesem Grund sehen Sie nur eine Daten im Poolfinale. stattdessen versuchen Sie folgendes:

pools = [] 
for ...: 
    pools.append(...) 
poolfinal = tf.concat_v2(pools, axis=0) 
+0

wenn ich pool.append verwende ich nicht wieder brauchen zu kopieren, dass poolfinal in, ich will, es zu tun mit tensorflow Funktion concat_v2 – Raady

Verwandte Themen