Schnellstartanleitung: NVIDIA Jetson mit Ultralytics YOLO26

Dieser umfassende Leitfaden bietet eine detaillierte Anleitung für die Bereitstellung von Ultralytics YOLO26 auf NVIDIA Jetson Geräten. Zusätzlich werden Leistungsbenchmarks vorgestellt, um die Fähigkeiten von YOLO26 auf diesen kompakten und leistungsstarken Geräten zu demonstrieren.

Unterstützung für neue Produkte

Wir haben diesen Leitfaden mit dem neuesten NVIDIA Jetson AGX Thor Developer Kit aktualisiert, das bis zu 2070 FP4 TFLOPS an KI-Rechenleistung und 128 GB Arbeitsspeicher bei einer konfigurierbaren Leistungsaufnahme zwischen 40 W und 130 W bietet. Es liefert über 7,5-mal mehr KI-Rechenleistung als der NVIDIA Jetson AGX Orin bei 3,5-mal besserer Energieeffizienz, um die gängigsten KI-Modelle nahtlos auszuführen.



Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices
NVIDIA Jetson Ecosystem
Hinweis

Dieser Leitfaden wurde getestet mit dem NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) unter der neuesten stabilen JetPack-Version JP7.0, dem NVIDIA Jetson AGX Orin Developer Kit (64GB) unter JetPack-Version JP6.2, dem NVIDIA Jetson Orin Nano Super Developer Kit unter JetPack-Version JP6.1, dem Seeed Studio reComputer J4012, welches auf NVIDIA Jetson Orin NX 16GB basiert unter JetPack-Version JP6.0 / JetPack-Version JP5.1.3 sowie dem Seeed Studio reComputer J1020 v2, welches auf NVIDIA Jetson Nano 4GB basiert unter JetPack-Version JP4.6.1. Es wird erwartet, dass es auf der gesamten NVIDIA Jetson Hardware-Reihe funktioniert, einschließlich neuester und älterer Geräte.

Was ist NVIDIA Jetson?

NVIDIA Jetson ist eine Reihe von Embedded-Computing-Boards, die entwickelt wurden, um beschleunigtes KI-Computing (künstliche Intelligenz) auf Edge-Geräte zu bringen. Diese kompakten und leistungsstarken Geräte basieren auf der GPU-Architektur von NVIDIA und können komplexe KI-Algorithmen sowie Deep Learning Modelle direkt auf dem Gerät ausführen, ohne auf Cloud Computing Ressourcen angewiesen zu sein. Jetson-Boards werden häufig in der Robotik, bei autonomen Fahrzeugen, in der industriellen Automatisierung und anderen Anwendungen eingesetzt, bei denen KI-Inferenz lokal mit geringer Latenz und hoher Effizienz durchgeführt werden muss. Zudem basieren diese Boards auf der ARM64-Architektur und verbrauchen weniger Energie im Vergleich zu herkömmlichen GPU-Computing-Geräten.

Vergleich der NVIDIA Jetson Serie

NVIDIA Jetson AGX Thor ist die neueste Iteration der NVIDIA Jetson-Familie auf Basis der NVIDIA Blackwell-Architektur, die im Vergleich zu den Vorgängergenerationen eine drastisch verbesserte KI-Leistung bietet. Die folgende Tabelle vergleicht einige der Jetson-Geräte im Ökosystem.

