Tensor 연산 · 학습

이번에 배울 내용

shape가 맞아도 의도한 연산이 아닐 수 있습니다. 축·행렬곱·Broadcasting을 출력의 의미와 연결합니다.

전체 흐름

Tensor의 축·shape → 연결과 행렬곱 → reshape·Broadcasting

Batch와 특징의 축

표본 세 개에 특징 네 개가 있으면 shape는 (3,4)입니다. cat은 기존 축을 이어 붙이고 stack은 새 축을 만듭니다. 축이 늘거나 줄어도 표본·특징의 의미를 추적합니다.

계산 가능과 올바른 계산

Broadcasting은 크기가 다른 배열을 확장해 연산하지만 의도하지 않은 축에도 적용될 수 있습니다. 곱셈 전에 예상 shape를 쓰고, 작은 수치 예로 결과를 확인하면 조용한 오류를 찾기 쉽습니다.

풀이 예제

X=arange(12).reshape(3,4)이며 행은 표본, 열은 특징입니다.

import torch
X=torch.arange(12,dtype=torch.float32).reshape(3,4)
print(X,X.shape,torch.cat([X,X],dim=0).shape)
tensor([[ 0.,  1.,  2.,  3.],
        [ 4.,  5.,  6.,  7.],
        [ 8.,  9., 10., 11.]]) torch.Size([3, 4]) torch.Size([6, 4])

참고 예제

추가 예제 보기

참고 자료