Skip to content

Comment exporter au format PaddlePaddle des modèles YOLOv8 ?

Il peut être difficile de combler le fossé entre le développement et le déploiement de modèles de vision par ordinateur dans des scénarios du monde réel avec des conditions variables. PaddlePaddle facilite ce processus en mettant l'accent sur la flexibilité, la performance et sa capacité de traitement parallèle dans des environnements distribués. Cela signifie que tu peux utiliser tes modèles de vision par ordinateur YOLOv8 sur une grande variété d'appareils et de plates-formes, des smartphones aux serveurs basés sur le cloud.

La possibilité d'exporter vers le format de modèle PaddlePaddle te permet d'optimiser tes modèles pour les utiliser dans le cadre de , qui est connu pour faciliter les déploiements industriels. Ultralytics YOLOv8 pour une utilisation dans le cadre de PaddlePaddle . PaddlePaddle est connu pour faciliter les déploiements industriels et constitue un bon choix pour le déploiement d'applications de vision par ordinateur dans des environnements réels et dans divers domaines.

Pourquoi exporter vers PaddlePaddle?

PaddlePaddle Logo

Développé par Baidu, PaddlePaddle(PArallel Distributed Deep LEarning) est la première plateforme d'apprentissage profond à code source ouvert en Chine. Contrairement à certains cadres construits principalement pour la recherche, PaddlePaddle donne la priorité à la facilité d'utilisation et à l'intégration harmonieuse dans tous les secteurs d'activité.

Il offre des outils et des ressources similaires à des frameworks populaires comme TensorFlow et PyTorch, ce qui le rend accessible aux développeurs de tous niveaux d'expérience. De l'agriculture aux usines en passant par les entreprises de services, la grande communauté de développeurs de PaddlePaddle, qui compte plus de 4,77 millions de personnes, aide à créer et à déployer des applications d'IA.

En exportant votre Ultralytics YOLOv8 modèles à PaddlePaddle , vous pouvez exploiter PaddlePaddleen matière d’optimisation des performances. PaddlePaddle Donne la priorité à l’exécution efficace des modèles et à la réduction de l’utilisation de la mémoire. Par conséquent, votre YOLOv8 Les modèles peuvent potentiellement atteindre des performances encore meilleures, fournissant des résultats de premier ordre dans des scénarios pratiques.

Caractéristiques principales des modèles PaddlePaddle

PaddlePaddle offrent une gamme de caractéristiques clés qui contribuent à leur flexibilité, à leur performance et à leur évolutivité dans divers scénarios de déploiement :

  • Graphique dynamique Ă  statique: PaddlePaddle prend en charge la compilation dynamique Ă  statique, oĂą les modèles peuvent ĂŞtre traduits en un graphique de calcul statique. Cela permet des optimisations qui rĂ©duisent les frais gĂ©nĂ©raux d'exĂ©cution et augmentent les performances d'infĂ©rence.

  • Fusion d'opĂ©rateurs: PaddlePaddle, comme TensorRT, utilise la fusion d'opĂ©rateurs pour rationaliser les calculs et rĂ©duire les frais gĂ©nĂ©raux. Le cadre minimise les transferts de mĂ©moire et les Ă©tapes de calcul en fusionnant les opĂ©rations compatibles, ce qui permet une infĂ©rence plus rapide.

  • Quantification: PaddlePaddle prend en charge les techniques de quantification, y compris la quantification post-entraĂ®nement et l'entraĂ®nement conscient de la quantification. Ces techniques permettent d'utiliser des reprĂ©sentations de donnĂ©es de moindre prĂ©cision, ce qui permet d'amĂ©liorer les performances et de rĂ©duire la taille du modèle.

Options de déploiement dans PaddlePaddle

Avant de plonger dans le code d'exportation des modèles YOLOv8 vers PaddlePaddle, examinons les différents scénarios de déploiement dans lesquels les modèles PaddlePaddle excellent.

