En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Paramètres des cookies
En cliquant sur "Accepter tous les cookies", vous acceptez que des cookies soient stockés sur votre appareil afin d'améliorer la navigation sur le site, d'analyser l'utilisation du site et de nous aider dans nos efforts de marketing. Plus d'informations
Apprenez à exporter les modèles YOLO d'Ultralytics comme Ultralytics YOLO11 avec PaddlePaddle pour un déploiement efficace sur les plates-formes périphériques, mobiles et en nuage.
À 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 de ces progrès est la vision artificielle, une branche de l'IA qui permet aux machines d'interpréter et de prendre des décisions sur la base de 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 de la vie quotidienne. Ces tâches s'appuient sur des modèles d'IA de vision capables de scanner rapidement une photo ou une vidéo et d'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.
Le déploiement est un élément essentiel pour faire passer la vision artificielle de la recherche aux applications du monde réel. 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 en nuage.
Fig. 1. Le déploiement du modèle est un élément clé de tout projet de vision par ordinateur.
Pour ce faire, les modèles YOLO 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 une large gamme d'appareils et de systèmes.
Dans cet article, nous allons explorer comment Ultralytics YOLO11 peut être exporté à travers l'intégration PaddlePaddle supportée par Ultralytics pour permettre un déploiement efficace sur différentes plateformes.
Qu'est-ce que PaddlePaddle ?
Le déploiement de modèles d'IA en dehors du cadre de la recherche, comme sur des appareils mobiles ou du matériel de pointe, peut parfois s'avérer délicat, en particulier lorsque vous avez besoin qu'ils fonctionnent efficacement et utilisent un minimum de ressources. PaddlePaddle est un cadre d'apprentissage profond conçu pour aider à résoudre ce problème.
Il s'agit d'une plateforme chinoise à code source ouvert, dont le nom signifie Parallel Distributed Deep Learning (apprentissage profond parallèle et distribué). Développée par Baidu, une entreprise bien connue pour ses travaux dans le domaine de l'IA et de l'infrastructure logicielle, PaddlePaddle a été créée spécialement pour des applications réelles, 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, y compris des options sans code et à code bas. La plateforme dispose d'une solide communauté de développeurs de plus de 4,7 millions d'utilisateurs et est utilisée dans de nombreux secteurs, notamment la santé, l'agriculture, la fabrication et la finance.
Principales caractéristiques de PaddlePaddle
Voici quelques-unes des principales caractéristiques qui permettent à PaddlePaddle d'exécuter des modèles plus efficacement sur des appareils réels :
Conversion des graphiques dynamiques en graphiques statiques : Cette fonction transforme un modèle flexible en une version fixe qui fonctionne de manière plus fluide et plus prévisible. Un modèle fixe est plus facile à optimiser et plus rapide pour 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'exécuter plus rapidement. C'est comme si vous combiniez plusieurs tâches en une seule action pour gagner du temps.
Quantification: Elle permet de réduire la taille du modèle en utilisant des nombres plus simples (comme l'arrondi à moins de décimales). Elle permet au modèle de fonctionner sur des appareils à puissance 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 de l'auteur.
Aperçu du déploiement de YOLO11 avec PaddlePaddle
L'intégration de PaddlePaddle supportée par Ultralytics facilite le passage de la formation au déploiement. Les développeurs qui utilisent déjà les outils PaddlePaddle peuvent intégrer plus facilement YOLO11 dans leurs flux de travail.
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 formés sans outils supplémentaires ni étapes de conversion manuelles.
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. Les développeurs peuvent donc choisir la méthode qui convient le mieux à leur flux de travail, ce qui simplifie les choses et réduit les risques de problèmes d'installation. 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.
Il s'agit d'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 des systèmes aux 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 paquetage Ultralytics Python à l'aide d'un gestionnaire de paquetage comme 'pip'. Cela peut être fait en lançant la commande "pip install ultralytics" dans votre invite de commande ou votre terminal pour commencer.
Le paquet Ultralytics fournit des outils pour l'entraînement, l'évaluation, la mise au point, l'exportation et le déploiement de modèles pour une série de tâches de vision par ordinateur. Si vous rencontrez des problèmes lors de l'installation, consultez le guide des problèmes courants pour obtenir des conseils de dépannage.
Une fois votre environnement configuré, vous pouvez charger et exporter un modèle YOLO11 pré-entraîné tel que "yolo11n.pt" comme indiqué ci-dessous. Vous pouvez également exporter votre propre modèle YOLO11 personnalisé.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="paddle")
Une fois votre modèle 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 exporté au format PaddlePaddle et nous l'utilisons pour faire une prédiction. Ce processus, connu sous le nom d'inférence, consiste simplement à utiliser le modèle pour analyser de nouvelles données. Ici, nous le testons avec une image de deux chiens.
Après l'exécution du code, l'image de sortie contenant les prédictions du modèle sera automatiquement enregistrée dans le dossier "runs/detect/predict".
Fig. 3. Utilisation du modèle YOLO11 exporté pour détecter des objets dans une image. Image par l'auteur.
Déployer YOLO11 en utilisant le framework PaddlePaddle
PaddlePaddle propose plusieurs outils de déploiement, chacun adapté à différents dispositifs et cas d'utilisation tels que les environnements cloud, les systèmes embarqués et les applications web. Voici quelques-unes des principales options de déploiement:
Paddle Serving : Il permet de déployer des modèles en tant qu'API REST, ce qui en fait un bon choix pour les environnements cloud ou serveur qui nécessitent des fonctionnalités telles que le contrôle des versions et les tests en ligne.
L'API d'inférence Paddle : Elle vous permet de mieux contrôler l'exécution des modèles, ce qui est utile lorsque vous devez affiner les performances ou créer une logique d'application personnalisée.
Paddle Lite : il est conçu pour un déploiement léger sur des appareils mobiles, des tablettes et des 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 permet d'exécuter des modèles d'IA dans des navigateurs web à l'aide de technologies telles que WebGL et WebAssembly, ce qui est utile pour les démonstrations interactives et les outils basés sur les navigateurs.
Fig. 4. Options de déploiement offertes par PaddlePaddle. Image de l'auteur.
Une fois que vous avez choisi l'outil adapté à votre configuration, vous pouvez charger le modèle exporté. Le moteur PaddlePaddle se charge des étapes suivantes. Il charge le modèle, traite l'image d'entrée et renvoie les résultats.
Quand choisir l'intégration de PaddlePaddle ?
Le package Ultralytics Python supporte également d'autres formats d'exportation, vous pouvez donc vous poser la question : Quand PaddlePaddle est-il le bon choix ?
PaddlePaddle est une option fiable lorsque vous cherchez à déployer des modèles sur des appareils aux ressources limitées, tels que les smartphones, les systèmes embarqués ou le matériel périphérique. Il est également idéal 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 fonctionnant directement sur l'appareil sans support du cloud.
En outre, si le projet doit fonctionner hors ligne ou dans des environnements à faible connectivité, vous pouvez envisager d'utiliser l'intégration PaddlePaddle. Les applications telles que les outils d'inspection visuelle dans la fabrication, les appareils portables 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é de PaddlePaddle et de ses options de déploiement flexibles.
Limites de PaddlePaddle à prendre en compte
Bien que PaddlePaddle offre des capacités de déploiement intéressantes, voici quelques facteurs contraignants dont il faut tenir compte :
Une communauté mondiale plus restreinte: En dehors de la Chine, la base d'utilisateurs et de contributeurs est relativement restreinte. Il peut donc être plus difficile de trouver de l'aide communautaire, des problèmes GitHub résolus ou des réponses Stack Overflow.
Courbe d'apprentissage plus prononcée pour les outils non-Baidu: PaddlePaddle s'intègre parfaitement à l'écosystème de Baidu, mais son utilisation en dehors de ce contexte peut nécessiter des étapes de configuration et d'installation supplémentaires.
Moins d'intégrations avec les outils ML classiques: PaddlePaddle a une compatibilité limitée avec des outils courants tels que 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 série 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, vous pouvez 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 tels que YOLO et PaddlePaddle facilitent plus que jamais la création de systèmes rapides et intelligents, qu'il s'agisse d'appareils grand public ou d'outils industriels.