Contrôle vert
Lien copié dans le presse-papiers

Exporter Ultralytics YOLO11 en utilisant l'intégration PaddlePaddle

Apprends à exporter des modèles Ultralytics YOLO11 comme Ultralytics YOLO11 avec PaddlePaddle pour un déploiement efficace sur les plateformes edge, mobile et cloud.

À mesure que l'intelligence artificielle (IA) progresse, les machines comprennent de mieux en mieux le monde qui les entoure. L'un des domaines clés à l'origine de ces progrès est la vision par ordinateur, une branche de l'IA qui permet aux machines d'interpréter et de prendre des décisions basées sur des données visuelles.

Qu'il s'agisse d'aider les voitures à reconnaître les panneaux de signalisation ou de vérifier les rayons des magasins de détail, la vision par ordinateur fait désormais partie de nombreux outils du quotidien. Ces tâches s'appuient sur des modèles d'IA Vision qui peuvent rapidement scanner une photo ou une vidéo et identifier ce qui est important.

Au fil du temps, ces modèles sont devenus plus rapides et plus précis, ce qui les rend utiles dans des domaines tels que l'agriculture, les soins de santé, la sécurité et la vente au détail. Par exemple, Ultralytics YOLO11 est un modèle conçu pour traiter toute une série de tâches de vision par ordinateur avec rapidité et précision. Il peut détecter et classer des objets, suivre des mouvements et estimer des poses corporelles.

Un élément essentiel pour faire passer la vision par ordinateur de la recherche aux applications du monde réel est le déploiement. Une fois qu'un modèle a été formé, l'étape suivante consiste à l'exécuter sur des appareils tels que des téléphones, du matériel périphérique ou des serveurs dans le nuage. 

Fig 1. Le déploiement du modèle est un élément clé de tout projet de vision par ordinateur.

Pour soutenir cela, les modèlesYOLO d'Ultralytics comme YOLO11 peuvent être exportés dans différents formats en fonction de la plateforme cible. L'un de ces formats est PaddlePaddle, un cadre d'IA open-source qui permet un déploiement et une inférence efficaces des modèles sur un large éventail d'appareils et de systèmes.

Dans cet article, nous allons explorer comment Ultralytics YOLO11 peut être exporté par le biais de l'intégrationPaddlePaddle prise en charge par Ultralytics pour permettre un déploiement efficace sur diverses plateformes.

Qu'est-ce que PaddlePaddle? 

Déployer des modèles d'IA en dehors des contextes de recherche, comme sur des appareils mobiles ou du matériel de périphérie, peut parfois s'avérer délicat, surtout lorsque tu as besoin qu'ils s'exécutent efficacement et utilisent un minimum de ressources. PaddlePaddle est un cadre d'apprentissage profond conçu pour aider exactement à cela.

Il s'agit d'une plateforme open-source chinoise, dont le nom signifie Parallel Distributed Deep Learning (apprentissage profond parallèle et distribué). Développée par Baidu, une entreprise bien connue pour son travail dans le domaine de l'IA et de l'infrastructure logicielle, PaddlePaddle a été créée spécialement pour les applications du monde réel, et pas seulement pour la recherche.

Les développeurs peuvent exécuter des modèles au format PaddlePaddle sur des serveurs, des appareils périphériques et même du matériel mobile. Elle prend également en charge des outils qui simplifient le développement de l'IA, notamment les options low-code et no-code. La plateforme dispose d'une solide communauté de développeurs de plus de 4,7 millions d'utilisateurs, et est utilisée dans divers secteurs, notamment la santé, l'agriculture, la fabrication et la finance.

Caractéristiques principales de PaddlePaddle

Voici quelques-unes des principales caractéristiques qui permettent à PaddlePaddle exécuter des modèles plus efficacement sur des appareils du monde réel :

  • Conversion des graphiques dynamiques en graphiques statiques : Cette fonction transforme un modèle flexible en une version fixe qui s'exécute de façon plus fluide et plus prévisible. Un modèle fixe est plus facile à optimiser et plus rapide lorsqu'il s'agit de faire des prédictions.
  • Fusion d'opérateurs : PaddlePaddle peut combiner plusieurs étapes du modèle en une seule. Cela permet de réduire la quantité de mémoire utilisée par le modèle et de l'aider à fonctionner plus rapidement. Pense à cela comme si tu combinais plusieurs tâches en une seule action pour gagner du temps.
  • Quantification: Cela rend le modèle plus petit en utilisant des nombres plus simples (comme arrondir à moins de décimales). Elle permet au modèle de fonctionner sur des appareils dont la puissance est limitée, comme les téléphones ou les appareils photo intelligents, sans perdre beaucoup de précision.
Fig 2. Avantages de l'utilisation de PaddlePaddle. Image par l'auteur.

Un aperçu du déploiement de YOLO11 avec PaddlePaddle

L'intégration de PaddlePaddle prise en charge par Ultralytics permet de passer plus facilement de la formation au déploiement. Les développeurs qui utilisent déjà les outils PaddlePaddle peuvent intégrer YOLO11 dans leurs flux de travail plus facilement.

Le package Ultralytics Python prend en charge l'exportation directe des modèles YOLO11 au format PaddlePaddle , ce qui permet aux développeurs de déployer des modèles entraînés sans outils supplémentaires ni étapes de conversion manuelle. 

Le processus d'exportation peut être effectué à l'aide de la ligne de commande ou du code Python , de sorte que les développeurs peuvent choisir la méthode qui convient le mieux à leur flux de travail. Cela permet de garder les choses simples et de réduire les risques de problèmes de configuration. Une fois exporté, le modèle peut être utilisé pour des tâches de vision artificielle telles que la détection d'objets, la classification d'images, l'estimation de la pose et la segmentation d'instances.

C'est une excellente option pour les scénarios de déploiement où les appareils ont une mémoire limitée ou nécessitent un traitement rapide. Les modèles exportés sont optimisés pour fonctionner efficacement, même sur les systèmes à ressources limitées. 

Comment exporter les modèles YOLO11 au format PaddlePaddle ?

Il suffit de quelques étapes pour exporter YOLO11 au format de modèle PaddlePaddle .

La première étape consiste à installer le paquetUltralytics Python à l'aide d'un gestionnaire de paquets comme 'pip'. Cela peut se faire en exécutant la commande "pip install ultralytics" dans ton invite de commande ou ton terminal pour commencer.

L'ensemble Ultralytics fournit des outils pour former, évaluer, affiner, exporter et déployer des modèles pour toute une série de tâches de vision par ordinateur. Si tu rencontres des problèmes lors de l'installation, consulte le guide des problèmes courants pour obtenir des conseils de dépannage.

Une fois ton environnement configuré, tu peux charger et exporter un modèle YOLO11 pré-entraîné tel que "yolo11n.pt", comme indiqué ci-dessous. Tu peux également exporter ton propre modèle YOLO11 personnalisé.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")

model.export(format="paddle")

Une fois que ton modèle a été converti au format PaddlePaddle , il peut être déployé dans divers scénarios sur différents types de matériel.

Par exemple, dans l'exemple ci-dessous, nous chargeons un modèle YOLO11 qui a été exporté au format PaddlePaddle et nous l'utilisons pour faire une prédiction. Ce processus, connu sous le nom d'exécution d'une inférence, consiste simplement à utiliser le modèle pour analyser de nouvelles données. Ici, nous le testons avec une image de deux chiens.

paddle_model = YOLO("./yolo11n_paddle_model")

results = paddle_model("https://www.pexels.com/photo/2-vizsla-dogs-standing-on-brown-wood-plank-33287/")

Après avoir exécuté le code, l'image de sortie avec les prédictions du modèle sera enregistrée automatiquement dans le dossier "runs/detect/predict".

Fig 3. Utilisation du modèle exporté de YOLO11 pour détecter des objets dans une image. Image par l'auteur.

Déploiement de YOLO11 à l'aide du cadre PaddlePaddle

PaddlePaddle propose plusieurs outils de déploiement, chacun adapté à différents appareils et cas d'utilisation comme les environnements cloud, les systèmes embarqués et les applications web. Voici quelques-unes des principales options de déploiement:

  • Paddle Serving : Il aide à déployer des modèles en tant qu'API REST, ce qui en fait un bon choix pour les environnements cloud ou serveur qui ont besoin de fonctionnalités comme le contrôle de version et les tests en ligne.
  • L'API d'inférence de la pagaie : Elle te donne plus de contrôle sur la façon dont les modèles s'exécutent, ce qui est utile lorsque tu as besoin d'affiner les performances ou de construire une logique d'application personnalisée.
  • Paddle Lite : Il est conçu pour un déploiement léger sur les appareils mobiles, les tablettes et les systèmes embarqués. Il est optimisé pour des modèles plus petits et une inférence plus rapide sur du matériel aux ressources limitées.
  • Paddle.js : il te permet d'exécuter des modèles d'IA dans les navigateurs Web à l'aide de technologies telles que WebGL et WebAssembly, ce qui est utile pour les démos interactives et les outils basés sur les navigateurs.
