Zum Inhalt springen

TensorRT Export fĂŒr YOLOv8 Modelle

Der Einsatz von Computer-Vision-Modellen in Hochleistungsumgebungen kann ein Format erfordern, das die Geschwindigkeit und Effizienz maximiert. Das gilt besonders, wenn du dein Modell auf NVIDIA-GPUs einsetzt.

Durch die Verwendung des TensorRT Exportformats kannst du deine Ultralytics YOLOv8 Modelle fĂŒr eine schnelle und effiziente Inferenz auf NVIDIA-Hardware. Dieser Leitfaden enthĂ€lt leicht nachvollziehbare Schritte fĂŒr den Konvertierungsprozess und hilft dir, die fortschrittliche Technologie von NVIDIA in deinen Deep Learning Projekten optimal zu nutzen.

TensorRT

TensorRT Übersicht

TensorRTist ein von NVIDIA entwickeltes, fortschrittliches Software Development Kit (SDK), das fĂŒr High-Speed Deep Learning Inferenzen entwickelt wurde. Es eignet sich gut fĂŒr Echtzeitanwendungen wie die Objekterkennung.

Dieses Toolkit optimiert Deep-Learning-Modelle fĂŒr NVIDIA-GPUs und fĂŒhrt zu schnelleren und effizienteren AblĂ€ufen. TensorRT Modelle werden unter TensorRT optimiert, was Techniken wie Layer Fusion, PrĂ€zisionskalibrierung (INT8 und FP16), dynamische tensor Speicherverwaltung und Kernel-Autotuning umfasst. Die Konvertierung von Deep-Learning-Modellen in das TensorRT Format ermöglicht es Entwicklern, das Potenzial der NVIDIA-GPUs voll auszuschöpfen.

TensorRT ist bekannt fĂŒr seine KompatibilitĂ€t mit verschiedenen Modellformaten, darunter TensorFlow, PyTorch und ONNX, und bietet Entwicklern eine flexible Lösung fĂŒr die Integration und Optimierung von Modellen aus verschiedenen Frameworks. Diese Vielseitigkeit ermöglicht den effizienten Einsatz von Modellen in verschiedenen Hardware- und Softwareumgebungen.

Die wichtigsten Merkmale der TensorRT Modelle

TensorRT Modelle bieten eine Reihe von SchlĂŒsselmerkmalen, die zu ihrer Effizienz und EffektivitĂ€t bei High-Speed Deep Learning Inferenzen beitragen:

  • PrĂ€zisionskalibrierung: TensorRT unterstĂŒtzt die PrĂ€zisionskalibrierung, mit der die Modelle fĂŒr bestimmte Genauigkeitsanforderungen fein abgestimmt werden können. Dazu gehört auch die UnterstĂŒtzung von Formaten mit reduzierter Genauigkeit wie INT8 und FP16, die die Schlussfolgerungsgeschwindigkeit weiter erhöhen und gleichzeitig ein akzeptables Genauigkeitsniveau beibehalten können.

  • Schichtenfusion: Der TensorRT Optimierungsprozess beinhaltet die Schichtenfusion, bei der mehrere Schichten eines neuronalen Netzes in einem einzigen Vorgang kombiniert werden. Dadurch wird der Rechenaufwand reduziert und die Geschwindigkeit der Schlussfolgerungen erhöht, da weniger Speicherzugriffe und Berechnungen erforderlich sind.

TensorRT Layer Fusion

  • Dynamisches Tensor Speichermanagement: TensorRT verwaltet die Speichernutzung tensor wĂ€hrend der Inferenz effizient, reduziert den Speicher-Overhead und optimiert die Speicherzuweisung. Dies fĂŒhrt zu einer effizienteren Nutzung des GPU-Speichers.

  • Automatisches Kernel-Tuning: TensorRT wendet automatisches Kernel-Tuning an, um den optimalsten GPU-Kernel fĂŒr jede Schicht des Modells auszuwĂ€hlen. Dieser adaptive Ansatz stellt sicher, dass das Modell die Rechenleistung des Grafikprozessors voll ausschöpft.

Einsatzoptionen in TensorRT

Bevor wir uns den Code fĂŒr den Export von YOLOv8 Modellen in das TensorRT Format ansehen, wollen wir erst einmal verstehen, wo TensorRT Modelle normalerweise verwendet werden.

