Tensorflow 将 2D 维张量连接到 3D 维张量

Mj1*_*992 2 python tensorflow

这是一个比较简单的问题。我有一个 3D 形状的张量。可以说是[2,2,3]。我有另一个 2D 形状的张量[2,2]。但是这两个元素的前两个维度是匹配的。我希望concat他们将 2D 张量添加到三维的 3D 张量中。即 [2,2,4]

我不确定如何实现这一目标。我尝试使用tf.concatandtf.stack但这要求两个张量的等级相同。

mrr*_*rry 7

您可以使用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]
Run Code Online (Sandbox Code Playgroud)