PyTorch
목표
딥러닝 프레임워크의 종류와 PyTorch의 기본적인 작동 구조에 대해 학습합시다.
※ 참고
우리는 딥러닝의 모든 수식과 연산을 직접 개발하기에는 어려움이 있어 이를 손쉽게 개발할 수 있도록 제공되는 딥러닝 프레임워크를 사용합니다.
PyTorch는 TensorFlow와 함께 가장 대표적인 딥러닝 프레임워크로 대부분의 연구에서 사용되고 있습니다.
Computational Graph
- 연산의 과정을 그래프로 표현
- Define and Run : TensorFlow
- 그래프를 먼저 정의 -> 실행시점에 데이터 feed
- Define by Run (Dynamic Computational Graph, DCG) : PyTorch
PyTorch를 쓰는 이유
- Define by Run의 장점
- 즉시 확인 가능 -> Pythonic code
- GPU support, Good API and community
- 사용하기 편하다.
- 참고: TF는 production과 scalability의 장점
PyTorch
Numpy + AutoGrad(자동미분) + Function(DL 함수)
- Numpy 구조를 가지는 Tensor 객체로 array 표현
- 자동미분을 지원하여 DL 연산을 지원
- 다양한 형태의 DL을 지원하는 함수와 모델을 지원한다.
- Dataset
- Multi-GPU
- Data-Augmentation