ONNX . Open Neural Network Exchange
- 딥러닝 모델 변환 표준 포맷
ONNX 개요
- 목적: ONNX는 다양한 딥러닝 프레임워크 간에 모델을 쉽게 변환하고 사용할 수 있도록 하는 표준화된 모델 포맷.
- 지원 프레임워크: PyTorch, TensorFlow, Keras, MXNet 등 여러 주요 딥러닝 프레임워크에서 모델을 ONNX 형식으로 변환할 수 있음.
- 런타임: ONNX Runtime을 통해 다양한 하드웨어에서 최적화된 추론을 지원함.
- 특징: 모델의 이식성, 경량화, 하드웨어 최적화, 다양한 플랫폼에서의 실행 등을 지원.
ONNX는 딥러닝 모델의 호환성과 이식성을 높이기 위해 개발된 포맷으로, 다양한 프레임워크와 플랫폼에서 모델을 쉽게 변환하고 실행할 수 있게 해준다. ONNX 공식 웹사이트와 GitHub 리포지토리에서 필요한 자료와 도구를 다운로드하고, ONNX Runtime을 활용하여 모델을 효율적으로 실행 가능.
다운로드 주소 및 공식 웹사이트
- ONNX 공식 웹사이트: https://onnx.ai
- ONNX 프로젝트에 대한 공식 정보, 문서, 및 다양한 자료를 제공.
- ONNX GitHub 리포지토리: https://github.com/onnx/onnx
- ONNX의 소스 코드, 업데이트, 문제 보고 등을 관리하는 GitHub 리포지토리.
- ONNX Runtime GitHub 리포지토리: https://github.com/microsoft/onnxruntime
- ONNX 모델의 추론을 위한 런타임 라이브러리.
ONNX 개념 이해
- 모델 변환:
- PyTorch, TensorFlow 등에서 학습된 모델을 ONNX 포맷으로 변환하여 다양한 프레임워크에서 사용할 수 있도록 함.
- 변환 과정에서 모델의 구조, 가중치, 연산 등을 ONNX 형식으로 표현.
- ONNX Runtime:
- ONNX 모델을 효율적으로 실행하기 위한 경량화된 런타임.
- 다양한 하드웨어에서 최적화된 실행 지원 (CPU, GPU, TPU 등).
- 모델 최적화:
- 모델 크기를 줄이고, 연산 속도를 향상시키기 위한 최적화 기법 지원.
- 예를 들어, 퀀타이제이션(양자화) 등을 통해 모델을 경량화함.
- 이식성:
- ONNX는 프레임워크에 종속되지 않고 다양한 환경에서 동일한 모델을 사용할 수 있게 해줌.
- 다양한 플랫폼(서버, 클라우드, 엣지 디바이스 등)에서 모델을 일관되게 실행할 수 있음.
ONNX 활용 방법
- 모델 변환:
- PyTorch: torch.onnx.export를 사용하여 모델을 ONNX 형식으로 저장.
- TensorFlow: TensorFlow 모델을 ONNX 형식으로 변환하기 위한 도구 사용.
- ONNX Runtime 사용:
- ONNX Runtime을 설치하고, ONNX 모델을 로드하여 추론을 수행.
- 다양한 하드웨어와 플랫폼에서 성능을 최적화하여 모델 실행.
- 모델 배포:
- ONNX 모델을 클라우드, 서버, 모바일, IoT 디바이스 등 다양한 환경에 배포 가능.
- ONNX Runtime을 통해 성능을 조정하고, 다양한 하드웨어 가속기 지원.
Visual C++ 에서 ONNX 개발환경 구축
메타트레이더 5 에서 ONNX 모델 직접 지원됨.
첫 등록 : 2024.08.29
최종 수정 :
단축 주소 : https://igotit.tistory.com/5798
'지속가능티끌 > Data.Math.Phys' 카테고리의 다른 글
뉴럴넷 아키텍쳐 종류와 특징 (0) | 2024.08.21 |
---|---|
신경망 . transformer / temporal fusion transformer 차이점 (0) | 2024.08.18 |
PyTorch . 포터블 개발 환경 구축 (0) | 2024.08.16 |
PyTorch . 머신러닝 , 뉴럴넷 라이브러리 (0) | 2024.08.09 |
심전도 . 표준 사지 유도 . Lead I, II, III (0) | 2023.11.14 |
댓글