tensorflow Form eines gekachelten Tensors
Ich habe eine Variablea
der Dimension (1, 5), die ich so oft wie die Größe meines Mini-Batch 'kacheln' möchte. Wenn zum Beispiel die Mini-Batch-Größe 32 ist, möchte ich einen Tensor @ konstruierec
der Dimension (32, 5), wobei jede Zeile dieselben Werte wie die ursprüngliche (1, 5) Variable hata
.
Aber ich kenne nur die Mini-Batch-Größe zur Laufzeit: Es ist die Größe der Dimension 0 eines Platzhaltersb
: tf.shape(b)[0]
Hier ist mein Code zum Konstruieren von c:
a = tf.Variable(np.random.uniform(size=(1,5)))
b = tf.placeholder(shape=[None, 12], dtype=tf.float32)
batch_size = tf.shape(b)[0]
c = tf.tile(a, tf.pack([batch_size, 1]))
Dies läuft gut. Jedocc.get_shape()
kehrt zurück (?, ?). Ich verstehe nicht, warum dies stattdessen nicht zurückkehrt (?, 5).
Dies verursacht später in meinem Code ein Problem, wenn ich eine Matrixvariable konstruiereW
mit Anzahl der Spaltenc.get_shape()[1]
was ich erwarte, um 5 anstatt zurückzugeben?.
Jede Hilfe wäre dankbar. Vielen Dank