Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

Comment exporterYOLO Ultralytics à l'aide de Ultralytics

Exportez facilement vos modèles d'IA visuelle grâce à la Ultralytics . Découvrez comment préparer vos modèles en quelques clics pour un déploiement en périphérie, sur mobile et dans le cloud.

Vous souhaitez mettre en place un projet de vision par ordinateur ?

En savoir plus sur les licences

Le mois dernier, nous avons lancé Ultralytics , un espace de travail unifié conçu pour simplifier l'ensemble du processus de vision par ordinateur. Il regroupe les principales fonctionnalités d'IA en matière de vision, notamment la gestion des ensembles de données, l'annotation, l'entraînement des modèles, les tests, le déploiement et la surveillance, au sein d'une interface unique et optimisée.

Fig. 1. Aperçu de Ultralytics (Source)

Dans le cadre de ce flux de travail de bout en bout, le déploiement joue un rôle crucial pour faire passer les modèles de la phase d'expérimentation à une utilisation concrète. Nous avons précédemment examiné les différentes options de déploiement disponibles sur la plateforme, notamment l'inférence partagée via des API, les points de terminaison dédiés pour des déploiements en production évolutifs, ainsi que l'exportation de modèles destinés à être exécutés sur des appareils en périphérie ou sur une infrastructure externe.

Examinons maintenant de plus près l'exportation de modèles et la manière dont elle facilite le déploiement dans différents environnements. Contrairement à l'inférence partagée et aux points de terminaison dédiés, qui exécutent les modèles au sein de l'infrastructure Ultralytics , l'exportation de modèles permet de déployer et d'exécuter ces derniers dans des environnements externes, tels que des appareils en périphérie, des applications mobiles et des infrastructures personnalisées.

Avant que les modèles puissent fonctionner dans ces environnements, ils doivent être convertis dans des formats pris en charge par le moteur d'exécution cible. Chaque configuration de déploiement a ses propres exigences, qu'il s'agisse de formats légers pour les appareils mobiles et périphériques ou de formats haute performance pour les systèmes cloud et GPU.

Traditionnellement, ce processus peut s'avérer fastidieux, car il implique l'utilisation de scripts, de dépendances et de nombreux outils. Avec Ultralytics , l'exportation est beaucoup plus simple. Les modèles peuvent être convertis et optimisés en quelques clics seulement, sans configuration supplémentaire.

Dans cet article, nous allons vous expliquer ce qu'est l'exportation de modèles, présenter les formats pris en charge par Ultralytics et vous indiquer comment choisir celui qui convient le mieux à votre cas d'utilisation. C'est parti !

Présentation de l'exportation d'un modèle

L'exportation d'un modèle consiste à convertir un modèle pré-entraîné ou entraîné sur mesure dans un format utilisable en dehors de son cadre d'origine. YOLO Ultralytics sont développés à l'aide de PyTorch stockés dans leur format natif, ce qui convient parfaitement à l'entraînement, à l'évaluation et à l'expérimentation au sein de PyTorch .

Cependant, les environnements de déploiement présentent souvent des exigences différentes en matière de moteurs d'exécution et de matériel. C'est pourquoi le format utilisé pendant la formation ne convient pas toujours au déploiement.

Par exemple, une application mobile peut nécessiter un format léger optimisé pour une faible consommation d'énergie, tandis qu'une application web a besoin d'un format fonctionnant efficacement dans un environnement web. 

Les appareils en périphérie, tels que les caméras et les systèmes embarqués, tirent parti de modèles compacts et rapides, tandis que les systèmes cloud sont conçus pour une inférence haute performance. Pour prendre en charge ces différents scénarios, les modèles doivent être exportés dans des formats compatibles. 

Pourquoi la possibilité d'exporter des modèles est plus importante que jamais

Aujourd'hui, les modèles de vision par ordinateur sont déployés plus près du lieu où les données sont générées, notamment sur les appareils périphériques. Les smartphones exécutent des applications de vision en temps réel, les caméras de vidéosurveillance assurent une surveillance directement sur l'appareil, et les systèmes autonomes s'appuient sur une prise de décision instantanée.

