我想做什么
M = tf.concat([tensor]*N, axix = 0)
但现在,N是一个在运行时决定的张量。
other_tensor = tf.placeholder(dtype=tf.int32, shape=[None, 2])
N = tf.shape(other_tensor)[0] # N is None, and it is decided in run time.
那么,怎么做呢?
答案 0 :(得分:1)
你应该使用tf.tile
,而不是concat。要获得形状,请使用tensor.get_shape以下是一个示例:
import tensorflow as tf
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([1, 2])
c = tf.tile(a, (1, int(a.get_shape()[0])))
with tf.Session() as sess:
print sess.run(c)
如果您需要张量的形状略有不同,请阅读tile函数中的第二个参数,并使用tf.reshape