다차원 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의 의미는 이미지가 여러개 시퀀스 데이터로 구성될 때 비디오 영상 데이터로 되기 때문에 초당 몇개의 이미지를 출력할건지에 대한 정보