Skip to content

TensorRT Exportation pour les modèles YOLOv8

Le déploiement de modèles de vision par ordinateur dans des environnements très performants peut nécessiter un format qui maximise la vitesse et l'efficacité. C'est particulièrement vrai lorsque tu déploies ton modèle sur des GPU NVIDIA.

En utilisant le format d'exportation TensorRT , tu peux améliorer tes modèles pour une inférence rapide et efficace sur le matériel NVIDIA. Ultralytics YOLOv8 modèles pour une inférence rapide et efficace sur le matériel NVIDIA. Ce guide te donnera des étapes faciles à suivre pour le processus de conversion et t'aidera à tirer le meilleur parti de la technologie avancée de NVIDIA dans tes projets d'apprentissage profond.

TensorRT

TensorRT Vue d'ensemble

TensorRT, développé par NVIDIA, est un kit de développement logiciel (SDK) avancé conçu pour l'inférence d'apprentissage profond à grande vitesse. Il est bien adapté aux applications en temps réel comme la détection d'objets.

Cette boîte à outils optimise les modèles d'apprentissage profond pour les GPU NVIDIA et permet d'obtenir des opérations plus rapides et plus efficaces. Les modèles TensorRT subissent une optimisation TensorRT , qui comprend des techniques telles que la fusion des couches, l'étalonnage de la précision (INT8 et FP16), la gestion dynamique de la mémoire tensor et l'auto-tuning du noyau. La conversion des modèles d'apprentissage profond au format TensorRT permet aux développeurs d'exploiter pleinement le potentiel des GPU NVIDIA.

TensorRT est connu pour sa compatibilité avec divers formats de modèles, notamment TensorFlow, PyTorch, et ONNX, offrant aux développeurs une solution flexible pour l'intégration et l'optimisation de modèles provenant de différents cadres. Cette polyvalence permet un déploiement efficace des modèles dans divers environnements matériels et logiciels.

Caractéristiques principales des modèles TensorRT

TensorRT Les modèles offrent une gamme de caractéristiques clés qui contribuent à leur efficacité et à leur efficience dans l'inférence d'apprentissage profond à grande vitesse :

  • Étalonnage de prĂ©cision: TensorRT prend en charge l'Ă©talonnage de prĂ©cision, ce qui permet d'affiner les modèles pour rĂ©pondre Ă  des exigences spĂ©cifiques en matière de prĂ©cision. Cela inclut la prise en charge des formats de prĂ©cision rĂ©duite tels que INT8 et FP16, qui permettent d'augmenter la vitesse d'infĂ©rence tout en maintenant des niveaux de prĂ©cision acceptables.

  • Fusion de couches: Le processus d'optimisation TensorRT comprend la fusion des couches, oĂą plusieurs couches d'un rĂ©seau neuronal sont combinĂ©es en une seule opĂ©ration. Cela permet de rĂ©duire la surcharge de calcul et d'amĂ©liorer la vitesse d'infĂ©rence en minimisant l'accès Ă  la mĂ©moire et les calculs.

TensorRT Fusion de couches

  • Gestion dynamique de la mĂ©moire de Tensor : TensorRT gère efficacement l'utilisation de la mĂ©moire de tensor pendant l'infĂ©rence, en rĂ©duisant la surcharge de la mĂ©moire et en optimisant l'allocation de la mĂ©moire. Il en rĂ©sulte une utilisation plus efficace de la mĂ©moire du GPU.

  • RĂ©glage automatique du noyau : TensorRT applique le rĂ©glage automatique du noyau pour sĂ©lectionner le noyau GPU le plus optimisĂ© pour chaque couche du modèle. Cette approche adaptative garantit que le modèle tire pleinement parti de la puissance de calcul du GPU.

Options de déploiement dans TensorRT

Avant d'examiner le code permettant d'exporter les modèles YOLOv8 au format TensorRT , comprenons où les modèles TensorRT sont normalement utilisés.

TensorRT offre plusieurs options de déploiement, et chaque option équilibre différemment la facilité d'intégration, l'optimisation des performances et la flexibilité :

  • DĂ©ploiement dans TensorFlow: Cette mĂ©thode intègre TensorRT dans TensorFlow, ce qui permet aux modèles optimisĂ©s de fonctionner dans un environnement TensorFlow familier. Elle est utile pour les modèles comportant un mĂ©lange de couches prises en charge et non prises en charge, car TF-TRT peut les gĂ©rer efficacement.

TensorRT Vue d'ensemble

  • API d'exĂ©cution autonome TensorRT : Offre un contrĂ´le granulaire, idĂ©al pour les applications dont les performances sont critiques. Elle est plus complexe mais permet la mise en Ĺ“uvre personnalisĂ©e d'opĂ©rateurs non pris en charge.

  • Serveur d'infĂ©rence NVIDIA Triton : Une option qui prend en charge les modèles de divers frameworks. Particulièrement adaptĂ©e Ă  l'infĂ©rence dans le cloud ou en pĂ©riphĂ©rie, elle offre des fonctionnalitĂ©s telles que l'exĂ©cution de modèles simultanĂ©s et l'analyse de modèles.

Exporter les modèles YOLOv8 vers TensorRT

Tu peux améliorer l'efficacité de l'exécution et optimiser les performances en convertissant les modèles YOLOv8 au format TensorRT .

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'installationYOLOv8 . 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 te plonger dans les instructions d'utilisation, n'oublie pas de consulter la gamme de modèlesYOLOv8 proposée par Ultralytics. Cela t'aidera à choisir le modèle le plus approprié aux exigences de ton projet.

Utilisation

from ultralytics import YOLO

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

# Export the model to TensorRT format
model.export(format='engine')  # creates 'yolov8n.engine'

# Load the exported TensorRT model
tensorrt_model = YOLO('yolov8n.engine')

# Run inference
results = tensorrt_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TensorRT format
yolo export model=yolov8n.pt format=engine  # creates 'yolov8n.engine''

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

Pour plus de détails sur le processus d'exportation, visite la page de documentationUltralytics sur l'exportation.

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

Après avoir exporté avec succès tes modèles Ultralytics YOLOv8 au format TensorRT , tu es maintenant prêt à les déployer. Pour obtenir des instructions détaillées sur le déploiement de tes modèles TensorRT dans différents contextes, jette un coup d'œil aux ressources suivantes :

Résumé

Dans ce guide, nous nous sommes concentrés sur la conversion des modèles Ultralytics YOLOv8 au format de modèle TensorRT de NVIDIA. Cette étape de conversion est cruciale pour améliorer l'efficacité et la rapidité des modèles YOLOv8 , ce qui les rend plus efficaces et adaptés à divers environnements de déploiement.

Pour plus d'informations sur les détails d'utilisation, jette un coup d'œil à la documentation officielle deTensorRT .

Si tu es curieux de connaître d'autres intégrations de Ultralytics YOLOv8 , notre page de guide d'intégration fournit une vaste sélection de ressources et d'informations.



Créé le 2024-01-28, Mis à jour le 2024-01-28
Auteurs : abirami-vina (1)

Commentaires