Jetson AGX Thor(T5000)Jetson AGX Orin 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
KI-Leistung2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPU2560-Core NVIDIA Blackwell Architektur GPU mit 96 Tensor Cores2048-Core NVIDIA Ampere Architektur GPU mit 64 Tensor Cores1024-Core NVIDIA Ampere Architektur GPU mit 32 Tensor Cores1024-Core NVIDIA Ampere Architektur GPU mit 32 Tensor Cores512-Core NVIDIA Volta Architektur GPU mit 64 Tensor Cores384-Core NVIDIA Volta™ Architektur GPU mit 48 Tensor Cores128-Core NVIDIA Maxwell™ Architektur GPU
GPU Max Frequenz1,57 GHz1,3 GHz918 MHz1020 MHz1377 MHz1100 MHz921 MHz
CPU14-Core Arm® Neoverse®-V3AE 64-bit CPU 1MB L2 + 16MB L312-Core NVIDIA Arm® Cortex A78AE v8.2 64-bit CPU 3MB L2 + 6MB L38-Core NVIDIA Arm® Cortex A78AE v8.2 64-bit CPU 2MB L2 + 4MB L36-Core Arm® Cortex®-A78AE v8.2 64-bit CPU 1.5MB L2 + 4MB L38-Core NVIDIA Carmel Arm®v8.2 64-bit CPU 8MB L2 + 4MB L36-Core NVIDIA Carmel Arm®v8.2 64-bit CPU 6MB L2 + 4MB L3Quad-Core Arm® Cortex®-A57 MPCore Prozessor
CPU Max Frequenz2,6 GHz2,2 GHz2,0 GHz1,7 GHz2,2 GHz1,9 GHz1,43 GHz
Speicher128GB 256-bit LPDDR5X 273GB/s64GB 256-bit LPDDR5 204,8GB/s16GB 128-bit LPDDR5 102,4GB/s8GB 128-bit LPDDR5 102 GB/s32GB 256-bit LPDDR4x 136,5GB/s8GB 128-bit LPDDR4x 59,7GB/s4GB 64-bit LPDDR4 25,6GB/s

Für eine detailliertere Vergleichstabelle besuche bitte den Abschnitt Spezifikationen vergleichen auf der offiziellen NVIDIA Jetson-Seite.

Was ist NVIDIA JetPack?

Das NVIDIA JetPack SDK, das die Jetson-Module antreibt, ist die umfassendste Lösung und bietet eine vollständige Entwicklungsumgebung für den Aufbau von durchgängig beschleunigten KI-Anwendungen und verkürzt die Markteinführungszeit. JetPack umfasst Jetson Linux mit Bootloader, Linux-Kernel, Ubuntu-Desktop-Umgebung und einen kompletten Satz von Bibliotheken zur Beschleunigung von GPU-Computing, Multimedia, Grafik und computer vision. Es enthält außerdem Beispiele, Dokumentation und Entwicklertools für Host-Computer und Developer Kits und unterstützt High-Level-SDKs wie DeepStream für Streaming-Videoanalyse, Isaac für Robotik und Riva für konversationelle KI.

JetPack auf NVIDIA Jetson flashen

Der erste Schritt, nachdem du ein NVIDIA Jetson Gerät erhalten hast, ist das Flashen von NVIDIA JetPack auf das Gerät. Es gibt verschiedene Wege, NVIDIA Jetson Geräte zu flashen.

  1. Wenn du ein offizielles NVIDIA Development Kit wie das Jetson AGX Thor Developer Kit besitzt, kannst du ein Image herunterladen und einen bootfähigen USB-Stick vorbereiten, um JetPack auf die enthaltene SSD zu flashen.
  2. Wenn du ein offizielles NVIDIA Development Kit wie das Jetson Orin Nano Developer Kit besitzt, kannst du ein Image herunterladen und eine SD-Karte mit JetPack für das Booten des Geräts vorbereiten.
  3. Wenn du ein anderes NVIDIA Development Kit besitzt, kannst du JetPack mit dem SDK Manager auf das Gerät flashen.
  4. Wenn du ein Seeed Studio reComputer J4012 Gerät besitzt, kannst du JetPack auf die enthaltene SSD flashen und wenn du ein Seeed Studio reComputer J1020 v2 Gerät besitzt, kannst du JetPack auf den eMMC/SSD flashen.
  5. Wenn du ein anderes Gerät eines Drittanbieters besitzt, das mit einem NVIDIA Jetson Modul betrieben wird, wird empfohlen, dem Flashen über die Befehlszeile zu folgen.
Hinweis

Für die oben genannten Methoden 1, 4 und 5 gib bitte nach dem Flashen des Systems und dem Booten des Geräts "sudo apt update && sudo apt install nvidia-jetpack -y" im Terminal des Geräts ein, um alle erforderlichen restlichen JetPack-Komponenten zu installieren.

JetPack-Unterstützung basierend auf dem Jetson-Gerät

Die folgende Tabelle hebt die NVIDIA JetPack-Versionen hervor, die von verschiedenen NVIDIA Jetson-Geräten unterstützt werden.

JetPack 4JetPack 5JetPack 6JetPack 7
Jetson Nano
Jetson TX2
Jetson Xavier NX
Jetson AGX Xavier
Jetson AGX Orin
Jetson Orin NX
Jetson Orin Nano
Jetson AGX Thor

