Glossario

TensorRT

Ottimizza i modelli di deep learning con TensorRT per un'inferenza più veloce ed efficiente sulle GPU NVIDIA . Ottieni prestazioni in tempo reale con YOLO e le applicazioni di AI.

Addestra i modelli YOLO semplicemente
con Ultralytics HUB

Per saperne di più

TensorRT è un ottimizzatore di inferenza di deep learning ad alte prestazioni e una libreria runtime sviluppata da NVIDIA. Accelera i modelli di deep learning sulleunità di elaborazione grafica (GPU) NVIDIA applicando varie tecniche di ottimizzazione. L'obiettivo principale di TensorRT è quello di ottenere la più bassa latenza di inferenza possibile e il più alto throughput per i modelli distribuiti in ambienti di produzione, il che lo rende fondamentale per le applicazioni di inferenza in tempo reale.

Come funziona TensorRT

TensorRT prende una rete neurale addestrata, spesso esportata da framework come PyTorch o TensorFlowe la ottimizza in modo specifico per laGPU NVIDIA di destinazione. Le principali fasi di ottimizzazione comprendono:

  • Ottimizzazione del grafico: Fondere i livelli ed eliminare le operazioni ridondanti per creare un grafico di calcolo più efficiente.
  • Calibrazione della precisione: Riduzione della precisione numerica dei pesi del modello (ad esempio, da FP32 a FP16 o INT8) con un impatto minimo sull'accuratezza, che accelera notevolmente i calcoli e riduce l'utilizzo della memoria.
  • Kernel Auto-Tuning: Selezione dei migliori algoritmi pre-implementati (kernel) dalle librerie NVIDIA(cuDNN, cuBLAS) per gli strati specifici del modello e la GPU di destinazione.
  • Memoria dinamica Tensor : Ridurre al minimo l'ingombro della memoria riutilizzando la memoria allocata per i tensori.

Queste ottimizzazioni si traducono in un motore di inferenza runtime altamente efficiente, adattato al modello e all'hardware specifici.

Rilevanza per Ultralytics

TensorRT è un obiettivo chiave per l'implementazione dei modelli Ultralytics YOLO . Gli utenti possono esportare i loro modelli Ultralytics YOLO addestrati nel formato TensorRT per ottenere notevoli accelerazioni sull'hardware NVIDIA , compresi i dispositivi edge come NVIDIA Jetson. Ciò consente di realizzare applicazioni ad alte prestazioni in vari campi. Le pagine di confronto dei modelli, come il confronto traYOLOv5 e RT-DETR , mostrano spesso le velocità di inferenza ottenute grazie all'ottimizzazione di TensorRT . Ultralytics fornisce anche guide per l'integrazione con le piattaforme NVIDIA , come la guida DeepStream su NVIDIA Jetson.

Applicazioni del mondo reale

TensorRT è ampiamente utilizzato nei casi in cui l'inferenza veloce ed efficiente su hardware NVIDIA è fondamentale:

  1. Veicoli autonomi: Le auto a guida autonoma si basano sull'elaborazione di grandi quantità di dati dei sensori in tempo reale. TensorRT accelera i modelli per il rilevamento degli oggetti, la segmentazione e la pianificazione del percorso, consentendo un rapido processo decisionale essenziale per la sicurezza. Si tratta di un componente fondamentale dell'intelligenza artificiale nelle soluzioni automobilistiche.
  2. Video Analytics e Smart Cities: L'elaborazione di più flussi video ad alta risoluzione per attività come il monitoraggio del traffico, l'analisi della folla o la sorveglianza della sicurezza richiede un'immensa potenza di calcolo. TensorRT ottimizza modelli come Ultralytics YOLOv8 per gestire in modo efficiente questi carichi di lavoro impegnativi su server o dispositivi edge, alimentando le soluzioni di intelligenza artificiale per le città intelligenti.

TensorRT e termini simili

  • ONNX (Open Neural Network Exchange): ONNX è un formato aperto per rappresentare i modelli di deep learning. Anche se TensorRT può importare modelli dal formato ONNX , ONNX stesso è indipendente dall'hardware, mentre TensorRT è un ottimizzatore e un runtime specifico per le GPU NVIDIA . I modelli Ultralytics possono essere esportati in ONNX.
  • OpenVINO: simile a TensorRT, OpenVINO è un toolkit per l'ottimizzazione dell'inferenza, ma è sviluppato da Intel e si rivolge principalmente all'hardware Intel (CPU, iGPU, VPU). Scopri di più sull'integrazione diUltralytics OpenVINO .
  • PyTorch / TensorFlow: si tratta di framework di deep learning utilizzati principalmente per l'addestramento dei modelli. TensorRT ottimizza i modelli dopo che sono stati addestrati con questi framework, preparandoli per una distribuzione efficiente dei modelli.
Leggi tutto