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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage