TensorRT est un optimiseur d'inférence d'apprentissage profond haute performance et une bibliothèque d'exécution développée par. NVIDIA. Il accélère les modèles d'apprentissage profond sur lesunités de traitement graphique (GPU) NVIDIA en appliquant diverses techniques d'optimisation. L'objectif principal de TensorRT est d'obtenir la latence d'inférence la plus faible possible et le débit le plus élevé pour les modèles déployés dans des environnements de production, ce qui le rend crucial pour les applications d'inférence en temps réel.
Pertinence pour Ultralytics
TensorRT est une cible de déploiement clé pour les modèlesYOLO d'Ultralytics . Les utilisateurs peuvent exporter leurs modèles Ultralytics YOLO formés au format TensorRT pour obtenir des accélérations significatives sur le matériel NVIDIA , y compris les appareils de pointe comme NVIDIA Jetson. Cela permet des applications très performantes dans divers domaines. Les pages de comparaison de modèles, telles que la comparaisonYOLOv5 vs RT-DETR , présentent souvent les vitesses d'inférence obtenues grâce à l'optimisation TensorRT . Ultralytics fournit également des guides pour l'intégration avec les plateformes NVIDIA , comme le guide DeepStream sur NVIDIA Jetson.
Applications dans le monde réel
TensorRT est largement utilisé lorsque l'inférence rapide et efficace sur le matériel NVIDIA est essentielle :
- Véhicules autonomes : Les voitures autonomes reposent sur le traitement de vastes quantités de données de capteurs en temps réel. TensorRT accélère les modèles de détection d'objets, de segmentation et de planification de trajectoire, permettant une prise de décision rapide essentielle à la sécurité. Il s'agit d'une composante essentielle de l'IA dans les solutions automobiles.
- L'analyse vidéo et les villes intelligentes : Le traitement de plusieurs flux vidéo haute résolution pour des tâches telles que la surveillance du trafic, l'analyse des foules ou la surveillance de la sécurité nécessite une immense puissance de calcul. TensorRT optimise les modèles tels que Ultralytics YOLOv8 pour traiter efficacement ces charges de travail exigeantes sur des serveurs ou des appareils périphériques, alimentant ainsi les solutions d'IA pour les villes intelligentes.
TensorRT vs. termes similaires
- ONNX (Open Neural Network Exchange): ONNX est un format ouvert pour représenter les modèles d'apprentissage profond. Alors que TensorRT peut importer des modèles à partir du format ONNX , ONNX lui-même est agnostique en termes de matériel, alors que TensorRT est spécifiquement un optimiseur et un moteur d'exécution pour les GPU NVIDIA . Les modèles Ultralytics peuvent être exportés vers ONNX.
- OpenVINO: Similaire à TensorRT, OpenVINO est une boîte à outils d'optimisation de l'inférence, mais elle est développée par Intel et cible principalement le matériel Intel (CPU, iGPU, VPU). En savoir plus sur l'intégration d'Ultralytics OpenVINO .
- PyTorch / TensorFlow: ce sont des frameworks d'apprentissage profond utilisés principalement pour la formation des modèles. TensorRT optimise les modèles après qu' ils ont été formés à l'aide de ces frameworks, les préparant ainsi à un déploiement efficace des modèles.
Comment fonctionne TensorRT
TensorRT prend un réseau neuronal entraîné, souvent exporté à partir de frameworks tels que PyTorch ou TensorFlowet l'optimise spécifiquement pour leGPU NVIDIA cible. Les principales étapes d'optimisation sont les suivantes :
Ces optimisations permettent d'obtenir un moteur d'inférence d' exécution très efficace, adapté au modèle et au matériel spécifiques.