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?
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 :
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")
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")
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 .