Home
Login

NVIDIA® TensorRT™ est un SDK pour l'inférence de deep learning haute performance sur les GPU NVIDIA. Ce dépôt contient les composants open source de TensorRT.

Apache-2.0C++ 11.7kNVIDIA Last Updated: 2025-06-18

Présentation détaillée du projet NVIDIA TensorRT

Aperçu du projet

NVIDIA® TensorRT™ est un kit de développement logiciel (SDK) développé par NVIDIA, spécialement conçu pour l'inférence de deep learning haute performance. Il s'agit d'un optimiseur d'inférence et d'une bibliothèque d'exécution conçus pour les GPU NVIDIA, capables d'améliorer considérablement les performances d'inférence des modèles de deep learning dans les environnements de production.

Principales caractéristiques et fonctionnalités

1. Optimisation de l'inférence haute performance

  • Optimisation du modèle : Optimisation de la structure du modèle grâce à la fusion de couches, à la quantification des poids, à l'ajustement automatique du noyau, etc.
  • Optimisation de la mémoire : Gestion intelligente de la mémoire, réduisant l'occupation de la mémoire et les coûts de transfert de données.
  • Optimisation de la précision : Prise en charge de plusieurs modes de précision tels que FP32, FP16, INT8, améliorant les performances tout en maintenant la précision.

2. Large prise en charge des modèles

  • Analyseur ONNX : Prise en charge native du format de modèle ONNX.
  • Compatibilité du framework : Prise en charge des principaux frameworks de deep learning tels que TensorFlow, PyTorch, Caffe.
  • Types de modèles : Prise en charge de diverses architectures de modèles telles que les réseaux neuronaux convolutifs (CNN), les réseaux neuronaux récurrents (RNN), Transformer, etc.

3. Riche écosystème de plugins

  • Plugins intégrés : Fournit un grand nombre de plugins haute performance pré-construits.
  • Plugins personnalisés : Permet aux développeurs d'écrire des plugins personnalisés pour étendre les fonctionnalités.
  • API de plugins : Interfaces de développement de plugins et documentation complètes.

Architecture technique

Processus de construction

  1. Importation du modèle : Prise en charge de l'importation de modèles entraînés à partir de divers frameworks.
  2. Définition du réseau : Définition de la structure du réseau à l'aide de l'API TensorRT.
  3. Construction optimisée : Le Builder effectue l'optimisation en fonction du matériel cible.
  4. Sérialisation : Sérialisation et sauvegarde du moteur optimisé.
  5. Exécution de l'inférence : Utilisation de Runtime pour exécuter l'inférence.

Composants principaux

  • Builder : Responsable de l'optimisation du réseau et de la construction du moteur.
  • Engine : Moteur d'inférence optimisé.
  • Runtime : Runtime d'exécution de l'inférence.
  • Parser : Analyseur de format de modèle (ONNX, UFF, etc.).

Configuration système requise

Exigences matérielles

  • GPU : GPU NVIDIA (capacité de calcul >= 5.0)
  • Mémoire : 8 Go de mémoire système ou plus recommandés.
  • Stockage : Espace disque suffisant pour stocker les modèles et les fichiers intermédiaires.

Exigences logicielles

  • Système d'exploitation : Linux (Ubuntu, CentOS, RHEL) / Windows 10/11
  • CUDA : CUDA 11.8+ ou CUDA 12.9+
  • Python : Python 3.8-3.10
  • Autres : cuDNN, CMake, GNU Make, etc.

Installation et utilisation

Installation rapide

# Utiliser pip pour installer le package Python
pip install tensorrt

# Ou construire à partir du code source
git clone -b main https://github.com/nvidia/TensorRT TensorRT
cd TensorRT
git submodule update --init --recursive

Construction de conteneur Docker

# Construire l'image Docker
./docker/build.sh --file docker/ubuntu-20.04.Dockerfile --tag tensorrt-ubuntu20.04-cuda12.9

# Lancer le conteneur de construction
./docker/launch.sh --tag tensorrt-ubuntu20.04-cuda12.9 --gpus all

Principaux avantages

1. Avantages en termes de performances

  • Accélération de l'inférence : La vitesse d'inférence peut être multipliée par rapport aux frameworks natifs.
  • Faible latence : Chemin d'exécution du moteur optimisé, permettant une latence d'inférence extrêmement faible.
  • Débit élevé : Prise en charge du traitement par lots et du traitement parallèle, améliorant le débit global.

2. Facilité d'utilisation

  • API Python : Fournit une interface Python simple et facile à utiliser.
  • Exemples riches : Contient un grand nombre d'exemples de code et de tutoriels.
  • Documentation complète : Documentation de développeur détaillée et guide des meilleures pratiques.

3. Prêt pour la production

  • Stabilité : Vérifié dans un environnement de production à grande échelle.
  • Compatibilité : Parfaitement intégré à l'écosystème NVIDIA.
  • Support entreprise : Fournit un service de support technique de niveau entreprise.

Scénarios d'application

1. Informatique de pointe (Edge Computing)

  • Conduite autonome : Système d'inférence AI embarqué.
  • Robotique : Système de vision et de décision en temps réel.
  • Appareils IoT : Applications AI embarquées.

2. Centre de données

  • Service d'inférence : Déploiement de services d'inférence AI à grande échelle.
  • Cloud Computing : Optimisation des applications AI dans le cloud.
  • Calcul haute performance : Applications de calcul scientifique et de recherche.

3. Applications industrielles

  • Imagerie médicale : Analyse et diagnostic d'images médicales.
  • Finance : Évaluation des risques et détection des fraudes.
  • Fabrication : Contrôle qualité et maintenance prédictive.

Composants Open Source

Ce référentiel contient les composants open source de TensorRT, notamment :

1. Plugins TensorRT

  • Fournit diverses implémentations de cœurs de calcul haute performance
  • Prend en charge les opérations personnalisées et les types de couches
  • Contient des implémentations optimisées des opérations courantes

2. Analyseur ONNX

  • Fonctionnalité complète d'analyse de modèle ONNX
  • Prend en charge la dernière norme ONNX
  • Fournit des outils de conversion et de validation de modèle

3. Exemples d'applications

  • Exemples de code illustrant diverses fonctionnalités de TensorRT
  • Contient des cas d'utilisation de bout en bout
  • Fournit des outils de test de performance et d'analyse comparative

Conclusion

NVIDIA TensorRT est une plateforme d'optimisation d'inférence de deep learning mature et haute performance, offrant aux développeurs une solution complète de l'optimisation du modèle au déploiement. Sa puissante capacité d'optimisation, ses riches fonctionnalités et son support d'écosystème complet en font l'un des outils de choix pour le déploiement d'applications AI. Que ce soit pour l'informatique de pointe ou le déploiement de centres de données, TensorRT peut aider les développeurs à obtenir les meilleures performances et efficacité d'inférence.