개념
Tensorflow, PyTorch 와 같은, 서로 다른 DNN 프레임워크 환경에서 만들어진 모델들을 서로 호환해서 사용할 수 있도록 도와주는 공유 플랫폼이다.
진행과정
- 첫 번째
- PyTorch 모델과 Sample input 을 인자로 하여, torch.onnx.export 함수를 호출
- PyTorch 의 JIT 컴파일러를 통해서, Trace 혹은 Script 를 생성
- Trace 와 Script 는 그 생성 방식과 representation 에 차이
- PyTorch 모델의 forward propagation 시에 호출되는, 함수 및 연산들에 대한 최적화된 그래프인 Torch IR 생성
- Trace 나 Script 는, PyTorch 의 nn.Module 을 상속하는 모델의, forward 함수에서 실행되는 코드들에 대한 IR(Intermediate Representation)을 담고있다.
- 두 번째
- 생성된 trace / script (Torch IR)는, ONNX Exporter 를 통해서 ONNX IR 로 변환되고, 여기에서 한 번 더 Graph Optimization 이 이루어진다.
- 세 번째
- 최종적으로 생성된 ONNX 그래프는 .onnx 포맷으로 저장
Reference
[1] https://wooono.tistory.com/415
'나만 보는 정리노트 > Deeplearning' 카테고리의 다른 글
활성화 함수, Activation Function (0) | 2022.11.24 |
---|---|
ANN, DNN, CNN, RNN (0) | 2022.11.17 |
분류성능평가지표 (0) | 2022.11.17 |