Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

TensorRT

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

TensorRT è un kit di sviluppo software (SDK) ad alte prestazioni sviluppato da NVIDIA specificamente per l'ottimizzazione e l'esecuzione di modelli di deep learning. Funziona come un motore di inferenza specializzato che prende le reti reti neurali addestrate e le ristruttura per essere eseguite con la massima efficienza sulle unità di elaborazione grafica ( NVIDIA . Graphics Processing Units (GPU) di NVIDIA. Razionalizzando il grafico di calcolo e gestendo l'uso della memoria razionalizzando il grafico di calcolo e gestendo l'uso della memoria, TensorRT riduce significativamente la latenza di inferenza e aumenta il throughput. latenza di inferenza e aumenta il throughput, è uno strumento essenziale per gli sviluppatori che realizzano applicazioni che richiedono risposte immediate e in tempo reale.

Come TensorRT ottimizza le prestazioni

L'obiettivo principale di TensorRT è quello di colmare il divario tra un modello addestrato in un framework flessibile e un modello distribuito per la velocità. per la velocità. Questo obiettivo viene raggiunto grazie a diverse tecniche di ottimizzazione sofisticate:

  • Fusione dei livelli e ottimizzazione dei grafici: TensorRT analizza l'architettura della rete e fonde più livelli in un'unica livelli in un'unica operazione. Ad esempio, può combinare uno strato di strato di convoluzione con una fase di bias e attivazione. Questa riduzione del numero di operazioni minimizza l'overhead del lancio dei kernel sulla GPU.
  • Calibrazione di precisione: Per accelerare ulteriormente le prestazioni, TensorRT supporta la la quantizzazione del modello. Questo processo converte i pesi del modello da un formato standard a 32 bit in virgola mobile (FP32) a formati di precisione inferiore, quali precisione mista (FP16) o interi a 8 bit (INT8). Questo riduce drasticamente l'utilizzo della larghezza di banda della memoria, pur mantenendo un'elevata precisione. precisione.
  • Autotuning del kernel: Le diverse architetture GPU gestiscono le operazioni matematiche in modo diverso. TensorRT seleziona automaticamente i migliori livelli di dati e algoritmi da una vasta libreria di kernel ottimizzati, per garantire che il modello venga eseguito in modo ottimale sull'hardware specifico di destinazione, come ad esempio un NVIDIA Jetson o un data center A100.
  • Memoria dinamica Tensor : L'SDK ottimizza l'allocazione della memoria riutilizzando la memoria per i tensori (contenitori di dati) che non sono necessari simultaneamente. contenitori di dati) che non sono necessari simultaneamente, riducendo di fatto l'ingombro complessivo della memoria durante la distribuzione del modello. distribuzione del modello.

Applicazioni reali di TensorRT

Grazie alla sua capacità di elaborare enormi quantità di dati con un ritardo minimo, TensorRT è ampiamente adottato nei settori che si affidano alla visione artificiale e a compiti di intelligenza artificiale complessi. che si affidano alla computer vision e a compiti complessi di intelligenza artificiale.

  1. Veicoli autonomi: Nel campo dell'IA nel settore automobilistico AI nel settore automobilistico, le auto a guida autonoma devono elaborare i feed video di più telecamere per detect istantaneamente pedoni, segnali e ostacoli. Utilizzando TensorRT, modelli di percezione come le reti di rilevamento degli oggetti possono analizzare i fotogrammi in millisecondi, permettendo al sistema di controllo del veicolo di prendere decisioni critiche per la sicurezza senza lag.
  2. Produzione intelligente: Le fabbriche moderne utilizzano AI nella produzione per l'ispezione ottica automatizzata. ispezione ottica automatizzata. Le telecamere ad alta velocità catturano le immagini dei prodotti sulle linee di assemblaggio e i modelli TensorRT identificano i difetti o le anomalie in tempo reale. difetti o anomalie in tempo reale. In questo modo si garantisce che il controllo qualità stia al passo con gli ambienti di produzione ad alta velocità. produzione ad alta velocità, spesso con l'impiego di dispositivi AI on edge direttamente sul fabbrica.

Utilizzo di TensorRT con Ultralytics YOLO11

L'integrazione di TensorRT nel flusso di lavoro è semplice con i moderni strumenti di IA. Il ultralytics pacchetto fornisce un metodo semplice per convertire gli standard PyTorch nei motori TensorRT . Questo permette agli utenti di sfruttare l'architettura all'avanguardia di Ultralytics YOLO11 con l'accelerazione hardware delle NVIDIA GPU.

L'esempio seguente mostra come esportare un modello YOLO11 in un file del motore TensorRT (.engine) e utilizzarlo per l'inferenza:

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. altre tecnologie di inferenza

È importante distinguere TensorRT da altri strumenti dell'ecosistema dell'apprendimento automatico.

  • TensorRT vs. Framework di formazione: Librerie come PyTorch e TensorFlow sono progettate principalmente per modelli di addestramento, privilegiando la flessibilità e la facilità di debug. TensorRT è strettamente dedicato all'inferenza inferenza, privilegiando la velocità grezza e l'efficienza su hardware specifico.
  • TensorRT vs. ONNX Runtime: Il ONNX (Open Neural Network Exchange) è stato progettato per l'interoperabilità tra diverse piattaforme. Mentre ONNX Runtime è un motore versatile che funziona su diversi hardware, TensorRT offre ottimizzazioni più profonde e specifiche per l'hardware, esclusive per le GPU NVIDIA , che spesso offrono prestazioni superiori a quelle di dei runner generici.
  • TensorRT vs. OpenVINO: in modo simile a come TensorRT è ottimizzato per l'hardware NVIDIA , il toolkit di OpenVINO è stato progettato per accelerare l'inferenza sui processori Intel (CPU e GPU integrate). La scelta tra i due dipende interamente dall'hardware di distribuzione hardware.

Per le distribuzioni scalabili in cloud, i motori TensorRT vengono spesso utilizzati con il server NVIDIA Triton Inference Server, che gestisce le versioni del modello e gestisce in modo efficiente le richieste simultanee.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora