Passer au contenu

Comment exporter au format PaddlePaddle à partir des modèles YOLO11

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 réels avec des conditions variables. PaddlePaddle facilite ce processus grâce à l'accent mis sur la flexibilité, les performances et sa capacité de traitement parallèle dans des environnements distribués. Cela signifie que vous pouvez utiliser vos modèles de vision par ordinateur YOLO11 sur une grande variété d'appareils et de plateformes, des smartphones aux serveurs basés sur le cloud.



Regarder : Comment exporter les modèles Ultralytics YOLO11 au format PaddlePaddle | Principales caractéristiques du format PaddlePaddle

La possibilité d'exporter au format de modèle PaddlePaddle vous permet d'optimiser vos modèles Ultralytics YOLO11 pour une utilisation dans le framework PaddlePaddle. PaddlePaddle est connu pour faciliter les déploiements industriels et est un bon choix pour le déploiement d'applications de vision par ordinateur dans des contextes réels à travers divers domaines.

Pourquoi exporter vers PaddlePaddle ?

Logo PaddlePaddle

Développé par Baidu, PaddlePaddle (PArallel Distributed Deep LEarning) est la première plateforme chinoise d'apprentissage profond open source. Contrairement à certains frameworks construits principalement pour la recherche, PaddlePaddle privilégie la facilité d'utilisation et l'intégration fluide dans tous les secteurs.

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

En exportant vos modèles Ultralytics YOLO11 au format PaddlePaddle, vous pouvez exploiter les atouts de PaddlePaddle en matière d'optimisation des performances. PaddlePaddle privilégie l'exécution efficace des modèles et la réduction de l'utilisation de la mémoire. Par conséquent, vos modèles YOLO11 peuvent potentiellement atteindre des performances encore meilleures, offrant des résultats de premier ordre dans des scénarios pratiques.

Principales caractéristiques des modèles PaddlePaddle

Les modèles PaddlePaddle offrent une gamme de fonctionnalités clés qui contribuent à leur flexibilité, leurs performances et leur évolutivité dans divers scénarios de déploiement :

  • Graphe dynamique vers statique : PaddlePaddle prend en charge la compilation dynamique vers statique, où les modèles peuvent être traduits en un graphe de calcul statique. Cela permet des optimisations qui réduisent la surcharge d'exécution et améliorent les performances d'inférence.

  • Fusion d'opérateurs : PaddlePaddle, comme TensorRT, utilise la fusion d'opérateurs pour rationaliser le calcul et réduire la surcharge. Le framework minimise les transferts de mémoire et les étapes de calcul en fusionnant les opérations compatibles, ce qui accélère l'inférence.

  • Quantification : PaddlePaddle prend en charge les techniques de quantification, y compris la quantification post-formation et la formation tenant compte de la quantification. Ces techniques permettent d’utiliser des représentations de données de plus faible précision, ce qui améliore efficacement les performances et réduit la taille du modèle.

Options de déploiement dans PaddlePaddle

Avant de plonger dans le code pour exporter les modèles YOLO11 vers PaddlePaddle, jetons un coup d'œil aux différents scénarios de déploiement dans lesquels les modèles PaddlePaddle excellent.

PaddlePaddle offre une gamme d'options, chacune offrant un équilibre distinct entre facilité d'utilisation, flexibilité et performances :

  • Paddle Serving : Ce framework simplifie le déploiement des modèles PaddlePaddle en tant qu'API RESTful à hautes performances. Paddle Serving est idéal pour les environnements de production, offrant des fonctionnalités telles que le versionnage des modèles, les tests A/B en ligne et l'évolutivité pour gérer de grands volumes de requêtes.

  • API d'inférence Paddle : L'API d'inférence Paddle vous offre un contrôle de bas niveau sur l'exécution du modèle. Cette option est idéale dans les cas où vous devez 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 réduire leur taille et accélérer l'inférence sur les CPU ARM, les GPU et d'autres matériels spécialisés.

  • Paddle.js : Paddle.js vous permet de déployer des modèles PaddlePaddle directement dans les navigateurs web. Paddle.js peut soit charger un modèle pré-entraîné, soit transformer un modèle à partir de paddle-hub avec les outils de transformation de modèle fournis par Paddle.js. Il peut fonctionner dans les navigateurs qui prennent en charge WebGL/WebGPU/WebAssembly.

Exporter vers PaddlePaddle : Conversion de votre modèle YOLO11

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

Installation

Pour installer le paquet requis, exécutez :

Installation

# Install the required package for YOLO11
pip install ultralytics

Pour des instructions détaillées et les meilleures pratiques relatives au processus d'installation, consultez notre guide d'installation Ultralytics. Si vous rencontrez des difficultés lors de l'installation des packages requis pour YOLO11, consultez notre guide des problèmes courants pour obtenir des solutions et des conseils.

Utilisation