TensorRT bietet verschiedene Bereitstellungsoptionen, wobei jede Option ein anderes Gleichgewicht zwischen einfacher Integration, Leistungsoptimierung und FlexibilitÀt bietet:

  • Einsatz innerhalb von TensorFlow: Diese Methode integriert TensorRT in TensorFlow und ermöglicht es, optimierte Modelle in einer vertrauten TensorFlow Umgebung auszufĂŒhren. Sie ist nĂŒtzlich fĂŒr Modelle mit einer Mischung aus unterstĂŒtzten und nicht unterstĂŒtzten Ebenen, da TF-TRT diese effizient verarbeiten kann.

TensorRT Übersicht

  • EigenstĂ€ndige TensorRT Runtime API: Bietet eine granulare Kontrolle, ideal fĂŒr leistungskritische Anwendungen. Sie ist komplexer, ermöglicht aber die benutzerdefinierte Implementierung von nicht unterstĂŒtzten Operatoren.

  • NVIDIA Triton Inference Server: Eine Option, die Modelle aus verschiedenen Frameworks unterstĂŒtzt. Er eignet sich besonders fĂŒr Cloud- oder Edge-Inferencing und bietet Funktionen wie gleichzeitige ModellausfĂŒhrung und Modellanalyse.

Exportieren von YOLOv8 Modellen nach TensorRT

Du kannst die AusfĂŒhrungseffizienz verbessern und die Leistung optimieren, indem du die Modelle von YOLOv8 in das Format TensorRT konvertierst.

Installation

Um das benötigte Paket zu installieren, fĂŒhre es aus:

Installation

# Install the required package for YOLOv8
pip install ultralytics

AusfĂŒhrliche Anweisungen und bewĂ€hrte Verfahren fĂŒr den Installationsprozess findest du in unserem YOLOv8 Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete fĂŒr YOLOv8 auf Schwierigkeiten stĂ¶ĂŸt, findest du in unserem Leitfaden fĂŒr hĂ€ufige Probleme Lösungen und Tipps.

Verwendung

Bevor du dich in die Gebrauchsanweisung vertiefst, solltest du dir die verschiedenen Modelle vonYOLOv8 ansehen, die von Ultralytics angeboten werden. Das wird dir helfen, das am besten geeignete Modell fĂŒr deine Projektanforderungen auszuwĂ€hlen.

Verwendung

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to TensorRT format
model.export(format='engine')  # creates 'yolov8n.engine'

# Load the exported TensorRT model
tensorrt_model = YOLO('yolov8n.engine')

# Run inference
results = tensorrt_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TensorRT format
yolo export model=yolov8n.pt format=engine  # creates 'yolov8n.engine''

# Run inference with the exported model
yolo predict model=yolov8n.engine source='https://ultralytics.com/images/bus.jpg'

Weitere Informationen zum Exportvorgang findest du auf der Dokumentationsseite zum Export unterUltralytics .

Einsatz von exportierten YOLOv8 TensorRT Modellen

Nachdem du deine Ultralytics YOLOv8 Modelle erfolgreich in das TensorRT Format exportiert hast, kannst du sie nun einsetzen. AusfĂŒhrliche Anleitungen fĂŒr den Einsatz deiner TensorRT Modelle in verschiedenen Umgebungen findest du in den folgenden Ressourcen:

Zusammenfassung

In diesem Leitfaden haben wir uns auf die Konvertierung von Ultralytics YOLOv8 Modellen in das NVIDIA TensorRT Modellformat konzentriert. Dieser Konvertierungsschritt ist entscheidend, um die Effizienz und Geschwindigkeit der YOLOv8 Modelle zu verbessern und sie effektiver und fĂŒr verschiedene Einsatzumgebungen geeignet zu machen.

Weitere Informationen zur Nutzung findest du in der offiziellen DokumentationTensorRT .

Wenn du dich fĂŒr weitere Ultralytics YOLOv8 Integrationen interessierst, findest du auf unserer Seite mit dem Integrationsleitfaden eine umfangreiche Auswahl an informativen Ressourcen und Einblicken.



Erstellt am 2024-01-28, Aktualisiert am 2024-01-28
Autoren: abirami-vina (1)

Kommentare