Schnellstart mit Docker

Der schnellste Weg, um mit Ultralytics YOLO26 auf NVIDIA Jetson zu starten, ist die Verwendung der vorgefertigten Docker-Images für Jetson. Sieh dir die Tabelle oben an und wähle die JetPack-Version passend zu deinem Jetson-Gerät aus.

t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t

Sobald dies erledigt ist, springe zum Abschnitt TensorRT auf NVIDIA Jetson verwenden.

Start mit nativer Installation

Für eine native Installation ohne Docker beachte bitte die folgenden Schritte.

Ausführung auf JetPack 7.0

Installiere das Ultralytics-Paket

Hier installieren wir das Ultralytics-Paket auf dem Jetson mit optionalen Abhängigkeiten, damit wir die PyTorch Modelle in andere verschiedene Formate exportieren können. Wir konzentrieren uns hauptsächlich auf NVIDIA TensorRT Exporte, da TensorRT sicherstellt, dass wir die maximale Leistung aus den Jetson-Geräten herausholen können.

  1. Paketliste aktualisieren, pip installieren und auf die neueste Version upgraden

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installiere das ultralytics pip-Paket mit optionalen Abhängigkeiten

    pip install ultralytics[export]
  3. Starte das Gerät neu

    sudo reboot

Installiere PyTorch und Torchvision

Die obige Ultralytics-Installation installiert Torch und Torchvision. Diese beiden über pip installierten Pakete sind jedoch nicht kompatibel für die Ausführung auf dem Jetson AGX Thor, der mit JetPack 7.0 und CUDA 13 geliefert wird. Daher müssen wir sie manuell installieren.

Installiere torch und torchvision gemäß JP7.0

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130

Installiere onnxruntime-gpu

Das auf PyPI gehostete Paket onnxruntime-gpu verfügt über keine aarch64-Binärdateien für Jetson. Daher müssen wir dieses Paket manuell installieren. Dieses Paket wird für einige der Exporte benötigt.

Hier laden wir onnxruntime-gpu 1.24.0 mit Python3.12-Unterstützung herunter und installieren es.

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whl

Ausführung auf JetPack 6.1

Installiere das Ultralytics-Paket

Hier installieren wir das Ultralytics-Paket auf dem Jetson mit optionalen Abhängigkeiten, damit wir die PyTorch Modelle in andere verschiedene Formate exportieren können. Wir konzentrieren uns hauptsächlich auf NVIDIA TensorRT Exporte, da TensorRT sicherstellt, dass wir die maximale Leistung aus den Jetson-Geräten herausholen können.

  1. Paketliste aktualisieren, pip installieren und auf die neueste Version upgraden

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installiere das ultralytics pip-Paket mit optionalen Abhängigkeiten

    pip install ultralytics[export]
  3. Starte das Gerät neu

    sudo reboot

Installiere PyTorch und Torchvision

Die obige Ultralytics-Installation installiert Torch und Torchvision. Diese beiden über pip installierten Pakete sind jedoch nicht mit der Jetson-Plattform kompatibel, die auf der ARM64-Architektur basiert. Daher müssen wir manuell ein vorgefertigtes PyTorch pip-Wheel installieren und Torchvision aus dem Quellcode kompilieren oder installieren.

Installiere torch 2.10.0 und torchvision 0.25.0 gemäß JP6.1

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.10.0-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.25.0-cp310-cp310-linux_aarch64.whl
Hinweis

Besuche die PyTorch for Jetson Seite, um auf alle verschiedenen Versionen von PyTorch für unterschiedliche JetPack-Versionen zuzugreifen. Für eine detailliertere Liste der Kompatibilität von PyTorch und Torchvision besuche die PyTorch und Torchvision Kompatibilitätsseite.

Installiere cuDSS, um ein Abhängigkeitsproblem mit torch 2.10.0 zu beheben.

wget https://developer.download.nvidia.com/compute/cudss/0.7.1/local_installers/cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo dpkg -i cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo cp /var/cudss-local-tegra-repo-ubuntu2204-0.7.1/cudss-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudss

Installiere onnxruntime-gpu

Das auf PyPI gehostete Paket onnxruntime-gpu verfügt über keine aarch64-Binärdateien für Jetson. Daher müssen wir dieses Paket manuell installieren. Dieses Paket wird für einige der Exporte benötigt.

