ONNX 어떻게 AI 모델 이동성과 상호 운용성을 향상시켜 다양한 플랫폼에서 Ultralytics YOLO 모델을 원활하게 배포할 수 있도록 지원하는지 알아보세요.
오픈 신경망 교환ONNX은 오픈 소스 표준으로, 다음과 같은 방식으로 머신 러닝(ML) 모델을 표현하도록 설계된 다양한 프레임워크와 하드웨어에서 이식성을 보장합니다. 원래 Microsoft Facebook과 같은 회사에서 개발한 ONNX AI를 위한 '범용 번역기' 역할을 합니다. 이를 통해 개발자는 모델을 하나의 에코시스템에서 모델을 훈련할 수 있습니다. PyTorch와 같은 한 생태계에서 모델을 학습하고 다른 에코시스템에 원활하게 배포할 수 있습니다. TensorFlow 또는 전문화된 추론 엔진. 이러한 상호 운용성 덕분에 연구 환경에서 프로덕션 애플리케이션으로 이동할 때 네트워크를 재구축하거나 재교육할 필요가 없습니다, 모델 배포 파이프라인을 모델 배포 파이프라인을 크게 간소화합니다.
ONNX 핵심은 공통 연산자 집합을 정의하는 것입니다. 딥 러닝(DL) 및 머신 러닝 모델의 구성 요소와 표준 파일 형식을 정의합니다. 모델이 ONNX 변환되면 그 계산 구조는 정적 계산 그래프에 매핑됩니다. 계산 그래프로 매핑됩니다. 이 그래프에서 노드는 수학적 연산(예: 컨볼루션 또는 활성화)을 나타냅니다. 연산(컨볼루션 또는 활성화 함수 등)을 나타내고, 에지는 노드 사이의 데이터 텐서 흐름을 나타냅니다.
이 그래프 표현은 표준화되어 있기 때문에 하드웨어 제조업체는 다음에 대해 최적화된 실행 프로바이더를 구축할 수 있습니다.
ONNX. 즉, 하나의 .onnx 파일은 다음을 포함한 다양한 하드웨어에서 가속할 수 있습니다.
CPU,
GPU (그래픽 처리 장치)또는
전문
TPU Tensor 처리 장치)종종
고성능 ONNX 런타임.
다음 사용자의 경우 ultralytics 패키지에서 학습된 모델을 ONNX 형식으로 변환하는 것은 간단한
프로세스입니다. 라이브러리는 복잡한 레이어 매핑을 ONNX 표준에 자동으로 처리합니다. 다음 코드
스니펫은 YOLO11 모델을 준비하여
더 광범위한 배포를 위해 준비합니다.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format
# This creates 'yolo11n.onnx' in the current directory
model.export(format="onnx")
ONNX 유연성은 특히 다음과 같은 최신 AI 인프라에서 중요한 구성 요소입니다. 컴퓨터 비전(CV) 작업.
ONNX 다른 도구와 상호 작용하는 방식을 이해하면 올바른 배포 전략을 선택하는 데 도움이 됩니다.
.pt 또는
Keras .h5 는 훈련과 저축에 탁월합니다.
모델 가중치 를 사용할 수 있습니다.
그러나 모델을 실행하려면 원래 프레임워크가 설치되어 있어야 하는 경우가 많습니다. ONNX 모델을 훈련 프레임워크에서
모델을 분리하여 더 쉽게 수행할 수 있습니다.
엣지 AI 전체 교육 라이브러리를 설치하는 것이 비현실적인 배포
라이브러리를 설치하는 것이 비현실적인 배포.

