포스팅 개요
본 포스팅은 대표적인 딥러닝 프레임워크의 특징, 그 중에서도 TensorFlow와 PyTorch의 차이점에 대해 정리한 글입니다.
Deep Learning Framework
- Keras: TensorFlow, PyTorch를 기반으로 하는 wrapper → user-friendly
- Keras, TensorFlow는 static graphs를 사용하는 반면, PyTorch는 dynamic computational graph를 사용
- 2020년 자료라서 popularity rank는 현재와 다를 수 있음
TensorFlow vs PyTorch
- TensorFlow
- Static Computational Graph. Define and Run
- 그래프를 먼저 정의 → 실행 시점에 그래프에 데이터를 feed
- 매 iteration 단계에서 기존에 구축된 computational graph을 sess.run 방식으로 동작시킴
- PyTorch
- Dynamic Computational Graph. Define by Run
- 실행과 동시에 그래프를 생성하는 방식
- 매 iteration 단계에서 수행되는 forward pass에서 새로운 computational graph를 생성
Define and Run vs Define by Run
- Define And Run
-
- 네트워크가 정의됨 → user는 정의된 네트워크에 주기적으로 mini batch의 training data를 feed
- Define By Run
-
- 네트워크가 forward computation에 따라 dynamic하게 정의됨
- 네트워크의 정의에 조건문 및 반복문을 사용할 수 있음
- reference
- https://datasciencecareer.wordpress.com/2020/12/09/ml03-pytorch-vs-tensorflow/
- https://dev-jm.tistory.com/4
- https://www.popit.kr/딥러닝-프레임워크-조사와-몇가지-홍보/
- https://docs.chainer.org/en/stable/guides/define_by_run.html
- https://medium.com/@zzemb6/define-and-run-vs-define-by-run-b527d127e13a
- https://wikidocs.net/57168
'AI Basic > PyTorch' 카테고리의 다른 글
[PyTorch] 02 Basic Operation (0) | 2023.03.13 |
---|
댓글