Du findest alle verfügbaren onnxruntime-gpu-Pakete – organisiert nach JetPack-Version, Python-Version und anderen Kompatibilitätsdetails – in der Jetson Zoo ONNX Runtime Kompatibilitätsmatrix.

Für JetPack 6 mit Python 3.10 Unterstützung kannst du onnxruntime-gpu 1.23.0 installieren:

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.23.0-cp310-cp310-linux_aarch64.whl

Alternativ für onnxruntime-gpu 1.20.0:

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whl

Ausführung auf JetPack 5.1.2

Installiere das Ultralytics-Paket

Hier installieren wir das Ultralytics-Paket auf dem Jetson mit optionalen Abhängigkeiten, damit wir die PyTorch Modelle in andere verschiedene Formate exportieren können. Wir konzentrieren uns hauptsächlich auf NVIDIA TensorRT Exporte, da TensorRT sicherstellt, dass wir die maximale Leistung aus den Jetson-Geräten herausholen können.

  1. Paketliste aktualisieren, pip installieren und auf die neueste Version upgraden

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installiere das ultralytics pip-Paket mit optionalen Abhängigkeiten

    pip install ultralytics[export]
  3. Starte das Gerät neu

    sudo reboot

Installiere PyTorch und Torchvision

Die obige Ultralytics-Installation installiert Torch und Torchvision. Diese beiden über pip installierten Pakete sind jedoch nicht mit der Jetson-Plattform kompatibel, die auf der ARM64-Architektur basiert. Daher müssen wir manuell ein vorgefertigtes PyTorch pip-Wheel installieren und Torchvision aus dem Quellcode kompilieren oder installieren.

  1. Deinstalliere aktuell installiertes PyTorch und Torchvision

    pip uninstall torch torchvision
  2. Installiere torch 2.1.0 und torchvision 0.16.2 gemäß JP5.1.2

    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl
Hinweis

Besuche die PyTorch for Jetson Seite, um auf alle verschiedenen Versionen von PyTorch für unterschiedliche JetPack-Versionen zuzugreifen. Für eine detailliertere Liste der Kompatibilität von PyTorch und Torchvision besuche die PyTorch und Torchvision Kompatibilitätsseite.

Installiere onnxruntime-gpu

Das auf PyPI gehostete Paket onnxruntime-gpu verfügt über keine aarch64-Binärdateien für Jetson. Daher müssen wir dieses Paket manuell installieren. Dieses Paket wird für einige der Exporte benötigt.

Du findest alle verfügbaren onnxruntime-gpu-Pakete—organisiert nach JetPack-Version, Python-Version und anderen Kompatibilitätsdetails—in der Jetson Zoo ONNX Runtime Kompatibilitätsmatrix. Hier werden wir onnxruntime-gpu 1.17.0 mit Python3.8-Unterstützung herunterladen und installieren.

wget https://nvidia.box.com/shared/static/zostg6agm00fb6t5uisw51qi6kpcuwzd.whl -O onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
pip install onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
Hinweis

onnxruntime-gpu setzt die NumPy-Version automatisch auf die neueste zurück. Deshalb müssen wir NumPy durch die Ausführung des folgenden Befehls auf 1.23.5 zurücksetzen, um ein Problem zu beheben:

pip install numpy==1.23.5

Verwende TensorRT auf NVIDIA Jetson

Unter allen von Ultralytics unterstützten Modellexportformaten bietet TensorRT die höchste Inferenzleistung auf NVIDIA Jetson-Geräten, weshalb wir es für Jetson-Deployments ausdrücklich empfehlen. Für Einrichtungsanweisungen und fortgeschrittene Nutzung siehe unseren speziellen TensorRT-Integrationsleitfaden.

Modell in TensorRT konvertieren und Inferenz ausführen

Das YOLO26n-Modell im PyTorch-Format wird in TensorRT konvertiert, um Inferenz mit dem exportierten Modell auszuführen.

Beispiel
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

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

# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
Hinweis

Besuche die Export-Seite, um auf zusätzliche Argumente beim Exportieren von Modellen in verschiedene Formate zuzugreifen

Verwende den NVIDIA Deep Learning Accelerator (DLA)

