4. Indexing
원하는 원소나 영역을 특정 부분 뽑고 싶을 때 index를 이용하여 선택
기존의 numpy, pandas의 indexing과 유사!!
ex)
==> 결과
tensor(6)
5. Shaping Operation : reshape, squeeze/unsqueeze, stack, cat
텐서의 shape, dimension을 조절하는 방법
여러개의 텐서를 합치는 방법
Tensor.reshape()

모양을 변경할 수 있음
원래 사이즈를 구성하는 각 차원 별 길이의 곱으로 표현 가능하다면 변경 가능
Tensor.shape 이 [x, y] 라면, 총 input size인 x*y의 값으로 표현할 수 있는 차원의 조합이면 가능
==> 결과
torch.Size([2, 4])
tensor([[1, 2, 3, 4], [5, 6, 7, 8]])
tensor([[1, 2], [3, 4], [5, 6], [7, 8]])
tensor([[[1, 2, 3, 4], [5, 6, 7, 8]]])
tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
tensor([[1, 2, 3, 4], [5, 6, 7, 8]])
torch.Size([2, 4])
Tensor.squeeze()
차원의 값이 1인 차원을 제거.
차원의 값이 1인 차원이 여러개인 경우, 차원을 지정하면 해당 차원만 제거된다.
==> 결과
torch.Size([1, 20, 1, 128])
torch.Size([1, 20, 128])
torch.cat()
차원의 갯수는 유지되고 해당 차원값이 늘어난다.
합치려는 차원을 제외한 나머지 차원의 경우 두 텐서의 모양이 같이야함
==> 결과
torch.Size([10, 24, 50])
torch.Size([5, 48, 50])
torch.Size([5, 24, 100])
torch.stack()

텐서를 쌓는 방식으로, 지정하는 차원에 새로운 차원이 생긴다 = 차원의 갯수가 증가한다
합치려는 텐서들의 모든 차원의 모양이 같아야함
메타코드 4기 서포터즈 활동의 일환으로 작성한 게시글입니다.