728x90
텐서는 다차원 배열로, 수학적인 계산을 위해 사용되는 데이터 구조이다.

  • 차원(Dimension):
    텐서는 여러 차원을 가지며, 각 차원은 텐서의 축(axis)이라고도 한다. 예를 들어 2차원 텐서는 행(row)과 열(column)의 2개의 축을 가지고 있다.

  • 크기(Size):
    텐서의 크기는 각 차원에 따른 요소의 개수이다. 예를 들어, 2차원 텐서의 크기는 행과 열의 개수로 표현된다.

  • 데이터 타입(Data Type):
    텐서는 데이터의 유형을 나타내는 데이터 타입을 가지고 있다. 정수형, 실수형, 불리언 등의 데이터 타입을 가질 수 있다.

  • 연산(Operation):
    텐서는 다양한 수학적인 연산을 지원한다. 텐서 간의 산술 연산(덧셈, 곱셈 등), 선형 대수 연산(행렬 곱셈, 전치 등), 통계 연산(평균, 표준편차 등), 그리고 신경망에서 사용되는 활성화 함수 등을 포함한다.

  • GPU 가속화(GPU Acceleration):
    텐서는 GPU를 활용하여 병렬 계산을 수행할 수 있으며, 이는 대규모 데이터와 복잡한 모델의 효율적인 처리를 가능하게 한다.


텐서는 주로 수치 연산을 위해 사용되며, 다양한 분야에서 인공지능, 딥러닝, 과학적 연구 등 다양한 응용 분야에서 활발하게 사용된다. PyTorch, TensorFlow 등의 딥러닝 프레임워크에서 텐서를 다루는 기능을 제공하고 있다.

 

2차원 텐서 VS. 3차원 텐서 VS. 4차원 텐서

 

  • 2차원 텐서:
       - 예시: 행렬(Matrix)
       - 차원: 행(row)과 열(column)의 2차원 구조
       - 요소: 행과 열에 해당하는 값으로 구성됨
       - 시각화: 행렬 형태로 시각화 가능
       - 사용 사례: 선형 대수, 이미지 처리, 표현 학습 등

  • 3차원 텐서:
       - 예시: 이미지 데이터의 채널, 깊이를 포함한 텐서
       - 차원: 행(row), 열(column), 깊이(depth)의 3차원 구조
       - 요소: 행, 열, 깊이에 해당하는 값으로 구성됨
       - 시각화: 여러 개의 행렬을 겹쳐서 시각화 가능
       - 사용 사례: 이미지, 동영상, 3D 모델 등

  • 4차원 텐서:
       - 예시: 동영상 데이터의 프레임과 시간을 포함한 텐서
       - 차원: 행(row), 열(column), 깊이(depth), 시간(time)의 4차원 구조
       - 요소: 행, 열, 깊이, 시간에 해당하는 값으로 구성됨
       - 시각화: 여러 개의 3차원 텐서를 겹쳐서 시각화 가능
       - 사용 사례: 동영상, 시계열 데이터, 3D 볼륨 등

import numpy as np

# 1차원 리스트를 NumPy 배열로 변환
data = [1, 2, 3, 4, 5]
tensor_1d = np.array(data)

print(tensor_1d)
# [1 2 3 4 5]


# 2차원 리스트를 NumPy 배열로 변환
data = [[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]]
tensor_2d = np.array(data)

print(tensor_2d)
"""
[[1 2 3]
 [4 5 6]
 [7 8 9]]
"""


# 3차원 리스트를 NumPy 배열로 변환
data = [[[1, 2],
         [3, 4]],
        [[5, 6],
         [7, 8]],
        [[9, 10],
         [11, 12]]]
tensor_3d = np.array(data)

print(tensor_3d)
"""
[[[ 1  2]
  [ 3  4]]

 [[ 5   6]
  [ 7  8]]

 [[ 9 10]
  [11 12]]]
"""


# 크기가 2x3x4x5인 4차원 텐서 생성
tensor_4d = np.zeros((2, 3, 4, 5))
"""
[[[[0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]]

  [[0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]]

  [[0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]]]


 [[[0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]]

  [[0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]]

  [[0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]
   [0. 0. 0. 0. 0.]]]]
"""

 

 

728x90

+ Recent posts