Der NVIDIA Deep Learning Accelerator (DLA) ist eine spezialisierte Hardwarekomponente, die in NVIDIA Jetson-Geräte integriert ist und die Deep-Learning-Inferenz auf Energieeffizienz und Leistung optimiert. Durch das Auslagern von Aufgaben von der GPU (was diese für rechenintensivere Prozesse entlastet), ermöglicht der DLA den Betrieb von Modellen mit geringerem Stromverbrauch bei gleichzeitig hohem Durchsatz, was ihn ideal für eingebettete Systeme und Echtzeit-KI-Anwendungen macht.

Die folgenden Jetson-Geräte sind mit DLA-Hardware ausgestattet:

Jetson-GerätDLA-KerneDLA-Maximalfrequenz
Jetson AGX Orin Serie21,6 GHz
Jetson Orin NX 16GB2614 MHz
Jetson Orin NX 8GB1614 MHz
Jetson AGX Xavier Serie21,4 GHz
Jetson Xavier NX Serie21,1 GHz
Beispiel
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Export the model to TensorRT with DLA enabled (only works with FP16 or INT8)
model.export(format="engine", device="dla:0", half=True)  # dla:0 or dla:1 corresponds to the DLA cores

# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
Hinweis

Bei der Verwendung von DLA-Exporten werden einige Ebenen möglicherweise nicht für die Ausführung auf dem DLA unterstützt und greifen zur Ausführung auf die GPU zurück. Dieser Fallback kann zu zusätzlicher Latenz führen und die gesamte Inferenzleistung beeinträchtigen. Daher ist der DLA primär nicht darauf ausgelegt, die Inferenzlatenz im Vergleich zu TensorRT, das vollständig auf der GPU läuft, zu reduzieren. Sein Hauptzweck besteht vielmehr darin, den Durchsatz zu erhöhen und die Energieeffizienz zu verbessern.

NVIDIA Jetson YOLO11/ YOLO26 Benchmarks

Die YOLO11/ YOLO26 Benchmarks wurden vom Ultralytics-Team für 11 verschiedene Modellformate durchgeführt, wobei Geschwindigkeit und Genauigkeit gemessen wurden: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Die Benchmarks wurden auf einem NVIDIA Jetson AGX Thor Developer Kit, NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit und einem Seeed Studio reComputer J4012, angetrieben von einem Jetson Orin NX 16GB Gerät, bei FP32-Präzision mit einer Standard-Eingabebildgröße von 640 ausgeführt.

Vergleichsdiagramme

Obwohl alle Modellexporte auf NVIDIA Jetson funktionieren, haben wir nur PyTorch, TorchScript, TensorRT in das nachstehende Vergleichsdiagramm aufgenommen, da diese die GPU auf dem Jetson nutzen und garantiert die besten Ergebnisse liefern. Alle anderen Exporte nutzen nur die CPU, und die Leistung ist nicht so gut wie bei den drei genannten. Benchmarks für alle Exporte findest du im Abschnitt nach diesem Diagramm.

NVIDIA Jetson AGX Thor Developer Kit

Jetson AGX Thor Benchmarks
Benchmarked with Ultralytics 8.3.226

NVIDIA Jetson AGX Orin Developer Kit (64GB)

Jetson AGX Orin Benchmarks
Benchmarked with Ultralytics 8.4.32

NVIDIA Jetson Orin Nano Super Developer Kit

Jetson Orin Nano Super Benchmarks
Benchmarked with Ultralytics 8.4.33

NVIDIA Jetson Orin NX 16GB

Jetson Orin NX 16GB Benchmarks
Benchmarked with Ultralytics 8.4.33

Detaillierte Vergleichstabellen

Die folgende Tabelle stellt die Benchmark-Ergebnisse für fünf verschiedene Modelle (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) über 11 verschiedene Formate hinweg dar (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch) und liefert Status, Größe, mAP50-95(B)-Metrik sowie die Inferenzzeit für jede Kombination.

NVIDIA Jetson AGX Thor Developer Kit

Leistung
FormatStatusGröße auf dem Datenträger (MB)mAP50-95(B)Inferenzzeit (ms/im)
PyTorch5.30.47987.39
TorchScript9.80.47894.21
ONNX9.50.47676.58
OpenVINO10.10.479417.50
TensorRT (FP32)13.90.47911.90
TensorRT (FP16)7.60.47971.39
TensorRT (INT8)6.50.42731.52
TF SavedModel25.70.476447.24
TF GraphDef9.50.476445.98
TF Lite9.90.4764182.04
MNN9.40.478421.83

