TensorRT
Esplora come TensorRT ottimizza i modelli di deep learning per le GPU NVIDIA. Impara a esportare Ultralytics YOLO26 in TensorRT per un'inferenza ad alta velocità e bassa latenza oggi stesso.
TensorRT è un kit di sviluppo software (SDK) per l'inferenza di deep learning ad alte prestazioni sviluppato da NVIDIA. È progettato per ottimizzare i modelli di rete neurale per il deployment, offrendo una bassa latenza di inferenza e un elevato throughput per le applicazioni di deep learning. Agendo come un compilatore di ottimizzazione, TensorRT prende le reti addestrate da framework popolari come PyTorch e TensorFlow e le ristruttura per eseguirle in modo efficiente sulle GPU NVIDIA. Questa capacità è fondamentale per eseguire modelli AI complessi in ambienti di produzione in cui velocità ed efficienza sono essenziali.
Link to this sectionCome TensorRT ottimizza i modelli#
La funzione principale di TensorRT è convertire una rete neurale addestrata in un "engine" ottimizzato, appositamente calibrato per l'hardware di destinazione. Ottiene questo risultato attraverso diverse tecniche avanzate:
- Layer Fusion: L'ottimizzatore combina più livelli di una rete neurale in un unico kernel, riducendo l'overhead di accesso alla memoria e migliorando la velocità di esecuzione.
- Precision Calibration: TensorRT supporta modalità a precisione ridotta, come mixed precision (FP16) e quantizzazione intera (INT8). Riducendo il numero di bit utilizzati per rappresentare i numeri — spesso con una minima perdita di accuratezza — puoi accelerare significativamente le operazioni matematiche e ridurre l'utilizzo della memoria. Questa è una forma di quantizzazione del modello.
- Kernel Auto-Tuning: Il software seleziona automaticamente i migliori layer di dati e algoritmi per la specifica architettura GPU utilizzata, garantendo la massima utilizzazione delle capacità di elaborazione parallela dell'hardware tramite CUDA.
Link to this sectionApplicazioni nel mondo reale#
Grazie alla sua capacità di elaborare enormi quantità di dati con un ritardo minimo, TensorRT è ampiamente adottato in settori che fanno affidamento sulla computer vision e su attività AI complesse in cui la tempistica è critica.
-
Sistemi Autonomi: Nel campo dell'AI in automotive, le auto a guida autonoma devono elaborare flussi video da più telecamere per rilevare istantaneamente pedoni, segnali e ostacoli. Utilizzando TensorRT, i modelli di percezione come le reti di object detection possono analizzare i frame in millisecondi, consentendo al sistema di controllo del veicolo di prendere decisioni critiche per la sicurezza senza ritardi.
-
Automazione Industriale: Le fabbriche moderne utilizzano l'AI in manufacturing per l'ispezione ottica automatizzata. Telecamere ad alta velocità acquisiscono immagini dei prodotti sulle linee di assemblaggio e i modelli ottimizzati con TensorRT identificano difetti o anomalie in tempo reale. Ciò garantisce che il controllo qualità tenga il passo con ambienti di produzione ad alta velocità, effettuando spesso il deployment su dispositivi edge AI come la piattaforma NVIDIA Jetson direttamente in fabbrica.
Link to this sectionUtilizzare TensorRT con Ultralytics YOLO#
Integrare TensorRT nel tuo flusso di lavoro è semplice con i moderni strumenti di AI. Il pacchetto ultralytics fornisce un metodo fluido per convertire i modelli standard di PyTorch in engine TensorRT. Ciò consente agli utenti di sfruttare l'architettura all'avanguardia di Ultralytics YOLO26 con l'accelerazione hardware delle GPU NVIDIA. Per i team che desiderano gestire i propri dataset e le pipeline di addestramento prima dell'esportazione, la Ultralytics Platform offre un ambiente completo per preparare i modelli per un deployment ad alte prestazioni di questo tipo.
Il seguente esempio mostra come esportare un modello YOLO26 in un file engine di TensorRT (.engine) e utilizzarlo per l'inferenza in tempo reale:
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")Link to this sectionTensorRT vs. ONNX vs. Framework di addestramento#
È importante distinguere TensorRT da altri termini spesso utilizzati nel panorama del model deployment:
- Vs. PyTorch/TensorFlow: Framework come PyTorch sono progettati principalmente per l'addestramento dei modelli e per la ricerca, offrendo flessibilità e facilità di debug. TensorRT è un engine di inferenza progettato esclusivamente per eseguire i modelli addestrati il più velocemente possibile. Non viene utilizzato per l'addestramento.
- Vs. ONNX: Il formato ONNX (Open Neural Network Exchange) funge da ponte intermedio tra i framework. Mentre ONNX fornisce interoperabilità (ad esempio, spostare un modello da PyTorch a un'altra piattaforma), TensorRT si concentra sull'ottimizzazione specifica per l'hardware. Spesso, un modello viene prima convertito in ONNX e successivamente analizzato da TensorRT per generare l'engine finale.
Per gli sviluppatori che mirano a massimizzare le prestazioni dei propri AI agents o sistemi di visione, comprendere la transizione da un framework di addestramento a un runtime ottimizzato come TensorRT è un passo fondamentale nel MLOps professionale.






