TensorFlow에서 두 개의 Tensor를 수평으로 연결

Muhammad Zohaib 2024년2월15일
  1. 텐서의 수평 연결
  2. Tensor의 시각적 표현
  3. TensorFlow에서 두 개의 Tensor를 수평으로 연결
TensorFlow에서 두 개의 Tensor를 수평으로 연결

이 빠른 기사에서는 Python의 TensorFlow v2.8.2 프레임워크를 사용하여 두 텐서의 수평 연결을 설명합니다. 먼저 Python에서 텐서의 수평 연결에 대한 시각적 표현에 대해 논의한 다음 이를 연결하는 방법을 살펴보겠습니다.

텐서의 수평 연결

텐서는 균일한 유형(dtype이라고 함)이 있는 다차원 배열입니다. Python에는 다차원 배열에 대해 지원되는 라이브러리가 많이 있습니다(예: NumPy, PyTorch, TensorFlow 등).

TensorFlow 라이브러리는 Google에서 개발했으며 고급 다기능 라이브러리 중 하나입니다. 기계 학습 작업을 수행하면서 쉽게 텐서를 만들고 조작하는 데 가장 적합합니다.

Tensor의 시각적 표현

텐서는 다차원일 수 있습니다. 예: 1차원(랭크-1 텐서), 2차원(랭크-2 텐서), 3차원(랭크-3 텐서) 등.

1차원 텐서 가로 연결

수평 연결의 경우 텐서의 첫 번째 차원이 같아야 합니다. 아래 다이어그램에서 Tensor A(shape=(1,3))와 Tensor B(shape=(1,3))의 가로 연결은 결과 텐서를 제공합니다.

이 경우 Tensor A와 Tensor B는 동일한 첫 번째 차원(즉, 1과 같음)을 갖습니다. 연결된 텐서는 다음 다이어그램과 같이 shape=(1, 6)이 됩니다.

1차원 텐서 가로 연결

2차원 텐서 가로 연결

2차원 텐서는 행렬처럼 보입니다. 아래 다이어그램에서 두 개의 2차원 Tensor(즉, Tensor A(shape=(2,3)) 및 Tensor B(shape=(2,3)))의 수평 연결은 결과 텐서를 제공합니다.

Tensor A와 Tensor B는 동일한 첫 번째 차원(즉, 2와 같음)을 가지며 결과로 연결된 텐서는 shape=(2, 6)입니다.

2차원 텐서 가로 연결

TensorFlow에서 두 개의 Tensor를 수평으로 연결

이제 Python에서 TensorFlow를 사용하여 텐서를 수평으로 연결하는 방법을 살펴보겠습니다.

pip install tensorflow

먼저 위의 명령을 사용하여 TensorFlow 라이브러리를 설치합니다.

import tensorflow as tf

t1 = [[1, 2], [3, 4]]
t2 = [[5, 6, 7], [8, 9, 10]]
result = tf.concat([t1, t2], 1)
print(result)

위의 코드에서 먼저 TensorFlow 라이브러리를 가져온 다음 모양 (2, 2)(2, 3)의 두 텐서 t1t2를 각각 선언했습니다. 그런 다음 tf.concat(values, axis, name) 함수를 사용하여 축 1을 따라 텐서를 연결했습니다.

여기서 axis= 1은 텐서가 수평으로 연결됨을 의미합니다.

tf.concat(values, axis, name) 함수는 다음 세 가지 인수를 사용합니다.

  1. - 텐서 목록.
  2. - 연결할 차원을 나타내는 0차원 텐서입니다.
  3. name(선택 사항) - 작업의 이름을 나타냅니다.

concat 기능에 대한 자세한 설명은 여기에서 찾을 수 있습니다.

위의 코드는 다음 출력 텐서를 제공합니다.

tf.Tensor(
[[ 1  2  5  6  7]
 [ 3  4  8  9 10]], shape=(2, 5), dtype=int32)
]

결과 텐서는 (2, 5) 모양입니다. 이것은 result 텐서가 2개의 행과 5개의 열로 구성되어 있기 때문에 분명합니다.