[PyTorch] 01. Introduction to PyTorch
비교해보자!
- keras
- rapper: 자체가 연산 지원 X
- high level API
- keras + tensorflow
- tensorflow
- computational graph
- google > production, cloud 연결, multi GPU > 개발, 제품 출시 good
- production level 에서 MLOps나 IIOps에서 유리
- scalability의 장점
- pytorch
- high level 지원
- computational graph
- 미분을 위해 backpropagation 필요 > 먼저, 데이터를 그래프로 표현해야 함
- 자동 미분시, 실행 시점에서 그래프 정의
- 개발과정에서 디버깅 쉬움 > 논문작성, 구현 good
- Numpy(Tensor객체로 array 표현)+ AutoGrad(자동미분) + Function(다양한 함수)
- function: dataset, multiGPU, data augumentation,,,
computational Graph
- 연산의 과정을 그래프로 표현
- Tensorflow: Define and Run
- 그래프를 먼저 정의시키고 실행시점에 데이터를 feed.
- 값을 넣기 전에는 확인 X
- PyTorch: Define and run (Dynamic Computational Graph, DCG)
- 실행을 하면서 그래프를 생성하는 방식
- 느릴 것 같지만 거의 차이 없음. (의외로 빠를때도..?)
- 미분 값을 바로바로 확인 가능
- debug 측면: 중간중간 값을 확인 할 수 있다는 장점