Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

TensorRT

Optimieren Sie Deep-Learning-Modelle mit TensorRT für schnellere und effizientere Inferenzen auf NVIDIA GPUs. Erzielen Sie Echtzeitleistung mit YOLO und KI-Anwendungen.

TensorRT ist ein hochleistungsfähiges Software Development Kit (SDK), das von NVIDIA speziell für die Optimierung und Ausführung von Deep-Learning-Modelle. Es funktioniert wie eine spezialisierte Inferenz-Engine, die trainierte trainierte neuronale Netzwerke umstrukturiert, um sie mit maximaler Effizienz auf NVIDIA Grafikprozessoren (GPUs) auszuführen. Durch durch die Straffung des Berechnungsgraphen und die Verwaltung der Speichernutzung, reduziert TensorRT Inferenzlatenz und erhöht den Durchsatz, Das macht es zu einem unverzichtbaren Werkzeug für Entwickler, die Anwendungen entwickeln, die sofortige Echtzeit-Reaktionen erfordern.

Wie TensorRT die Leistung optimiert

Das Hauptziel von TensorRT ist es, die Lücke zwischen einem Modell, das in einem flexiblen Rahmen trainiert wurde, und einem Modell zu schließen, das für Geschwindigkeit. Es erreicht dies durch mehrere hochentwickelte Optimierungstechniken:

  • Schichtenfusion und Graphenoptimierung: TensorRT analysiert die Netzwerkarchitektur und fusioniert mehrere Schichten in einer einzigen Operation. Zum Beispiel kann es eine Faltungsschicht Faltungsschicht mit einem Bias- und Aktivierungsschritt kombinieren. Diese Verringerung der Anzahl von Operationen minimiert den Overhead beim Starten von Kernels auf der GPU.
  • Präzise Kalibrierung: Um die Leistung weiter zu beschleunigen, unterstützt TensorRT Modellquantisierung. Dieser Prozess konvertiert Modellgewichte von standardmäßigen 32-Bit Fließkommazahlen (FP32) in Formate mit geringerer Genauigkeit wie gemischte Genauigkeit (FP16) oder 8-Bit Ganzzahlen (INT8). Dadurch wird die Nutzung der Speicherbandbreite drastisch reduziert, während die hohe Genauigkeit.
  • Kernel-Auto-Tuning: Verschiedene GPU verarbeiten mathematische Operationen unterschiedlich. TensorRT wählt automatisch die besten Datenschichten und Algorithmen aus einer umfangreichen Bibliothek von optimierten Kernels, um sicherzustellen, dass das Modell optimal auf der spezifischen Zielhardware läuft, wie z.B. einem NVIDIA Jetson oder einem Rechenzentrum A100.
  • Dynamischer Tensor : Das SDK optimiert die Speicherzuweisung durch die Wiederverwendung von Speicher für Tensoren (Daten (Datencontainer), die nicht gleichzeitig benötigt werden, wiederverwendet, was den Gesamtspeicherbedarf während der Modellbereitstellung.

Real-World Anwendungen von TensorRT

Aufgrund seiner Fähigkeit, riesige Datenmengen mit minimaler Verzögerung zu verarbeiten, wird TensorRT weithin in Branchen eingesetzt die auf Computer Vision und komplexe KI-Aufgaben angewiesen sind.

  1. Autonome Fahrzeuge: Auf dem Gebiet der KI im Automobilbereich müssen selbstfahrende Autos Videobilder von mehreren Kameras verarbeiten, um Fußgänger, Schilder und Hindernisse sofort detect . Mit TensorRT, Wahrnehmungsmodelle wie Objekterkennungsnetzwerke Bilder in Millisekunden analysieren, so dass das Steuerungssystem des Fahrzeugs sicherheitskritische Entscheidungen ohne Verzögerung.
  2. Intelligente Fertigung: Moderne Fabriken nutzen KI in der Fertigung für die automatische optische Inspektion. Hochgeschwindigkeitskameras erfassen Bilder von Produkten auf Fließbändern, und TensorRT Modelle identifizieren Defekte oder Anomalien in Echtzeit. So wird sichergestellt, dass die Qualitätskontrolle mit der Hochgeschwindigkeitsproduktion Schritt hält. Produktionsumgebungen Schritt halten kann, wobei die KI-Geräte oft direkt in der der Fabrikhalle.

Verwendung von TensorRT mit Ultralytics YOLO11

Die Integration von TensorRT in Ihren Arbeitsablauf ist mit modernen KI-Werkzeugen einfach. Die ultralytics Das Paket bietet eine nahtlose Methode zur Konvertierung von Standard PyTorch Modelle in TensorRT zu integrieren. Dies erlaubt den Benutzern die modernste Architektur von TensorRT zu nutzen Ultralytics YOLO11 mit der Hardware-Beschleunigung von NVIDIA GPUs.

Das folgende Beispiel zeigt, wie man ein YOLO11 in eine TensorRT exportiert (.engine) und für die Inferenz verwenden:

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. andere Inferenztechnologien

Es ist wichtig, TensorRT von anderen Werkzeugen im Ökosystem des maschinellen Lernens zu unterscheiden.

  • TensorRT vs. Trainings-Frameworks: Bibliotheken wie PyTorch und TensorFlow sind in erster Linie für das Trainingsmodelle entwickelt, wobei Flexibilität und einfaches Debugging im Vordergrund stehen. TensorRT ist ausschließlich für Inferenz und legt den Schwerpunkt auf Geschwindigkeit und Effizienz auf spezifischer Hardware.
  • TensorRT vs. ONNX Laufzeit: Die ONNX (Offenes Neuronales Netzwerk Austausch) Format ist für die Interoperabilität zwischen verschiedenen Plattformen konzipiert. Während ONNX Runtime eine vielseitige Engine ist, die auf verschiedener Hardware läuft, bietet TensorRT tiefgreifende, hardwarespezifische Optimierungen exklusiv für NVIDIA GPUs, die oft eine höhere Leistung als generischen Läufern.
  • TensorRT vs. OpenVINO: Ähnlich wie TensorRT für NVIDIA Hardware optimiert ist, ist das OpenVINO für die Beschleunigung von Inferenz auf Intel Prozessoren (CPUs und integrierte GPUs) zu beschleunigen. Die Wahl zwischen beiden hängt ganz von der eingesetzten Hardware.

Für skalierbare Cloud-Einsätze werden TensorRT häufig mit dem NVIDIA Triton Inference Server verwendet, der Modellversionen verwaltet verwaltet und gleichzeitige Anfragen effizient bearbeitet.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten