Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

TensorRT

Optimisez les modèles d'apprentissage profond avec TensorRT pour une inférence plus rapide et efficace sur les GPU NVIDIA . Obtenez des performances en temps réel avec YOLO et les applications d'IA.

TensorRT est un kit de développement logiciel (SDK) de haute performance développé par NVIDIA pour optimiser et exécuter des modèles d'apprentissage modèles d'apprentissage profond. Il fonctionne comme un moteur d'inférence spécialisé qui prend les réseaux réseaux neuronaux entraînés et les restructure pour qu'ils s'exécutent avec une efficacité maximale sur les processeurs graphiques (GPU) NVIDIA (GPU). En en rationalisant le graphe de calcul et en gérant l'utilisation de la mémoire, TensorRT réduit considérablement la latence de l'inférence et augmente le débit. latence de l'inférence et augmente le débit, ce qui en fait un outil essentiel pour les développeurs d'applications nécessitant des réponses immédiates et en temps réel.

Comment TensorRT optimise les performances

L'objectif principal de TensorRT est de combler le fossé entre un modèle formé dans un cadre flexible et un modèle déployé pour la vitesse. Il y parvient grâce à plusieurs techniques d'optimisation sophistiquées :

  • Fusion des couches et optimisation des graphes : TensorRT analyse l'architecture du réseau et fusionne plusieurs couches en une seule opération. couches en une seule opération. Par exemple, il peut combiner une couche de convolution avec une étape de biais et d'activation. couche de convolution avec une étape de biais et d'activation. Cette réduction du nombre d'opérations minimise les frais généraux liés au lancement des noyaux sur le GPU.
  • Étalonnage de précision : Pour accélérer encore les performances, TensorRT prend en charge la quantification des modèles. la quantification des modèles. Ce processus convertit les poids des modèles de la virgule flottante 32 bits standard (FP32) vers des formats de précision inférieure tels que la précision mixte (FP16) ou les entiers 8 bits (INT8). précision mixte (FP16) ou les entiers 8 bits (INT8). Cela permet de réduire considérablement l'utilisation de la bande passante de la mémoire tout en maintenant une haute précision.
  • Auto-réglage du noyau : Les architectures de GPU traitent différemment les opérations mathématiques. TensorRT sélectionne automatiquement les meilleures couches de données et les meilleurs algorithmes à partir d'une vaste bibliothèque de noyaux optimisés, s'assurer que le modèle s'exécute de manière optimale sur le matériel cible spécifique, tel qu'un NVIDIA Jetson ou un centre de données A100.
  • Mémoire Tensor dynamique : Le SDK optimise l'allocation de la mémoire en réutilisant la mémoire pour les tenseurs (conteneurs de données) qui ne sont pas nécessaires simultanément. tenseurs (conteneurs de données) qui ne sont pas nécessaires simultanément, ce qui réduit efficacement l'empreinte mémoire globale pendant le déploiement du modèle. déploiement du modèle.

Applications réelles de TensorRT

En raison de sa capacité à traiter des quantités massives de données avec un délai minimal, TensorRT est largement adopté dans les industries qui dépendent de la vision par ordinateur et des tâches d'IA complexes. vision par ordinateur et les tâches complexes d'intelligence artificielle.

  1. Véhicules autonomes : Dans le domaine de l de l 'IA dans l'automobile, les voitures autopilotées doivent traiter des flux vidéo provenant de plusieurs caméras afin de detect instantanément detect piétons, les panneaux et les obstacles. L'utilisation de TensorRT, modèles de perception tels que les réseaux de détection d'objets peuvent analyser les images en quelques millisecondes, ce qui permet au système de contrôle du véhicule de prendre des décisions cruciales pour la sécurité sans décalage. décalage.
  2. Fabrication intelligente : Les usines modernes utilisent l 'IA dans la fabrication pour l'inspection optique automatisée. Des caméras à grande vitesse capturent des images de produits sur les chaînes de montage, et des modèles TensorRT identifient les défauts ou les anomalies en temps réel. les défauts ou les anomalies en temps réel. Le contrôle de la qualité suit ainsi le rythme des environnements de production à grande vitesse. de production à grande vitesse, en déployant souvent des dispositifs d'IA en périphérie l'usine.

Utiliser TensorRT avec Ultralytics YOLO11

L'intégration de TensorRT dans votre flux de travail est simple avec les outils d'IA modernes. Les ultralytics paquet fournit une méthode transparente pour convertir les PyTorch dans les moteurs TensorRT . Cela permet aux utilisateurs de de tirer parti de l'architecture de pointe de Ultralytics YOLO11 avec l'accélération matérielle des GPU NVIDIA GPU.

L'exemple suivant montre comment exporter un modèle YOLO11 vers un fichier de moteur TensorRT (.engine) et l'utiliser pour l'inférence :

from ultralytics import YOLO

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

# Export the model to TensorRT format (creates 'yolo11n.engine')
# This step optimizes the model for the specific GPU currently in use
model.export(format="engine")

# Load the optimized TensorRT model for high-speed inference
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://ultralytics.com/images/bus.jpg")

TensorRT vs. autres technologies d'inférence

Il est important de distinguer TensorRT des autres outils de l'écosystème de l'apprentissage automatique.

  • TensorRT vs. les frameworks de formation : Des bibliothèques comme PyTorch et TensorFlow sont conçues principalement pour modèles de formation, en privilégiant la flexibilité et la facilité de débogage. TensorRT est strictement destiné à l'inférence l'inférence, en privilégiant la vitesse brute et l'efficacité sur du matériel spécifique.
  • TensorRT vs. ONNX Runtime : Le ONNX (Open Neural Network Exchange) est conçu pour assurer l'interopérabilité entre différentes plateformes. Alors que ONNX Runtime est un moteur polyvalent qui fonctionne sur différents matériels, TensorRT fournit des optimisations plus profondes, spécifiques au matériel et exclusives aux GPU NVIDIA , ce qui permet souvent d'obtenir des performances supérieures à celles des moteurs génériques. génériques.
  • TensorRT vs. OpenVINO: Tout comme TensorRT est optimisé pour le matériel NVIDIA , la boîte à outils OpenVINO est conçue pour accélérer le traitement des données NVIDIA OpenVINO est conçu pour accélérer l'inférence l'inférence sur les processeurs Intel (CPU et GPU intégrés). Le choix de l'un ou l'autre dépend entièrement de votre matériel.

Pour les déploiements évolutifs dans le nuage, les moteurs TensorRT sont souvent servis par le serveur d'inférence NVIDIA Triton Inference Server, qui gère les versions de modèles et gère efficacement les demandes simultanées.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant