Glossaire

ONNX (Open Neural Network Exchange)

Découvre comment ONNX améliore la portabilité et l'interopérabilité des modèles d'IA, permettant un déploiement transparent des modèles Ultralytics YOLO sur diverses plateformes.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Dans le domaine de l'intelligence artificielle et de l'apprentissage automatique, l'interopérabilité est essentielle pour tirer parti des meilleurs outils et déployer des modèles dans divers environnements. ONNX (Open Neural Network Exchange) est un format ouvert conçu pour représenter les modèles d'apprentissage automatique, garantissant que les développeurs d'IA ne sont pas enfermés dans un cadre unique et peuvent rationaliser le processus de déplacement des modèles entre différents outils. Il fournit une représentation unifiée pour les modèles, quel que soit le cadre utilisé pour la formation, ce qui simplifie le déploiement de ces modèles dans divers moteurs d'inférence, plateformes matérielles et environnements.

Pertinence de la ONNX

La pertinence première de ONNX réside dans sa capacité à promouvoir la portabilité et l'interopérabilité dans l'écosystème de l'IA. En définissant un ensemble commun d'opérateurs et un format standard pour les modèles d'apprentissage automatique, ONNX permet aux modèles formés dans des cadres tels que PyTorch ou TensorFlow d'être facilement transférés et exécutés à l'aide de différents moteurs d'inférence tels que TensorRT ou OpenVINO. Ceci est particulièrement bénéfique pour les développeurs qui utilisent les modèles Ultralytics YOLO , car l'exportation ONNX simplifie le déploiement des modèles sur diverses plateformes, des serveurs en nuage aux appareils périphériques. Ultralytics facilite l'exportation des modèles au format , ce qui permet aux utilisateurs d'exporter les modèles vers un autre format. YOLOv8 au format ONNX , ce qui permet aux utilisateurs d'exploiter des moteurs d'inférence optimisés pour améliorer les performances et accélérer l'inférence en temps réel.

Applications de ONNX

ONNXLa compatibilité entre les différents cadres de travail du programme le rend très utile dans de nombreuses applications d'intelligence artificielle. Voici deux exemples concrets :

  • Déploiement en périphérie: Le déploiement de modèles d'IA sur des appareils périphériques nécessite souvent des performances optimisées et une compatibilité avec un matériel spécifique. ONNX permet aux développeurs d'entraîner un modèle à l'aide d'un cadre de haut niveau comme PyTorch , puis de l'exporter vers ONNX pour qu'il s'exécute efficacement sur des appareils périphériques à l'aide de moteurs d'inférence tels que TensorRT sur NVIDIA Jetson ou OpenVINO sur les appareils Intel . Cela garantit que les applications telles que les caméras intelligentes ou la robotique peuvent effectuer des tâches de détection d'objets avec Ultralytics YOLO modèles efficacement en temps réel.
  • Inférence multiplateforme: Dans les scénarios où les solutions d'IA doivent fonctionner sur différents systèmes d'exploitation et matériels, ONNX fournit un format de modèle cohérent. Par exemple, une application d'analyse d'images médicales peut être formée sur des serveurs puissants, mais doit effectuer l'inférence sur des machines moins puissantes dans les hôpitaux ou les cliniques. ONNX permet une transition et une exécution transparentes du même modèle dans divers environnements, garantissant des performances cohérentes et fiables quelle que soit la plateforme de déploiement.

Concepts apparentés

Comprendre ONNX implique également de reconnaître les concepts connexes qui jouent un rôle dans le déploiement et l'optimisation des modèles :

  • Moteurs d'inférence: Il s'agit de bibliothèques logicielles qui optimisent et exécutent des modèles d'apprentissage automatique sur du matériel spécifique. Les modèles ONNX sont souvent utilisés avec des moteurs d'inférence tels que TensorRT et OpenVINO pour accélérer la vitesse et l'efficacité de l'inférence.
  • Modèle Export: Le processus de conversion d'un modèle formé à partir du format de son cadre d'origine (par ex, PyTorch .pt ) dans le format ONNX . Ultralytics fournit des outils simples pour exporter les modèles YOLO à ONNX et à d'autres formats.
  • Interopérabilité des cadres: ONNX relève le défi de l'enfermement dans un cadre en permettant aux modèles d'être utilisés dans différents cadres. Bien que chaque cadre ait ses points forts, ONNX veille à ce que les développeurs puissent choisir le meilleur outil pour chaque étape du cycle de vie de l'IA sans obstacle de compatibilité.

En adoptant le site ONNX, les développeurs peuvent simplifier considérablement leurs flux de travail en matière d'IA, réduire les complexités de déploiement et s'assurer que leurs modèles sont polyvalents et performants sur un large éventail d'applications et de plateformes.

Tout lire