Tous les modèles Ultralytics YOLO11 prennent en charge l’exportation, et vous pouvez parcourir la liste complète des formats et options d’exportation pour trouver la meilleure solution pour vos besoins de déploiement.

Utilisation

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

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

Arguments d'exportation

Argument Type Par défaut Description
format str 'paddle' Format cible pour le modèle exporté, définissant la compatibilité avec divers environnements de déploiement.
imgsz int ou tuple 640 Taille d'image souhaitée pour l'entrée du modèle. Peut être un entier pour les images carrées ou un tuple (height, width) pour des dimensions spécifiques.
batch int 1 Spécifie la taille du lot d'inférence du modèle d'exportation ou le nombre maximal d'images que le modèle exporté traitera simultanément en predict mode.
device str None Spécifie le dispositif pour l'exportation : CPU (device=cpu), MPS pour Apple Silicon (device=mps).

Pour plus de détails sur le processus d'exportation, consultez la page de la documentation Ultralytics sur l'exportation.

Déploiement de modèles YOLO11 PaddlePaddle exportés

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

Cependant, pour des instructions détaillées sur le déploiement de vos modèles PaddlePaddle dans divers autres contextes, consultez les ressources suivantes :

  • Paddle Serving : Apprenez à déployer vos modèles PaddlePaddle en tant que services performants à l'aide de Paddle Serving.

  • Paddle Lite : Découvrez comment optimiser et déployer des modèles sur des appareils mobiles et embarqués à l'aide de Paddle Lite.

  • Paddle.js : Découvrez comment exécuter des modèles PaddlePaddle dans des 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 YOLO11 au format PaddlePaddle. En suivant ces étapes, vous pouvez tirer parti des atouts de PaddlePaddle dans divers scénarios de déploiement, en optimisant vos modèles pour différents environnements matériels et logiciels.

Pour plus de détails sur l'utilisation, consultez la documentation officielle de PaddlePaddle.

Vous souhaitez explorer d'autres façons d'intégrer vos modèles Ultralytics YOLO11 ? Notre page de guide d'intégration explore diverses options, vous fournissant des ressources et des informations précieuses.

FAQ

Comment exporter des modèles Ultralytics YOLO11 au format PaddlePaddle ?

L'exportation des modèles Ultralytics YOLO11 au format PaddlePaddle est simple. Vous pouvez utiliser le export méthode de la classe YOLO pour effectuer cette exportation. Voici un exemple utilisant Python :

Utilisation

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

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

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

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

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

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

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

  • Optimisation des performances : PaddlePaddle excelle dans l'exécution efficace des modèles et la réduction de l'utilisation de la mémoire.
  • Compilation de graphe dynamique vers statique : Il prend en charge la compilation dynamique vers statique, ce qui permet des optimisations d'exécution.
  • Fusion d'opérateurs : En fusionnant les opérations compatibles, elle réduit la surcharge de calcul.
  • Techniques de quantification : Prend en charge l’apprentissage post-formation et l’apprentissage tenant compte de la quantification, ce qui permet d’utiliser des représentations de données de précision inférieure pour améliorer les performances.

Vous pouvez obtenir des résultats améliorés en exportant vos modèles Ultralytics YOLO11 vers PaddlePaddle, ce qui garantit flexibilité et haute performance sur diverses applications et plateformes matérielles. Explorez les principales caractéristiques et capacités de PaddlePaddle dans la documentation officielle de PaddlePaddle.

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

PaddlePaddle, développé par Baidu, est optimisé pour les déploiements d'IA industriels et commerciaux. Sa grande communauté de développeurs et son framework robuste fournissent des outils étendus similaires à TensorFlow et PyTorch. En exportant vos modèles YOLO11 vers PaddlePaddle, vous tirez parti de :

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

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

Comment PaddlePaddle améliore-t-il la performance du modèle par rapport aux autres frameworks ?

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

  • Graphe dynamique vers statique : Convertit les modèles en un graphe de calcul statique pour les optimisations d'exécution.
  • Fusion d'opérateurs : Combine les 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 plus faible précision tout en conservant la précision.

Ces techniques privilégient une exécution efficace du modèle, faisant de PaddlePaddle une excellente option pour déployer des modèles YOLO11 à haute performance. Pour plus d'informations sur l'optimisation, consultez la documentation officielle de PaddlePaddle.

Quelles options de déploiement PaddlePaddle offre-t-il pour les modèles YOLO11 ?

PaddlePaddle offre des options de déploiement flexibles :

  • Paddle Serving : Déploie les modèles en tant qu'API RESTful, idéal pour la production avec des fonctionnalités telles que le versionnage des modèles et les tests A/B en ligne.
  • API d'inférence Paddle : Offre 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. Explorez d'autres stratégies de déploiement sur la page Options de déploiement des modèles Ultralytics.



📅 Créé il y a 1 an ✏️ Mis à jour il y a 4 mois

Commentaires