PyTorch Section 4

최원빈·2023년 6월 27일
0

Pytorch studying

목록 보기
4/17
post-thumbnail

* 강사님의 자료는 저작권이 있기 때문에 배운 내용을 최대한 간단하게 정리하는 수준으로 작성하였습니다.
* Section 3는 넘파이를 정리하는 수준이었기에 스킵했습니다.

텐서 형태

  • 스칼라 (0D 텐서)
  • 벡터 (1D 텐서)
    • 행 벡터
    • 열 벡터 (일반적)
  • 행렬 (2D 텐서) : 가로, 세로 두 축을 가짐
  • 텐서 (3차원 이상의 행렬)
    * k x n x m (높이 x 너비 x 깊이)

텐서 고급 연산 정리 1

텐서 간의 곱셈

  • torch.matmul() \to 모든 차원 연산 가능
  • torch.mm() \to 2D 텐서 간의 연산만 지원
  • torch.bmm() \to 3D 텐서 간의 연산만 지원

곱셈 예시

  • 1D X 1D 곱셈
  • 2D x 2D 곱셈
  • 1D x 2D 곱셈
    • (a, ) x (a, b) (a가 같아야 함)
  • 1D x 3D 이상의 텐서 곱셈
    • 3D 이상은 batched matrix로 간주됨
    • (a) / (b,c,d) \to b x (c,d)
    • b x ((a) x (c,d)) \to 1D x 2D와 마찬가지로 a와 c는 동일해야함
    • (a) x (b,a,d) \to (b,d)

텐서 고급 연산 정리 2

곱셈 예시

  • 2D x 1D
  • 3D 이상 텐서 x 1D
    • (a,b,d) / (d)
    • a x (b,c) x (d) \to 2D x 1D 텐서와 마찬가지로 c와 d는 동일해야함
    • (a,b,c) x (c) \to (a,b)
  • n-D 텐서 (n > 2) 간의 곱
    • 'Batched Matrix Multiplication' 방식으로 계산됨
    • (b,m,n) x (b,n,k) \to b개의 (m,n) & b개의 (n,k)
    • (b x m x n) * (b x n x k) = (b x m x k)

matmul 이외에 곱셈식

  • torch.mm() : 행렬곱만 지원
  • torch.bmm() : 3D shape의 곱만 지원

* written on June 27th

profile
차가운 머리와 따뜻한 마음

0개의 댓글