Fig 4. Options de déploiement offertes par PaddlePaddle. Image par l'auteur.

Une fois que tu as choisi l'outil qui convient à ta configuration, tu peux charger le modèle exporté. Le moteur de PaddlePaddle s'occupe des étapes suivantes. Il charge le modèle, traite l'image d'entrée et renvoie les résultats.

Quand devrais-tu choisir l'intégration de PaddlePaddle ?

Le package Ultralytics Python prend également en charge divers autres formats d'exportation, si bien que tu peux te retrouver à te poser la question : Quand PaddlePaddle est-il le bon choix ?

PaddlePaddle est une option fiable lorsque tu cherches à déployer des modèles sur des appareils aux ressources limitées, comme les smartphones, les systèmes embarqués ou le matériel périphérique. C'est également une excellente solution pour les applications en temps réel qui nécessitent des performances rapides et efficaces, comme la détection d'objets dans les applications mobiles, la surveillance basée sur la vision dans les caméras intelligentes, ou l'estimation de la pose qui s'exécute directement sur l'appareil sans assistance dans le cloud.

Au-delà, si le projet doit fonctionner hors ligne ou dans des environnements à faible connectivité, tu peux envisager d'utiliser l'intégration de PaddlePaddle . Les applications telles que les outils d'inspection visuelle dans la fabrication, les appareils portatifs pour les enquêtes sur le terrain ou les scanners de vente au détail dotés d'IA peuvent bénéficier de la légèreté d'exécution de PaddlePaddleet de ses options de déploiement flexibles. 

Limites de PaddlePaddle à prendre en compte

Si PaddlePaddle offre des capacités de déploiement intéressantes, voici quelques facteurs contraignants dont il faut tenir compte :

  • Une communauté mondiale plus petite: En dehors de la Chine, la base d'utilisateurs et de contributeurs est relativement petite. Il peut donc être plus difficile de trouver du soutien communautaire, des problèmes GitHub résolus ou des réponses Stack Overflow.
  • Courbe d'apprentissage plus raide pour les outils non-Baidu: PaddlePaddle s'intègre sans problème à l'écosystème de Baidu, mais son utilisation en dehors de ce contexte peut impliquer des étapes de configuration et d'installation supplémentaires.
  • Moins d'intégrations avec les outils ML grand public: PaddlePaddle a une compatibilité limitée avec les outils courants comme Hugging Face Transformers, MLflow ou les services d'IA natifs de Kubernetes.

Principaux enseignements

L'intégration PaddlePaddle prise en charge par Ultralytics facilite l'exportation et le déploiement des modèles YOLO11 sur toute une gamme d'appareils. Elle est particulièrement utile pour les projets qui nécessitent des performances efficaces sur l'appareil - comme les applications mobiles, les caméras intelligentes ou les systèmes embarqués.

En quelques étapes seulement, tu peux intégrer de puissants modèles de vision dans des applications du monde réel. Alors que la vision par ordinateur continue de progresser, des outils comme YOLO et PaddlePaddle facilitent plus que jamais la création de systèmes rapides et intelligents dans tous les domaines, des appareils grand public aux outils industriels.

Rejoins notre communauté grandissante dès aujourd'hui ! Plonge plus profondément dans l'IA en explorant notre dépôt GitHub. Tu cherches à créer tes propres projets de vision par ordinateur ? Explore nos options de licence. Découvre comment la vision par ordinateur dans les soins de santé améliore l'efficacité et explore l'impact de l'IA dans le commerce de détail en visitant nos pages de solutions !

Logo LinkedInLogo de TwitterLogo FacebookSymbole du lien de copie

Lire la suite dans cette catégorie

Construisons ensemble le futur
de l'IA !

Commence ton voyage avec le futur de l'apprentissage automatique.