PyTorch, TensorFlow 등 프레임워크의 도움으로 더 이상 밑바닥부터 딥러닝을 구현하지 않아도 된다.
현재는 반복적인 작업을 누군가 미리 만들어 놓은 프레임워크를 사용하기 때문이다.
그럼, 프레임워크가 무엇인지. 딥러닝 프레임워크들에는 무엇이 있는지 더 알아보자.
1. 프레임워크란?
프로그램을 다룸에 있어 공통적으로 사용되는 기능들을 표준화된 소스코드로 만들어 놓고 사용할 수 있도록 제공하는 것
2. 딥러닝 프레임워크의 종류와 특징
- 대표적으로 Google에서 개발된 TensorFlow 와 Meta(구 Facebook)에서 개발된 PyTorch 가 있다.
- 두 프레임워크의 가장 큰 차이점은 Define and Run 과 Define by Run 에 있다.
- Keras는 TensorFlow 2.0이 나오면서 TensorFlow와 합쳐졌다.
3. Define and Run vs Define by Run
Computational Graph(연산의 과정을 그래프로 표현한 것)를 언제 생성하느냐에 따라 구분한 것
- Define and Run : 그래프를 먼저 정의 -> 실행시점에 데이터 feed
- Define by Run : 실행을 하면서 그래프를 생성하는 방식(Dynamic Computational Graph, DCG)
4. Why PyTorch ?
- Define by Run 의 장점 -> 즉시 확인 가능 -> pythonic code
- GPU support (Multi-GPU)
- 자동미분을 지원하여 DL 연산을 지원
DL 프레임워크로 PyTorch가 적절한 것 같아
앞으로 PyTorch를 좀 더 공부해볼 계획이다.
'✍🏻Language & FrameWork > Pytorch' 카테고리의 다른 글
[PyTorch] PyTorch Operations (2) | 2024.01.10 |
---|