Cependant, le déploiement dans ces environnements s'accompagne d'une série de défis. Les appareils en périphérie disposent d'une puissance de calcul limitée, sont soumis à des exigences strictes en matière de latence et font face à des contraintes en termes de mémoire et de consommation d'énergie. Un modèle qui fonctionne bien pendant l'entraînement avec des ressources suffisantes peut ne pas fonctionner efficacement dans ces conditions restreintes.

L'exportation d'un modèle au format approprié peut aider à relever ces défis. En convertissant le modèle de manière adéquate, il est possible de l'optimiser en termes de vitesse, d'en réduire la taille et de le rendre compatible avec un matériel spécifique. 

Par ailleurs, l'exportation offre une grande souplesse. Un même modèle peut être adapté à différents environnements de déploiement en le convertissant dans plusieurs formats, en fonction des besoins spécifiques.

Fig. 2. Quelques-uns des formats d'exportation disponibles sur Ultralytics (Source)

Par exemple, le formatNCNN est optimisé pour les appareils mobiles et périphériques à faible consommation de ressources. Le OpenVINO , quant à lui, est spécialement conçu pour Intel et offre de meilleures performances sur les processeurs centraux (CPU), les processeurs graphiques (GPU) et les processeurs neuronaux (NPU). 

Dans la plupart des cas, pour atteindre ce niveau de flexibilité, il fallait gérer des conversions manuelles, des dépendances et de multiples outils, ce qui rendait le processus long et complexe. Ultralytics simplifie ce flux de travail en rendant l'exportation des modèles plus accessible et plus facile à gérer.

Comment Ultralytics simplifie l'exportation de modèles

En général, l'exportation d'un modèle est considérée comme une étape distincte et complexe dans les flux de travail de vision par ordinateur. La Ultralytics change la donne en intégrant la possibilité d'exporter un modèle directement au sein d'un espace de travail unique qui couvre toutes les étapes, de l'entraînement au déploiement.

L'un de ses principaux atouts réside dans la possibilité d'exporter des modèles sans avoir à écrire de code. Il n'est pas nécessaire d'écrire des scripts, de gérer des environnements ou d'utiliser des commandes spécifiques à un framework. Les modèles peuvent être exportés en quelques clics seulement grâce à une interface intuitive.

Fig. 3. Exemple d'exportation d'un modèle depuis Ultralytics (Source)

En coulisses, la plateforme se charge du gros du travail. Les tâches qui nécessiteraient habituellement plusieurs outils et une configuration manuelle sont regroupées en un seul processus. Vous n'avez pas besoin d'installer de dépendances supplémentaires ni de gérer des problèmes de compatibilité, ce qui facilite considérablement le passage d'un modèle entraîné à une solution prête à être mise en production.

Formats d'exportation de modèles pris en charge par Ultralytics

Ultralytics prend en charge 17 formats d'exportation, ce qui facilite la préparation des modèles pour un large éventail d'environnements de déploiement sans ajouter de complexité.

Voici un aperçu de certains des formats d'exportation les plus courants :

  • Multiplateforme et interopérabilité : ONNX TorchScript largement utilisés pour exécuter des modèles sur différents frameworks et environnements. ONNX de passerelle entre les écosystèmes, facilitant ainsi le transfert de modèles d'un outil à l'autre, tandis que TorchScript exécuter PyTorch en production sans avoir besoin d'un Python .
  • Inférence haute performance sur GPU : TensorRT conçu pour NVIDIA et vise à optimiser les modèles afin d'obtenir une faible latence et un débit élevé. Il prend en charge des techniques telles que la réduction de précision et la fusion de couches pour accélérer l'inférence, ce qui en fait un choix idéal pour les applications en temps réel et à l'échelle de la production.
  • Déploiement sur mobile et en périphérie : CoreML, LiteRT (TensorFlow ) et NCNN optimisés pour les appareils disposant de ressources de calcul et de mémoire limitées. Ces formats réduisent la taille des modèles et améliorent leur efficacité, garantissant ainsi des performances fluides sur les smartphones, les systèmes embarqués et le matériel en périphérie. CoreML généralement utilisé dans les écosystèmes Apple, tandis que LiteRT est courant sur Android.
  • Exécution optimisée pour le matériel : OpenVINO spécialement conçu pour Intel , notamment les processeurs, les cartes graphiques et les processeurs de traitement visuel, et contribue à améliorer la vitesse et l'efficacité de l'inférence sur ces appareils. Les formats spécifiques au matériel de ce type sont utiles lorsque vous souhaitez tirer le meilleur parti des performances d'un système donné.
  • Moteurs d'exécution spécifiques à un framework et spécialisés : des formats tels que PaddlePaddle ExecuTorch prennent en charge des écosystèmes et des besoins de déploiement spécifiques, notamment l'exécution efficace de modèles sur des périphériques en périphérie ou l'intégration à des piles d'apprentissage profond particulières.