PaddlePaddle propose une gamme d'options, chacune offrant un équilibre distinct entre la facilité d'utilisation, la flexibilité et la performance :

  • Paddle Serving: Ce cadre simplifie le dĂ©ploiement des modèles PaddlePaddle sous forme d'API RESTful très performantes. Paddle Serving est idĂ©al pour les environnements de production, car il offre des fonctionnalitĂ©s telles que le versionnement des modèles, les tests A/B en ligne et l'Ă©volutivitĂ© pour traiter de gros volumes de demandes.

  • API d'infĂ©rence Paddle: L'API d'infĂ©rence Paddle te donne un contrĂ´le de bas niveau sur l'exĂ©cution du modèle. Cette option est bien adaptĂ©e aux scĂ©narios dans lesquels tu dois intĂ©grer Ă©troitement le modèle dans une application personnalisĂ©e ou optimiser les performances pour un matĂ©riel spĂ©cifique.

  • Paddle Lite: Paddle Lite est conçu pour ĂŞtre dĂ©ployĂ© sur des appareils mobiles et embarquĂ©s oĂą les ressources sont limitĂ©es. Il optimise les modèles pour qu'ils soient plus petits et que l'infĂ©rence soit plus rapide sur les CPU ARM, les GPU et d'autres matĂ©riels spĂ©cialisĂ©s.

  • Paddle.js : Paddle.js te permet de dĂ©ployer les modèles PaddlePaddle directement dans les navigateurs Web. Paddle.js peut soit charger un modèle prĂ©-entraĂ®nĂ©, soit transformer un modèle provenant de paddle-hub Ă  l'aide d'outils de transformation de modèles fournis par Paddle.js. Il peut fonctionner dans les navigateurs qui prennent en charge WebGL/WebGPU/WebAssembly.

Exporter vers PaddlePaddle: Conversion de ton modèle YOLOv8

La conversion des modèles YOLOv8 au format PaddlePaddle peut améliorer la souplesse d'exécution et optimiser les performances pour divers scénarios de déploiement.

Installation

Pour installer le paquetage requis, exécute :

Installation

# Install the required package for YOLOv8
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques liées au processus d'installation, consulte notre guide d'installationUltralytics . Pendant l'installation des paquets requis pour YOLOv8, si tu rencontres des difficultés, consulte notre guide des problèmes courants pour trouver des solutions et des conseils.

Utilisation

Avant de plonger dans les instructions d'utilisation, il est important de noter que si tous les modèlesUltralytics YOLOv8 sont disponibles pour l'exportation, tu peux t'assurer que le modèle que tu as choisi prend en charge la fonctionnalité d'exportation ici.

Utilisation

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolov8n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

Pour plus de détails sur les options d'exportation prises en charge, visite la page de documentationUltralytics sur les options de déploiement.

Déploiement des modèles exportés YOLOv8 PaddlePaddle

Après avoir exporté avec succès tes modèles Ultralytics YOLOv8 au format PaddlePaddle , tu peux maintenant les déployer. La première étape recommandée pour exécuter un modèle PaddlePaddle est d'utiliser la méthode YOLO("./model_paddle_model"), comme indiqué dans l'extrait de code d'utilisation précédent.

Cependant, pour obtenir des instructions détaillées sur le déploiement de tes modèles PaddlePaddle dans divers autres contextes, jette un coup d'œil aux ressources suivantes :

  • Servir la pagaie: Apprends Ă  dĂ©ployer tes modèles PaddlePaddle en tant que services performants Ă  l'aide de Paddle Serving.

  • Paddle Lite: Explore comment optimiser et dĂ©ployer des modèles sur des appareils mobiles et embarquĂ©s Ă  l'aide de Paddle Lite.

  • Pagaie.js: DĂ©couvre comment exĂ©cuter les modèles PaddlePaddle dans les navigateurs web pour l'IA cĂ´tĂ© client Ă  l'aide de Paddle.js.

Résumé

Dans ce guide, nous avons exploré le processus d'exportation des modèles Ultralytics YOLOv8 vers le format PaddlePaddle . En suivant ces étapes, tu pourras tirer parti des atouts de PaddlePaddle dans divers scénarios de déploiement, en optimisant tes modèles pour différents environnements matériels et logiciels.

Pour plus de détails sur l'utilisation, consulte la documentation officielle dePaddlePaddle .

Tu veux explorer d'autres façons d'intégrer tes modèles Ultralytics YOLOv8 ? Notre page de guide d'intégration explore diverses options, en t'équipant de ressources et d'informations précieuses.

FAQ

Comment exporter les modèles Ultralytics YOLOv8 au format PaddlePaddle ?

L'exportation des modèles Ultralytics YOLOv8 vers le format PaddlePaddle est très simple. Tu peux utiliser l'outil export de la classe YOLO pour effectuer cette exportation. Voici un exemple utilisant Python:

Utilisation

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to PaddlePaddle format
model.export(format="paddle")  # creates '/yolov8n_paddle_model'

# Load the exported PaddlePaddle model
paddle_model = YOLO("./yolov8n_paddle_model")

# Run inference
results = paddle_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to PaddlePaddle format
yolo export model=yolov8n.pt format=paddle  # creates '/yolov8n_paddle_model'

# Run inference with the exported model
yolo predict model='./yolov8n_paddle_model' source='https://ultralytics.com/images/bus.jpg'

Pour une configuration et un dépannage plus détaillés, consulte le Guide d'installation et le Guide des problèmes courants de Ultralytics .

Quels sont les avantages de l'utilisation de PaddlePaddle pour le déploiement des modèles ?

PaddlePaddle offre plusieurs avantages clés pour le déploiement du modèle :

  • Optimisation des performances: PaddlePaddle excelle dans l'exĂ©cution efficace des modèles et l'utilisation rĂ©duite de la mĂ©moire.
  • Compilation graphique dynamique Ă  statique : Il prend en charge la compilation dynamique Ă  statique, ce qui permet d'optimiser le temps d'exĂ©cution.
  • Fusion d'opĂ©rateurs: En fusionnant les opĂ©rations compatibles, il rĂ©duit la surcharge de calcul.
  • Techniques de quantification: Prend en charge la formation post-entraĂ®nement et la formation tenant compte de la quantification, ce qui permet des reprĂ©sentations de donnĂ©es de moindre prĂ©cision pour amĂ©liorer les performances.

Tu peux obtenir des résultats améliorés en exportant tes modèles Ultralytics YOLOv8 vers PaddlePaddle, ce qui garantit une flexibilité et des performances élevées pour diverses applications et plates-formes matérielles. Pour en savoir plus sur les fonctionnalités de PaddlePaddle, clique ici.

Pourquoi devrais-je choisir PaddlePaddle pour déployer mes modèles YOLOv8 ?

PaddlePaddle, développé par Baidu, est optimisé pour les déploiements industriels et commerciaux de l'IA. Sa grande communauté de développeurs et son cadre robuste fournissent des outils complets similaires à TensorFlow et PyTorch. En exportant tes modèles YOLOv8 vers PaddlePaddle, tu peux en tirer parti :

  • Performances amĂ©liorĂ©es: Vitesse d'exĂ©cution optimale et empreinte mĂ©moire rĂ©duite.
  • FlexibilitĂ©: Large compatibilitĂ© avec divers appareils, des smartphones aux serveurs en nuage.
  • ÉvolutivitĂ©: CapacitĂ©s de traitement parallèle efficaces pour les environnements distribuĂ©s.

Ces caractéristiques font de PaddlePaddle un choix convaincant pour le déploiement des modèles YOLOv8 dans les environnements de production.

Comment PaddlePaddle améliore-t-il la performance des modèles par rapport à d'autres cadres ?

PaddlePaddle utilise plusieurs techniques avancées pour optimiser les performances du modèle :

  • Graphique dynamique Ă  statique: Convertit les modèles en un graphique de calcul statique pour les optimisations d'exĂ©cution.
  • Fusion d'opĂ©rateurs: Combine des opĂ©rations compatibles pour minimiser le transfert de mĂ©moire et augmenter la vitesse d'infĂ©rence.
  • Quantification: RĂ©duit la taille du modèle et augmente l'efficacitĂ© en utilisant des donnĂ©es de moindre prĂ©cision tout en maintenant l'exactitude.

Ces techniques donnent la priorité à une exécution efficace du modèle, ce qui fait de PaddlePaddle une excellente option pour déployer des modèles YOLOv8 très performants. Pour plus d'informations sur l'optimisation, voir la documentation officiellePaddlePaddle .

Quelles sont les options de déploiement offertes par PaddlePaddle pour les modèles YOLOv8 ?

PaddlePaddle offre des options de déploiement flexibles :

  • Paddle Serving: DĂ©ploie les modèles sous forme d'API RESTful, idĂ©al pour la production avec des fonctionnalitĂ©s telles que le versionnement des modèles et les tests A/B en ligne.
  • API d'infĂ©rence de la pagaie: Donne un contrĂ´le de bas niveau sur l'exĂ©cution du modèle pour les applications personnalisĂ©es.
  • Paddle Lite: Optimise les modèles pour les ressources limitĂ©es des appareils mobiles et embarquĂ©s.
  • Paddle.js: permet de dĂ©ployer des modèles directement dans les navigateurs web.

Ces options couvrent un large éventail de scénarios de déploiement, de l'inférence sur l'appareil aux services cloud évolutifs. Explore d'autres stratégies de déploiement sur la page Options de déploiement du modèleUltralytics .



Créé le 2024-03-11, Mis à jour le 2024-07-05
Auteurs : glenn-jocher (5), Burhan-Q (1), abirami-vina (2)

Commentaires