다차원 Tensor

0차원 tensor

  • scalar 로 표현
  • 하나의 숫자로 표현돼 있고, dimention과 shape가 없는 tensor
t_zero = torch.tensor(0)
print(t_zero.ndim)
print(t_zero.shape)
print(t_zero)
"""
0
torch.Size([])
tensor(0)
"""

 

1차원 tensor

  • 하나의 dimention이 존재하며, 리스트와 유사한 형태
  • vector로 표현
t_one = torch.tensor([3,7,8,9])
print(t_one.ndim)
print(t_one.shape)
print(t_one)
"""
1                    ==> 1차원
torch.Size([4])        ==> 1축의 값이 몇개 있는지
tensor([3, 7, 8, 9])
"""

 

2차원 tensor

  • 2개의 dimention을 가지며, 일반 행렬과 비슷한 자료구조 형태
  • 수치, 통계 데이터셋에 주로 사용
  • 주로 row는 sample을 의미하고, column 값은 feature를 의미함
t_matrix = torch.tensor([[2,34,6],
                        [6,3,46],
                        [16,38,73]])
print(t_matrix.ndim)
print(t_matrix.shape)
print(t_matrix)
"""
2
torch.Size([3, 3])
tensor([[ 2, 34,  6],
       [ 6,  3, 46],
       [16, 38, 73]])
"""

 

3차원 tensor

  • 데이터가 연속된 시퀀스 데이터, 시계열 데이터의 차원으로 주로 사용됨
  • 큐브 모양의 3개의 축으로 shape 구성
  • 3차원 tensor의 예시 데이터
    • 자연어
    • 주식 데이터
    • 시간에 따른 질병 데이터
  • 3차원의 특성은 주로, Sample, Timesteps, Feature 로 구성을 이룸
    t_cube = torch.tensor([[[2,34,6],
                       [6,3,46],
                       [16,38,73]],
                      [[2,34,6],
                       [6,3,46],
                       [16,9,6]],
                      [[2,1,6],
                       [6,3,4],
                       [16,2,7]]])
    print(t_cube.ndim)
    print(t_cube.shape)
    print(t_cube)

 

4차원 Tensor

  • 4개의 shape로 구성
  • 주로 컬러 이미지 데이터가 4차원으로 표현됨
  • Sample(데이터 개수), Height(높이), Width(넓이), Color Channel(컬러 채널) 로 구성

 

5차원 Tensor

  •  5개의 shape로 구성
  • 주로 비디오 데이터가 5차원으로 구성됨
  • Sample(데이터 개수), Frame(프레임), Height(높이), Width(넓이), Color Channel(컬러 채널) 로 구성돼 있음
  • Frame의 의미는 이미지가 여러개 시퀀스 데이터로 구성될 때 비디오 영상 데이터로 되기 때문에 초당 몇개의 이미지를 출력할건지에 대한 정보

 

+ Recent posts