Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

Exporter Ultralytics YOLO11 en utilisant l'intégration PaddlePaddle

Apprenez à exporter les modèlesYOLO d'Ultralytics comme Ultralytics YOLO11 avec PaddlePaddle pour un déploiement efficace sur les plates-formes périphériques, mobiles et en nuage.

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

En savoir plus sur les licences

À 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, les soins de santé, la sécurité et le commerce de détail. En voici un 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 detect et classify objets, track mouvements et estimer des 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 ce faire, 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 une large gamme d'appareils et de systèmes.

Dans cet article, nous allons explorer comment Ultralytics YOLO11 peut être exporté à travers l'intégrationPaddlePaddle 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 qu'ils 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 exécuter des modèles plus efficacement sur des appareils réels :

  • Conversion d'un graphe dynamique en graphe statique : cette fonctionnalité 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 effectuer des prédictions.
  • Fusion d'opérateurs : PaddlePaddle regrouper plusieurs étapes du modèle en une seule. Cela réduit la quantité de mémoire utilisée par le modèle et contribue à accélérer son exécution. C'est un peu comme si l'on regroupait 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.

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 ou é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.

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 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 paquetageUltralytics 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.

paddle_model = YOLO("./yolo11n_paddle_model")
paddle_model("https://images.pexels.com/photos/33287/dog-viszla-close.jpg", save=True)

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 "detect".

Fig. 3. Utilisation du modèle YOLO11 exporté pour detect 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 : cette solution permet de déployer des modèles sous forme d'API REST, ce qui en fait un choix idéal pour les environnements cloud ou serveur nécessitant des fonctionnalités telles que le contrôle de version et les tests en ligne.
  • Inference API Paddle Inference API: elle vous offre un meilleur contrôle sur le fonctionnement des modèles, ce qui s'avère utile lorsque vous devez optimiser les performances ou développer une logique d'application personnalisée.
  • Paddle Lite : cette version est conçue pour un déploiement léger sur les appareils mobiles, les tablettes et les systèmes embarqués. Elle est optimisée pour les modèles de petite taille et permet une inférence plus rapide sur du matériel aux 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 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 PaddlePaddleet 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, le nombre d'utilisateurs et de contributeurs est relativement faible. Il peut donc être plus difficile de trouver de l'aide au sein de la communauté, des tickets GitHub résolus ou des réponses sur Stack Overflow.
  • Une courbe d'apprentissage plus raide pour les outils autres que ceux de Baidu: PaddlePaddle parfaitement à l'écosystème de Baidu, mais son utilisation en dehors de ce contexte peut nécessiter des étapes supplémentaires de configuration et d'installation.
  • 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 points à retenir

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.

Rejoignez notre communauté en pleine croissance dès aujourd'hui ! Plongez au cœur de l'IA en explorant notre dépôt GitHub. Vous cherchez à créer vos propres projets de vision par ordinateur ? Explorez nos options de licence. Découvrez comment la vision par ordinateur dans le secteur de la santé améliore l'efficacité et explorez l'impact de l'IA dans le commerce de détail en consultant nos pages de solutions !

Construisons ensemble l'avenir de l'IA !

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