2017-12-19 4 views
0

이것은 다소 간단한 질문입니다. 저는 3D 형태의 텐서를 가졌습니다. 그것이 [2,2,3]라고합시다. 2D 모양의 또 다른 텐서가 있습니다. [2,2]. 그러나 두 요소의 처음 2 차원은 일치합니다. 저는그들에게 2D 텐서가 3 차원의 3D 텐서에 추가되도록하고 싶습니다. 즉 [2,2,4]입니다.Tensorflow concat 2D 치수 텐서에서 3D 치수 텐서로

나는 이것을 달성하는 방법을 모르겠습니다. 나는 tf.concattf.stack을 사용해 보았습니다. 그러나 그것은 양쪽 텐서가 동일한 랭크가되도록 요구합니다.

답변

1

당신은 tf.concat() 다음에 정확한 순위에 작은 텐서 변환 할 tf.expand_dims()를 사용할 수 있습니다

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] 
+0

감사합니다. 정확히 내가 무엇을 찾고 있었는지 – Mj1992