딥러닝은 컴퓨터 알고리즘이 데이터를 보고, 이해하고, 그리고 그것으로부터 스스로 배우는 과정을 중심으로 돌아갑니다. TensorFlow나 PyTorch 같은 딥러닝 툴을 사용하면, 텐서라는 단어를 자주 보게 됩니다. 이 글에서는 텐서가 무엇인지, 그리고 텐서의 주요 특성이 무엇인지 알아보겠습니다.
텐서는 숫자들을 담는 커다란 상자 같은 것입니다. 우리가 머신러닝 시스템에서 다루는 모든 정보는 이 텐서 안에 저장되죠. 텐서는 크게 세 가지 특성으로 정의됩니다:
float32
, float64
, int32
등이 있습니다.텐서를 더 잘 이해하기 위해 세 가지 예시를 들어보겠습니다.
import numpy as np
zero_d_tensor = np.array(4)
one_d_tensor = np.array([1, 2, 3, 4])
two_d_tensor = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
차원이 높아질수록 텐서를 만드는 것도 복잡해집니다. 하지만 원리는 그대로입니다. 벡터를 모으면 행렬이 되고, 행렬을 모으면 3차원 텐서가 됩니다.
머신러닝에서는 보통 한 번에 일부분의 데이터를 처리합니다. 이렇게 처리하는 데이터의 묶음을 'Batch'라고 합니다. Batch 데이터를 다룰 때는 텐서의 첫 번째 축이 Batch 크기(즉, 샘플의 수)를 나타냅니다.
이렇게 텐서를 이해하면, 머신러닝이나 딥러닝에서 데이터를 효과적으로 다룰 수 있게 됩니다
참조 링크 https://medium.datadriveninvestor.com/what-is-the-tensor-in-deep-learning-77c2af7224a1