Getestet mit Ultralytics 8.4.7

Hinweis

Die Inferenzzeit beinhaltet keine Vor- oder Nachverarbeitung.

NVIDIA Jetson AGX Orin Developer Kit (64GB)

Leistung
FormatStatusGröße auf dem Datenträger (MB)mAP50-95(B)Inferenzzeit (ms/im)
PyTorch5.30.479011.58
TorchScript9.80.47704.60
ONNX9.50.47709.87
OpenVINO9.60.482028.80
TensorRT (FP32)11.50.04504.18
TensorRT (FP16)7.90.04502.62
TensorRT (INT8)5.40.46402.30
TF SavedModel24.60.476071.10
TF GraphDef9.50.476070.02
TF Lite9.90.4760227.94
MNN9.40.476032.46
NCNN9.30.481029.93

Geprüft mit Ultralytics 8.4.32

Hinweis

Die Inferenzzeit beinhaltet keine Vor- oder Nachverarbeitung.

NVIDIA Jetson Orin Nano Super Developer Kit

Leistung
FormatStatusGröße auf dem Datenträger (MB)mAP50-95(B)Inferenzzeit (ms/im)
PyTorch5.30.479015.60
TorchScript9.80.477012.60
ONNX9.50.476015.76
OpenVINO9.60.482056.23
TensorRT (FP32)11.30.47707.53
TensorRT (FP16)8.10.48004.57
TensorRT (INT8)5.30.44903.80
TF SavedModel24.60.4760118.33
TF GraphDef9.50.4760116.30
TF Lite9.90.4760286.00
MNN9.40.476068.77
NCNN9.30.481047.50

Gebenchmarkt mit Ultralytics 8.4.33

Hinweis

Die Inferenzzeit beinhaltet keine Vor- oder Nachverarbeitung.

NVIDIA Jetson Orin NX 16GB

Leistung
FormatStatusGröße auf dem Datenträger (MB)mAP50-95(B)Inferenzzeit (ms/im)
PyTorch5.30,479913,90
TorchScript9.80,478711,60
ONNX9.50,476314,18
OpenVINO9.60,481940,19
TensorRT (FP32)11.40.47707,01
TensorRT (FP16)8,00.47894,13
TensorRT (INT8)5,50,44893,49
TF SavedModel24.60.476492,34
TF GraphDef9.50.476492,06
TF Lite9.90.4764254,43
MNN9.40.476048,55
NCNN9.30,480534,31

Gebenchmarkt mit Ultralytics 8.4.33

Hinweis

Die Inferenzzeit beinhaltet keine Vor- oder Nachverarbeitung.

Erkunde weitere Benchmarking-Projekte von Seeed Studio, die auf verschiedenen NVIDIA Jetson-Hardwareversionen laufen.

Unsere Ergebnisse reproduzieren

Um die oben genannten Ultralytics-Benchmarks für alle Export-Formate zu reproduzieren, führe diesen Code aus:

Beispiel
from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)

Beachte, dass Benchmarking-Ergebnisse je nach exakter Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Arbeitslast des Systems zum Zeitpunkt der Benchmark-Ausführung variieren können. Für die verlässlichsten Ergebnisse verwende einen Datensatz mit einer großen Anzahl an Bildern, z. B. data='coco.yaml' (5000 Val-Bilder).

Best Practices bei der Verwendung von NVIDIA Jetson

Wenn du NVIDIA Jetson verwendest, gibt es einige Best Practices, die du befolgen solltest, um die maximale Leistung auf dem NVIDIA Jetson mit YOLO26 zu erzielen.

  1. MAX Power Mode aktivieren

    Die Aktivierung des MAX Power Mode auf dem Jetson stellt sicher, dass alle CPU- und GPU-Kerne eingeschaltet sind.

    sudo nvpmodel -m 0
  2. Jetson Clocks aktivieren

    Die Aktivierung von Jetson Clocks stellt sicher, dass alle CPU- und GPU-Kerne mit ihrer maximalen Frequenz getaktet werden.

    sudo jetson_clocks
  3. Jetson Stats-Anwendung installieren

    Wir können die jetson stats-Anwendung verwenden, um die Temperaturen der Systemkomponenten zu überwachen und andere Systemdetails zu prüfen, wie z. B. CPU-, GPU- und RAM-Auslastung anzeigen, Leistungsmodi ändern, maximale Taktraten einstellen und JetPack-Informationen abrufen.

    sudo apt update
    sudo pip install jetson-stats
    sudo reboot
    jtop
