假设我有一个占位符
ph_input = tf.placeholder(dtype=tf.int32, [None, 1])
和一个矢量
h = tf.zeros([1,2], dtype=tf.int32)
在这个例子中,为简单起见, h
用零填充,但在实际情况下,它将被其他变量更改并具有不同的值 .
我希望在维 1
上有效地对 ph_input
和 h
进行 concat
并得到一个形状为 [None, 1+2]
的新张量 . 不幸的是 concat
需要所有输入张量具有相同的形状,除了 concat_dim
,我的例子不符合 .
我正在考虑将 h
扩展为与提供给 ph_input
的数据相同的形状,但我不确定如何使用占位符本身 . 如果我直接从输入数据中获取形状,那么我想没有必要使用占位符 .
1 回答
最通用的解决方案是使用tf.shape() op获取占位符的运行时大小,并使用tf.tile() op将
h
扩展为适当的大小: