2016-09-02 3 views
1

Zum Beispiel wiederholen (ich kann dies ohne Probleme mit Theano zu tun):Wie unbekannte Dimension in TensorFlow

std_var = T.repeat(T.exp(log_var)[None, :], Mean.shape[0], axis=0)

WRT TF Mittlere hat Form, aber log_var hat Form (num (num?) ,)

ich weiß nicht, wie man das gleiche in TensorFlow zu tun ...

Antwort

1

können Sie shape verwenden die Form eines Platzhalter bei der Auswertung zu extrahieren. Dann einfach tile der Tensor. Zum Beispiel für:

num = 3 
p1 = tf.placeholder(tf.float32, (None, num)) 
p2 = tf.placeholder(tf.float32, (num,)) 

der Betrieb:

op = tf.tile(tf.reshape(p2, [1, -1]), (tf.shape(p1)[0], 1)) 
sess.run(op, feed_dict={p1:[[1,2,3], 
          [4,5,6]], 
         p2: [1,2,1]}) 

geben:

array([[ 1., 2., 1.], 
     [ 1., 2., 1.]], dtype=float32) 

jedoch in den meisten Fällen Sie nicht wirklich brauchen, das zu tun, da Sie sich verlassen können das Übertragungsverhalten von TF-Operationen. Zum Beispiel:

op = tf.add(p1, p2) 
sess.run(op, feed_dict={p1:[[1,2,3], 
          [4,5,6]], 
         p2: [1,2,1]}) 

gibt:

array([[ 2., 4., 4.], 
     [ 5., 7., 7.]], dtype=float32) 
+0

Es funktioniert -> thx! – Glau

Verwandte Themen