这是一个简单的问题。我有3D形状的张量。让我们说它是[2,2,3]
。我在2D形状[2,2]
中有另一个张量。但两个元素的前两个维度是匹配的。我想concat
它们使得2D张量被添加到第三维中的3D张量。即
[2,2,4]
。
我不知道如何实现这一目标。我尝试使用tf.concat
和tf.stack
,但这要求两个张量都相同。
答案 0 :(得分:4)
您可以使用tf.expand_dims()
将较小的张量转换为正确的等级,然后是tf.concat()
:
tensor_3d = tf.placeholder(tf.float32, shape=[2, 2, 3])
tensor_2d = tf.placeholder(tf.float32, shape=[2, 2])
tensor_2d_as_3d = tf.expand_dims(tensor_2d, 2) # shape: [2, 2, 1]
result = tf.concat([tensor_3d, tensor_2d_as_3d], 2) # shape: [2, 2, 4]