En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Paramètres des cookies
En cliquant sur « Accepter tous les cookies », vous acceptez le stockage de cookies sur votre appareil pour améliorer la navigation sur le site, analyser son utilisation et contribuer à nos efforts de marketing. Plus d’infos
Découvrez comment exporter des modèles Ultralytics YOLO tels qu'Ultralytics YOLO11 avec PaddlePaddle pour un déploiement efficace sur les plateformes edge, mobiles et cloud.
À mesure que l'intelligence artificielle (IA) progresse, les machines comprennent de mieux en mieux le monde qui les entoure. Un domaine clé qui stimule 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 artificielle fait désormais partie de nombreux outils quotidiens. Ces tâches reposent sur des modèles de Vision IA capables d'analyser 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, la santé, la sécurité et la vente au détail. Par exemple, Ultralytics YOLO11 est un modèle conçu pour gérer une gamme de tâches de vision par ordinateur avec rapidité et précision. Il peut détecter et classer des objets, suivre les mouvements et estimer les poses corporelles.
Un élément essentiel du passage de 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é entraîné, l'étape suivante consiste à l'exécuter sur des appareils tels que des téléphones, du matériel de périphérie ou des serveurs cloud.
Fig 1. Le déploiement de modèles est un élément clé de tout projet de vision par ordinateur.
Pour prendre en charge cela, les modèles Ultralytics YOLO comme YOLO11 peuvent être exportés dans différents formats en fonction de la plateforme cible. L'un de ces formats est PaddlePaddle, un framework 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é via l'intégration PaddlePaddle prise en charge par Ultralytics afin de permettre un déploiement efficace sur diverses plateformes.
Qu'est-ce que PaddlePaddle ?
Le déploiement de modèles d'IA en dehors des contextes de recherche, comme sur des appareils mobiles ou du matériel périphérique, peut parfois être délicat, surtout lorsque vous avez besoin qu'ils fonctionnent efficacement et utilisent un minimum de ressources. PaddlePaddle est un framework d'apprentissage profond conçu pour vous aider précisément dans ce domaine.
Il s'agit d'une plateforme chinoise open source, dont le nom signifie Parallel Distributed Deep Learning (apprentissage profond parallèle distribué). Développée par Baidu, une entreprise bien connue pour son travail dans l'IA et l'infrastructure logicielle, PaddlePaddle a été créé 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. Il prend également en charge des outils qui simplifient le développement de l'IA, y compris des 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.
Principales caractéristiques de PaddlePaddle
Voici quelques-unes des principales caractéristiques qui aident PaddlePaddle à exécuter des modèles plus efficacement sur des appareils du monde réel :
Conversion de graphe dynamique en graphe statique : Cette fonctionnalité transforme un modèle flexible en une version fixe qui s'exécute de manière plus fluide et prévisible. Un modèle fixe est plus facile à optimiser et plus rapide lors de la réalisation de prédictions.
Fusion d'opérateurs : PaddlePaddle peut combiner plusieurs étapes du modèle en une seule. Cela réduit la quantité de mémoire utilisée par le modèle et l'aide à s'exécuter plus rapidement. Considérez cela comme la combinaison de plusieurs tâches en une seule action pour gagner du temps.
Quantification: Cela réduit la taille du modèle en utilisant des nombres plus simples (comme l'arrondissement à moins de décimales). Cela aide le modèle à fonctionner sur des appareils avec une puissance limitée, comme les téléphones ou les caméras intelligentes, sans perdre beaucoup de précision.
Fig. 2. Avantages de l'utilisation de PaddlePaddle. Image de l'auteur.
Présentation du déploiement de YOLO11 avec PaddlePaddle
L'intégration de PaddlePaddle prise en charge par Ultralytics facilite le passage de l'entraînement 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 Python Ultralytics prend en charge l'exportation directe des modèles YOLO11 au format PaddlePaddle, permettant aux développeurs de déployer des modèles entraînés sans outils supplémentaires ni étapes de conversion manuelles.
Le processus d'exportation peut être effectué en utilisant soit la ligne de commande, soit le code Python, de sorte que les développeurs peuvent choisir la méthode qui convient le mieux à leur flux de travail. Cela permet de simplifier les choses 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 par ordinateur telles que la détection d'objets, la classification d'images, l'estimation de 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 aux ressources limitées.
Comment exporter des modèles YOLO11 au format PaddlePaddle
Il ne faut que quelques étapes pour exporter YOLO11 au format de modèle PaddlePaddle.
La première étape consiste à installer le package Python Ultralytics à l'aide d'un gestionnaire de packages tel que ‘pip’. Pour commencer, vous pouvez le faire en exécutant la commande “pip install ultralytics” dans votre invite de commande ou votre terminal.
Le package Ultralytics fournit des outils pour l'entraînement, l'évaluation, le réglage fin, l'exportation et le déploiement de modèles pour une gamme 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 entraîné sur mesure.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="paddle")
Une fois que votre 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, signifie simplement utiliser le modèle pour analyser de nouvelles données. Ici, nous le testons avec une image de deux chiens.
Après avoir exécuté le code, l'image de sortie avec 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éploiement de YOLO11 à l'aide du framework PaddlePaddle
PaddlePaddle offre plusieurs outils de déploiement, chacun étant 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 telles que le contrôle de version et les tests en ligne.
API Paddle Inference : Elle vous donne plus de contrôle sur la façon dont les modèles s'exécutent, ce qui est utile lorsque vous avez besoin d'affiner les performances ou de créer 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 les modèles plus petits et une inférence plus rapide sur le matériel avec des ressources limitées.
Paddle.js : Il vous permet d'exécuter des modèles d'IA dans les navigateurs Web en utilisant des technologies telles que WebGL et WebAssembly, ce qui est utile pour les démos interactives et les outils basés sur le navigateur.
Fig. 4. Options de déploiement activées par PaddlePaddle. Image de l'auteur.
Une fois que vous avez choisi le bon outil pour votre configuration, vous pouvez charger le modèle exporté. Le moteur PaddlePaddle s'occupe des étapes suivantes. Il charge le modèle, traite l'image d'entrée et renvoie les résultats.
Quand devriez-vous choisir l'intégration PaddlePaddle ?
Le package Python Ultralytics prend également en charge divers autres formats d'exportation, vous pouvez donc vous demander : quand PaddlePaddle est-il le bon choix ?
PaddlePaddle est une option fiable lorsque vous cherchez à déployer des modèles sur des appareils avec des 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 cloud.
De plus, 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 études de terrain ou les scanners de vente au détail compatibles avec l'IA peuvent bénéficier de l'exécution légère et des options de déploiement flexibles de PaddlePaddle.
Limitations de PaddlePaddle à prendre en compte
Bien que PaddlePaddle offre des capacités de déploiement intéressantes, voici quelques facteurs limitatifs à connaître :
Communauté mondiale plus petite : En dehors de la Chine, la base d'utilisateurs et de contributeurs est relativement réduite. Il peut donc être plus difficile de trouver un soutien communautaire, des problèmes résolus sur GitHub ou des réponses sur Stack Overflow.
Courbe d’apprentissage plus abrupte pour les outils non-Baidu : PaddlePaddle s’intègre facilement à 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 courants : PaddlePaddle a une compatibilité limitée avec les outils courants tels que Hugging Face Transformers, MLflow ou les services d'IA natifs de Kubernetes.
Principaux points à retenir
L'intégration de PaddlePaddle prise en charge par Ultralytics facilite l'exportation et le déploiement des modèles YOLO11 sur 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, 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 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.