Jetson Stats

Tipps zur Speicheroptimierung für NVIDIA Jetson

Der verfügbare Speicher ist auf Jetson-Geräten oft der limitierende Faktor, insbesondere bei Varianten mit geringerem Speicher wie dem Jetson Orin Nano (8 GB) oder Orin NX 8 GB. Die folgenden Tipps sind praktische Änderungen mit geringem Risiko, die insgesamt mehrere hundert Megabyte freigeben können, damit du größere YOLO-Modelle ausführen oder zusätzliche parallele Arbeitslasten unterstützen kannst. Eine umfassende Behandlung findest du im NVIDIA-Blog zur Maximierung der Speichereffizienz auf Jetson.

Wechsel zum Headless-Boot (ohne GUI)

Wenn dein Jetson über SSH verbunden ist oder als Produktionsgerät ohne angeschlossenes Display läuft, kann der Verzicht auf die Desktop-Umgebung und den Display-Server bis zu 865 MB RAM freigeben:

sudo systemctl set-default multi-user.target
sudo reboot

Um den Desktop später wiederherzustellen:

sudo systemctl set-default graphical.target
sudo reboot

Nicht verwendete Systemdienste deaktivieren

Nicht essenzielle Hintergrunddienste (Bluetooth, Verbindungsmanager, ungenutzte Hardware-Daemons) verbrauchen zusammen etwa 32 MB. Liste aktive Dienste auf und deaktiviere alles, was dein Deployment nicht benötigt:

# List running services
systemctl list-units --type=service --state=running

# Disable a service
sudo systemctl disable <service-name>

Speichernutzung profilieren

Identifiziere vor der Optimierung, welche Prozesse tatsächlich RAM verbrauchen. procrank sortiert Prozesse nach PSS (Proportional Set Size), was den tatsächlichen Speicherbedarf pro Prozess genauer widerspiegelt als RSS (Resident Set Size, die gesamten physischen RAM-Seiten, die von einem Prozess zugeordnet wurden, einschließlich der Seiten, die mit anderen Prozessen geteilt werden):

git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrank

Um GPU- und NvMap-Zuweisungen (CUDA/Video-Pipeline) pro Prozess zu sehen:

sudo cat /sys/kernel/debug/nvmap/iovmm/clients

Inferenz ohne Display in der Produktion ausführen

Bei Inferenz-Pipelines ohne Live-Vorschau-Anforderung können durch das Deaktivieren von displaybezogenen Komponenten (Tiler, OSD, DisplaySink) allein mehr als 200 MB aus der Pipeline eingespart werden. Unterdrücke bei Ultralytics YOLO den Viewer und schreibe die Ergebnisse stattdessen auf die Festplatte:

Beispiel
from ultralytics import YOLO

model = YOLO("yolo11n.engine")

# show=False prevents any display window; save=True writes annotated output to disk
results = model.predict(source="video.mp4", show=False, save=True)

Kumulative Auswirkungen

OptimierungCa. eingesparter Speicher
Desktop-GUI deaktivieren~865 MB
Ungenutzte OS-Dienste deaktivieren~32 MB
Headless-Inferenz-Pipeline (kein Display)~200+ MB
Gesamt (einfache Erfolge)~1 GB+

Die Kombination dieser Änderungen ist besonders wertvoll, wenn du TensorRT INT8-Modelle auf speicherbegrenzten Geräten einsetzt – es kann den Unterschied ausmachen, ob eine größere Modellvariante in den Speicher passt oder nicht.

Nächste Schritte

Für weiteres Lernen und Support siehe die Ultralytics YOLO26-Dokumentation.

FAQ

Wie stelle ich Ultralytics YOLO26 auf NVIDIA Jetson-Geräten bereit?

Die Bereitstellung von Ultralytics YOLO26 auf NVIDIA Jetson-Geräten ist ein unkomplizierter Prozess. Flashe zuerst dein Jetson-Gerät mit dem NVIDIA JetPack SDK. Verwende dann entweder ein vorgefertigtes Docker-Image für eine schnelle Einrichtung oder installiere die benötigten Pakete manuell. Detaillierte Schritte für jeden Ansatz findest du in den Abschnitten Schnellstart mit Docker und Start mit nativer Installation.

