본문 바로가기

그 땐 AI했지/그 땐 DeepLearning했지

[TAVE/study] ch02 파이토치 기초 | 01 파이토치 패키지의 기본 구성

728x90

참고자료: https://wikidocs.net/book/2788

🐰세상 많은 부분들이 인공지능으로 대체되어가면서 해당 분야에 관심이 생겼다! 그런데 마침 TAVE 경영처에서 같이 딥러닝 스터디를 하자고 제안해서 너무 기쁘게 스터디에 참여하게 되었다! 혼자 공부하기 두려웠는데 너무 멋진 친구들과 같이 공부할 수 있어 좋당!

파이토치 패키지의 기본 구성

1️⃣torch

👉🏻메인 네임스페이스이다. 텐서 등의 다양한 수학 함수가 포함되어져 있으며 Numpy와 유사한 구조를 가진다.

✍🏻텐서(Tensor): 텐서는 배열 및 행렬과 비슷한 특수 데이터 구조다. PyTorch에서는 텐서를 사용하여 모델의 입출력값과 파라미터 값을 인코딩한다.

 

2️⃣torch.autograd

👉🏻자동 미분을 위한 함수들이 포함되어져 있다. 자동 미분의 on/off를 제어하는 콘텍스트 매니저(enable_grad/no_grad)나 자체 미분 가능 함수를 정의할 때 사용하는 기반 클래스인 'Function'등이 포함되어 있다.

 

3️⃣torch.nn

👉🏻신경망을 구축하기 위한 다양한 데이터 구조나 레이어 등이 정의되어져 있다. 

  • 레이어: RNN, LSTM
  • 활성화 함수: ReLU
  • 손실 함수: MSELoss

 

4️⃣torch.optim

👉🏻확률적 경사 하강법을 중심으로 한 파라미터 최적화 알고리즘이 구현되어 있다.

 

5️⃣torch.utils.data

👉🏻SGD의 반복 연산을 실행할 때 사용하는 미니 배치용 유틸리티 함수가 포함되어 있다.

 

6️⃣torch.onnx

👉🏻ONNX의 포맷으로 모델을 export할 때 사용한다. ONNX는 서로 다른 딥 러닝 프레임워크 간에 모델을 공유할 때 사용하는 포맷이다.

✍🏻ONNX: Open Neural Network Exchange, Tensorflow나 PyTorch와 같은 서로 다른 DNN 프레임워크 환경에서 만들어진 모델들이 서로 호환되게 사용할 수 있도록 만들어진 공유 플랫폼이다.

728x90