TensorRT
Entdecke, wie TensorRT Deep-Learning-Modelle für NVIDIA GPUs optimiert. Erfahre, wie du Ultralytics YOLO26 für latenzarme Inferenz mit hoher Geschwindigkeit in TensorRT exportierst.
TensorRT ist ein leistungsstarkes Softwareentwicklungskit (SDK) für die Inferenz im Deep Learning, das von NVIDIA entwickelt wurde. Es dient der Optimierung neuronaler Netzwerkmodelle für den Einsatz und ermöglicht eine geringe Inferenzlatenz sowie einen hohen Durchsatz für Deep-Learning-Anwendungen. Als Optimierungscompiler nimmt TensorRT trainierte Netzwerke aus gängigen Frameworks wie PyTorch und TensorFlow und strukturiert sie so um, dass sie effizient auf NVIDIA-GPUs ausgeführt werden. Diese Fähigkeit ist entscheidend für den Betrieb komplexer KI-Modelle in Produktionsumgebungen, in denen Geschwindigkeit und Effizienz höchste Priorität haben.
So optimiert TensorRT Modelle#
Die Kernfunktion von TensorRT besteht darin, ein trainiertes neuronales Netzwerk in eine optimierte „Engine“ umzuwandeln, die speziell auf die Zielhardware abgestimmt ist. Dies erreicht TensorRT durch mehrere fortschrittliche Techniken:
- Zusammenführung von Schichten: Der Optimierer fasst mehrere Schichten eines neuronalen Netzwerks zu einem einzigen Kernel zusammen. Dadurch wird der Aufwand für Speicherzugriffe reduziert und die Ausführungsgeschwindigkeit erhöht.
- Kalibrierung der Genauigkeit: TensorRT unterstützt Modi mit reduzierter Genauigkeit, etwa gemischte Genauigkeit (FP16) und Ganzzahlquantisierung (INT8). Durch die Verringerung der Anzahl der Bits zur Darstellung von Zahlen – häufig bei minimalem Genauigkeitsverlust – können Entwickler mathematische Operationen deutlich beschleunigen und den Speicherbedarf reduzieren. Dies ist eine Form der Modellquantisierung.
- Automatische Kernel-Optimierung: Die Software wählt automatisch die besten Datenverarbeitungsschichten und Algorithmen für die jeweils verwendete GPU-Architektur aus. So wird die parallele Rechenleistung der Hardware über CUDA bestmöglich genutzt.
Anwendungen in der Praxis#
Dank seiner Fähigkeit, riesige Datenmengen mit minimaler Verzögerung zu verarbeiten, wird TensorRT in Branchen häufig eingesetzt, die auf Computer Vision und komplexe KI-Aufgaben angewiesen sind, bei denen es auf den richtigen Zeitpunkt ankommt.
-
Autonome Systeme: Im Bereich der KI im Automobilbereich müssen selbstfahrende Fahrzeuge Videodaten mehrerer Kameras verarbeiten, um Fußgänger, Verkehrszeichen und Hindernisse sofort zu erkennen. Mit TensorRT können Wahrnehmungsmodelle wie Netzwerke zur Objekterkennung Bilder innerhalb von Millisekunden analysieren. Dadurch kann das Steuerungssystem des Fahrzeugs sicherheitskritische Entscheidungen ohne Verzögerung treffen.
-
Industrielle Automatisierung: Moderne Fabriken nutzen KI in der Fertigung für die automatisierte optische Inspektion. Hochgeschwindigkeitskameras erfassen Bilder von Produkten auf Montagelinien, und für TensorRT optimierte Modelle erkennen Fehler oder Anomalien in Echtzeit. So kann die Qualitätskontrolle mit den hohen Produktionsgeschwindigkeiten Schritt halten. Häufig kommen dabei Edge-KI-Geräte wie die Plattform NVIDIA Jetson direkt in der Fabrikhalle zum Einsatz.
TensorRT mit Ultralytics YOLO verwenden#
Die Integration von TensorRT in deinen Arbeitsablauf ist mit modernen KI-Werkzeugen unkompliziert. Das Paket ultralytics bietet eine nahtlose Möglichkeit, standardmäßige PyTorch-Modelle in TensorRT-Engines umzuwandeln. So können Nutzer die hochmoderne Architektur von Ultralytics YOLO26 mit der Hardwarebeschleunigung von NVIDIA-GPUs kombinieren. Teams, die ihre Datensätze und Trainingspipelines vor dem Export verwalten möchten, finden in der Ultralytics Platform eine umfassende Umgebung, um Modelle für einen solchen leistungsstarken Einsatz vorzubereiten.
Das folgende Beispiel zeigt, wie du ein Ultralytics YOLO26-Modell in eine TensorRT-Engine-Datei (.engine) exportierst und für die Echtzeit-Inferenz verwendest:
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")TensorRT im Vergleich zu ONNX und Trainingsframeworks#
Es ist wichtig, TensorRT von anderen Begriffen zu unterscheiden, die im Bereich der Modellbereitstellung häufig verwendet werden:
- Im Vergleich zu PyTorch/TensorFlow: Frameworks wie PyTorch sind in erster Linie für das Training von Modellen und die Forschung konzipiert und bieten Flexibilität sowie eine einfache Fehlersuche. TensorRT ist eine Inferenz-Engine, die ausschließlich dafür entwickelt wurde, trainierte Modelle so schnell wie möglich auszuführen. Es wird nicht zum Trainieren verwendet.
- Im Vergleich zu ONNX: Das Format ONNX (Austauschformat für neuronale Netzwerke) dient als intermediäre Brücke zwischen Frameworks. Während ONNX die Interoperabilität ermöglicht, beispielsweise beim Verschieben eines Modells von PyTorch auf eine andere Plattform, konzentriert sich TensorRT auf hardwarespezifische Optimierung. Häufig wird ein Modell zunächst in ONNX konvertiert und anschließend von TensorRT eingelesen, um die endgültige Engine zu erzeugen.
Für Entwickler, die die Leistung ihrer KI-Agenten oder visuellen Systeme maximieren möchten, ist das Verständnis des Übergangs von einem Trainingsframework zu einer optimierten Laufzeitumgebung wie TensorRT ein wichtiger Schritt im professionellen MLOps.