Welche Leistungsbenchmarks kann ich von YOLO11-Modellen auf NVIDIA Jetson-Geräten erwarten?

YOLO11-Modelle wurden auf verschiedenen NVIDIA Jetson-Geräten gebenchmarkt, was signifikante Leistungsverbesserungen zeigt. Zum Beispiel liefert das TensorRT-Format die beste Inferenzleistung. Die Tabelle im Abschnitt Detaillierte Vergleichstabellen bietet einen umfassenden Überblick über Leistungskennzahlen wie mAP50-95 und Inferenzzeit über verschiedene Modellformate hinweg.

Warum sollte ich TensorRT für die Bereitstellung von YOLO26 auf NVIDIA Jetson verwenden?

TensorRT wird aufgrund seiner optimalen Leistung für die Bereitstellung von YOLO26-Modellen auf NVIDIA Jetson dringend empfohlen. Es beschleunigt die Inferenz durch die Nutzung der GPU-Fähigkeiten des Jetson und sorgt für maximale Effizienz und Geschwindigkeit. Erfahre mehr darüber, wie du zu TensorRT konvertierst und Inferenz im Abschnitt TensorRT auf NVIDIA Jetson verwenden ausführst.

Wie kann ich PyTorch und Torchvision auf NVIDIA Jetson installieren?

Um PyTorch und Torchvision auf NVIDIA Jetson zu installieren, deinstalliere zuerst alle vorhandenen Versionen, die möglicherweise über pip installiert wurden. Installiere dann manuell die kompatiblen PyTorch- und Torchvision-Versionen für die ARM64-Architektur des Jetson. Detaillierte Anweisungen für diesen Prozess findest du im Abschnitt PyTorch und Torchvision installieren.

Was sind die Best Practices zur Maximierung der Leistung auf NVIDIA Jetson bei der Verwendung von YOLO26?

Um die Leistung auf NVIDIA Jetson mit YOLO26 zu maximieren, befolge diese Best Practices:

  1. Aktiviere den MAX Power Mode, um alle CPU- und GPU-Kerne zu nutzen.
  2. Aktiviere Jetson Clocks, um alle Kerne mit ihrer maximalen Frequenz zu betreiben.
  3. Installiere die Jetson Stats-Anwendung zur Überwachung von Systemmetriken.

Für Befehle und weitere Details beziehe dich auf den Abschnitt Best Practices bei der Verwendung von NVIDIA Jetson.

Wie gebe ich Speicher auf NVIDIA Jetson frei, um größere YOLO-Modelle auszuführen?

Der verfügbare RAM ist auf Jetson-Geräten mit weniger Speicher oft der Flaschenhals. Drei einfache Erfolge, mit denen zusammen über 1 GB zurückgewonnen werden können:

  1. Wechsel zum Headless-Boot (sudo systemctl set-default multi-user.target), um die Desktop-GUI zu eliminieren (~865 MB gespart).
  2. Ungenutzte Dienste deaktivieren, wie z. B. Bluetooth oder Verbindungsmanager (~32 MB gespart).
  3. Inferenz ohne Display ausführen, indem du show=False in deinem YOLO predict-Aufruf setzt, was die Zuweisung von Speicher für die Display-Pipeline vermeidet (~200+ MB gespart).

Verwende procrank, um die RAM-Nutzung pro Prozess zu profilieren, und sudo cat /sys/kernel/debug/nvmap/iovmm/clients, um GPU-Zuweisungen zu untersuchen. Siehe den Abschnitt Tipps zur Speicheroptimierung für vollständige Details.

Warum deaktiviert mein TensorRT INT8-Export end2end auf JetPack 6?

TensorRT 10.3.0, das mit JetPack 6 ausgeliefert wurde, hat ein bekanntes Problem, das INT8-Engine-Builds verhindert, wenn end2end=True aktiviert ist. Wenn Ultralytics diese Kombination erkennt, deaktiviert es automatisch den end2end-Zweig, um sicherzustellen, dass der Export erfolgreich ist.

Um end2end INT8-Exporte wiederherzustellen, aktualisiere TensorRT auf eine neuere Version (z. B. 10.7.0+):

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y tensorrt

Führe nach dem Upgrade deinen Export erneut aus. Weitere Details findest du im GitHub-Issue #23841.

Kommentare