Comment exporter un modèle à l'aide de Ultralytics

L'exportation d'un modèle sur Ultralytics est un processus simple, géré via l'interface utilisateur. L'ensemble du flux de travail s'effectue via l'interface, sans avoir recours à des scripts ou à des outils en ligne de commande.

Voici comment exporter un modèle à l'aide de la plateforme :

  • Connectez-vous et sélectionnez votre modèle : accédez à votre projet et ouvrez le modèle entraîné que vous souhaitez exporter.
  • Accédez à l'onglet « Exporter »: dans le tableau de bord du modèle, cliquez sur l'onglet « Exporter » pour afficher les options d'exportation disponibles.
  • Sélectionnez un format d'exportation: choisissez un format tel que ONNX, TensorRT ou CoreML de vos besoins de déploiement.
  • Configurer les paramètres d'exportation (facultatif): réglez des paramètres tels que la taille de l'image, la précision ou la taille du lot afin d'optimiser les performances.
  • Lancez le processus d'exportation: cliquez sur « Démarrer l'exportation » pour lancer le processus. La plateforme se charge automatiquement de la conversion.
  • Téléchargez le modèle exporté: une fois l'exportation terminée, vous pouvez télécharger le modèle et l'utiliser dans votre pipeline de déploiement.
Fig. 4. Aperçu de la configuration des paramètres d'exportation dans Ultralytics

Choisir le bon format d'exportation

En découvrant les différents formats d'exportation pris en charge par Ultralytics , vous vous demanderez peut-être lequel choisir. La réponse dépend en réalité de l'endroit et de la manière dont vous comptez utiliser votre modèle.

Voici quelques éléments à prendre en compte :

  • Exigences en matière de latence: pour les applications en temps réel telles que l'analyse vidéo ou les systèmes autonomes, une faible latence est essentielle. Les formats optimisés pour l'inférence haute performance, tels que TensorRT, sont souvent plus adaptés.
  • Contraintes matérielles: les appareils dotés d'une mémoire et d'une puissance de traitement limitées, tels que les téléphones mobiles ou les systèmes embarqués, nécessitent des formats légers comme LiteRT ou NCNN. 
  • ‍Taille du modèle et consommation d'énergie: lorsqu'on travaille avec des appareils en périphérie, la taille du modèle et la consommation d'énergie revêtent une importance particulière. Des modèles plus petits et optimisés permettent de garantir des performances constantes sans épuiser les ressources.
  • Environnement de déploiement : si votre modèle doit fonctionner sur différentes plateformes, des formats tels que ONNX une grande flexibilité. Pour les cas d'utilisation spécifiques à une plateforme, comme iOS , CoreML souvent le meilleur choix.

Il n'existe pas de format universel. Tout est une question d'équilibre entre les performances, la compatibilité et les contraintes de votre environnement cible. Ultralytics vous facilite la tâche en vous permettant d'essayer et de comparer différents formats sans effort supplémentaire.

Principaux points à retenir

L'exportation est une étape essentielle pour préparer votre modèle à une utilisation en conditions réelles dans différents environnements. Avec Ultralytics , ce processus est considérablement simplifié : vous pouvez convertir et optimiser vos modèles sans configuration supplémentaire ni complexité. En choisissant le format adapté à votre cas d'utilisation, vous vous assurez que votre modèle fonctionnera efficacement, quel que soit l'endroit où vous le déployez.

Rejoignez notre communauté en pleine expansion et consultez notre dépôt GitHub pour en savoir plus sur la vision par ordinateur. Parcourez nos pages consacrées aux solutions pour en savoir plus sur des applications telles que l'IA en robotique et la vision par ordinateur dans le domaine de la logistique. Découvrez nos options de licence et lancez-vous dans le développement avec l'IA de vision ! 

Construisons ensemble l'avenir de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique