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 tes modèles Ultralytics YOLOv8 au format PaddlePaddle , tu peux profiter des atouts de PaddlePaddleen matière d'optimisation des performances. PaddlePaddle donne la priorité à une exécution efficace des modèles et à une utilisation réduite de la mémoire. Par conséquent, tes modèles YOLOv8 peuvent potentiellement atteindre des performances encore meilleures et fournir 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.