1
例如(我可以Theano做到這一點沒有問題):如何重複未知維度TensorFlow
std_var = T.repeat(T.exp(log_var)[None, :], Mean.shape[0], axis=0)
WRT TF均具有形狀,但log_var具有形狀(NUM(,NUM?) )
我不知道該怎麼做相同的TensorFlow ...
例如(我可以Theano做到這一點沒有問題):如何重複未知維度TensorFlow
std_var = T.repeat(T.exp(log_var)[None, :], Mean.shape[0], axis=0)
WRT TF均具有形狀,但log_var具有形狀(NUM(,NUM?) )
我不知道該怎麼做相同的TensorFlow ...
您可以使用shape
評估過程中提取的佔位符的形狀。然後簡單地張量tile
。例如,對於:
num = 3
p1 = tf.placeholder(tf.float32, (None, num))
p2 = tf.placeholder(tf.float32, (num,))
操作:
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]})
會給:
array([[ 1., 2., 1.],
[ 1., 2., 1.]], dtype=float32)
然而,在大多數情況下,你其實並不需要做的,因爲你可以依靠TF操作的廣播行爲。例如:
op = tf.add(p1, p2)
sess.run(op, feed_dict={p1:[[1,2,3],
[4,5,6]],
p2: [1,2,1]})
給出:
array([[ 2., 4., 4.],
[ 5., 7., 7.]], dtype=float32)
它的工作原理 - > THX! – Glau