Tensorflow concat 2D维度张量为3D维度张量

时间:2017-12-19 18:51:13

标签: python tensorflow

这是一个简单的问题。我有3D形状的张量。让我们说它是[2,2,3]。我在2D形状[2,2]中有另一个张量。但两个元素的前两个维度是匹配的。我想concat它们使得2D张量被添加到第三维中的3D张量。即 [2,2,4]

我不知道如何实现这一目标。我尝试使用tf.concattf.stack,但这要求两个张量都相同。

1 个答案:

答案 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]