Schnellstartanleitung: NVIDIA Jetson mit Ultralytics YOLO26#
Diese umfassende Anleitung führt dich ausführlich durch die Bereitstellung von Ultralytics YOLO26 auf NVIDIA Jetson-Geräten. Außerdem enthält sie Leistungsbenchmarks, die die Möglichkeiten von YOLO26 auf diesen kleinen und leistungsstarken Geräten veranschaulichen.
Wir haben diese Anleitung um das aktuelle NVIDIA Jetson AGX Thor Developer Kit ergänzt. Es bietet bis zu 2070 FP4 TFLOPS KI-Rechenleistung und 128 GB Speicher. Die Leistungsaufnahme lässt sich zwischen 40 W und 130 W einstellen. Damit erreicht es mehr als die 7,5-fache KI-Rechenleistung des NVIDIA Jetson AGX Orin und eine 3,5-mal höhere Energieeffizienz, sodass sich die beliebtesten KI-Modelle problemlos ausführen lassen.
Ansehen: So verwendest du Ultralytics YOLO26 auf NVIDIA Jetson-Geräten

Diese Anleitung wurde mit dem NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) und dem NVIDIA Jetson AGX Orin Developer Kit (64GB) mit der aktuellen stabilen Version JetPack 7.2 getestet. Getestet wurde außerdem mit dem NVIDIA Jetson Orin Nano Super Developer Kit mit der JetPack-Version JP6.1, dem Seeed Studio reComputer J4012, das auf NVIDIA Jetson Orin NX 16GB basiert und mit der JetPack-Version JP6.0 beziehungsweise JP5.1.3 läuft, sowie dem Seeed Studio reComputer J1020 v2, das auf NVIDIA Jetson Nano 4GB basiert und mit der JetPack-Version JP4.6.1 läuft. Die Anleitung sollte mit der gesamten NVIDIA Jetson-Hardwarefamilie funktionieren, einschließlich der neuesten und älteren Geräte.
Was ist NVIDIA Jetson?#
NVIDIA Jetson ist eine Reihe eingebetteter Computerplatinen, die beschleunigte KI (künstliche Intelligenz) auf Edge-Geräten ermöglichen. Diese kompakten und leistungsstarken Geräte basieren auf der GPU-Architektur von NVIDIA und können komplexe KI-Algorithmen und Deep-Learning-Modelle direkt auf dem Gerät ausführen, ohne auf Ressourcen aus der Cloud angewiesen zu sein. Jetson-Platinen kommen häufig in der Robotik, in autonomen Fahrzeugen, in der industriellen Automatisierung und in anderen Anwendungsbereichen zum Einsatz, in denen KI-Inferenz lokal mit geringer Latenz und hoher Effizienz ausgeführt werden muss. Außerdem basieren diese Platinen auf der ARM64-Architektur und verbrauchen weniger Strom als herkömmliche GPU-Computersysteme.
Vergleich der NVIDIA Jetson-Serie#
NVIDIA Jetson AGX Thor ist die neueste Generation der NVIDIA Jetson-Familie. Sie basiert auf der NVIDIA-Blackwell-Architektur und bietet im Vergleich zu den vorherigen Generationen eine deutlich höhere KI-Leistung. Die folgende Tabelle vergleicht einige Jetson-Geräte aus diesem Ökosystem.
| Jetson AGX Thor (T5000) | Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| KI-Leistung | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | NVIDIA-Blackwell-GPU mit 2560 Kernen und 96 Tensor Cores | NVIDIA-Ampere-GPU mit 2048 Kernen und 64 Tensor Cores | NVIDIA-Ampere-GPU mit 1024 Kernen und 32 Tensor Cores | NVIDIA-Ampere-GPU mit 1024 Kernen und 32 Tensor Cores | NVIDIA-Volta-GPU mit 512 Kernen und 64 Tensor Cores | NVIDIA-Volta™-GPU mit 384 Kernen und 48 Tensor Cores | NVIDIA-Maxwell™-GPU mit 128 Kernen |
| Maximale GPU-Taktfrequenz | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | 64-Bit-CPU Arm® Neoverse®-V3AE mit 14 Kernen, 1 MB L2-Cache und 16 MB L3-Cache | 64-Bit-CPU NVIDIA Arm® Cortex A78AE v8.2 mit 12 Kernen, 3 MB L2-Cache und 6 MB L3-Cache | 64-Bit-CPU NVIDIA Arm® Cortex A78AE v8.2 mit 8 Kernen, 2 MB L2-Cache und 4 MB L3-Cache | 6-Kern Arm® Cortex®-A78AE v8.2 64-Bit-CPU, 1,5 MB L2 + 4 MB L3 | 8-Kern NVIDIA Carmel Arm®v8.2 64-Bit-CPU, 8 MB L2 + 4 MB L3 | 6-Kern NVIDIA Carmel Arm®v8.2 64-Bit-CPU, 6 MB L2 + 4 MB L3 | Quad-Core-Prozessor Arm® Cortex®-A57 MPCore |
| Maximale CPU-Frequenz | 2.6 GHz | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
| Speicher | 128 GB, 256 Bit LPDDR5X, 273 GB/s | 64 GB, 256 Bit LPDDR5, 204,8 GB/s | 16 GB, 128 Bit LPDDR5, 102,4 GB/s | 8 GB, 128 Bit LPDDR5, 102 GB/s | 32 GB, 256 Bit LPDDR4x, 136,5 GB/s | 8 GB, 128 Bit LPDDR4x, 59,7 GB/s | 4 GB, 64 Bit LPDDR4, 25,6 GB/s |
Eine ausführlichere Vergleichstabelle findest du im Abschnitt Technische Daten vergleichen auf der offiziellen NVIDIA Jetson-Seite.
Was ist NVIDIA JetPack?#
Das NVIDIA JetPack SDK, auf dem die Jetson-Module basieren, ist die umfassendste Lösung. Es bietet eine vollständige Entwicklungsumgebung zum Erstellen durchgängig beschleunigter KI-Anwendungen und verkürzt die Zeit bis zur Markteinführung. JetPack umfasst Jetson Linux mit Bootloader, Linux-Kernel, Ubuntu-Desktopumgebung und eine vollständige Bibliothekssammlung zur Beschleunigung von GPU-Berechnungen, Multimedia, Grafik und Computer Vision. Darüber hinaus enthält JetPack Beispiele, Dokumentation und Entwicklertools für den Hostcomputer und das Entwicklerkit und unterstützt übergeordnete SDKs wie DeepStream für Streaming-Videoanalysen, Isaac für Robotik und Riva für dialogbasierte KI.
JetPack auf NVIDIA Jetson flashen#
Der erste Schritt nach dem Erhalt eines NVIDIA Jetson-Geräts ist, NVIDIA JetPack auf das Gerät zu flashen. Dafür gibt es mehrere Möglichkeiten.
- Lade für JetPack 7.2 auf einem offiziellen Jetson AGX Thor, AGX Orin oder Orin Nano Developer Kit die vereinheitlichte Jetson-ISO herunter, schreibe sie auf einen USB-Stick und folge der gerätespezifischen Schnellstartanleitung für AGX Thor, AGX Orin oder Orin Nano. Ab JetPack 7.2 gibt es für Orin Nano kein herunterladbares SD-Kartenabbild mehr. Die Installation über die ISO auf dem USB-Stick installiert Jetson Linux auf der microSD-Karte oder NVMe-SSD des Geräts.
- Wenn du absichtlich JetPack 6 auf einem Jetson Orin Nano Developer Kit verwendest, folge den Anweisungen von NVIDIA zu JetPack 6.x-Updates und SD-Karten.
- Wenn du ein anderes NVIDIA Developer Kit besitzt, kannst du JetPack mit dem SDK Manager auf das Gerät flashen.
- Wenn du ein Seeed Studio reComputer J4012 besitzt, kannst du JetPack auf die mitgelieferte SSD flashen. Wenn du ein Seeed Studio reComputer J1020 v2 besitzt, kannst du JetPack auf den eMMC-/SSD-Speicher flashen.
- Wenn du ein anderes Gerät eines Drittanbieters besitzt, das mit dem NVIDIA Jetson-Modul ausgestattet ist, empfehlen wir, über die Befehlszeile zu flashen.
Gib bei den oben genannten Methoden 1, 4 und 5 nach dem Flashen des Systems und dem Starten des Geräts im Terminal des Geräts den Befehl "sudo apt update && sudo apt install nvidia-jetpack -y" ein, um alle noch benötigten JetPack-Komponenten zu installieren.
JetPack-Unterstützung nach Jetson-Gerät#
Die folgende Tabelle zeigt, welche JetPack-Versionen von den verschiedenen NVIDIA Jetson-Geräten unterstützt werden.
| JetPack 4 | JetPack 5 | JetPack 6 | JetPack 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#
Am schnellsten startest du mit Ultralytics YOLO26 auf NVIDIA Jetson, indem du die vorgefertigten Docker-Images für Jetson verwendest. Sieh dir die obige Tabelle an und wähle die JetPack-Version für dein Jetson-Gerät aus.
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tDas Image latest-nvidia-arm64 verwendet NVIDIA PyTorch 26.08, einschließlich CUDA 13.4 und TensorRT 11.2. NVIDIA führt JetPack 7.1 für PyTorch in der Kompatibilitätstabelle auf, aber TensorRT 11.2.1 unterstützt JetPack nicht, auch nicht auf Thor. Verwende dieses Image nur für PyTorch-Workloads auf einem unterstützten Host. Für TensorRT-Exporte auf Jetson verwendest du die native Installation weiter unten mit der von deiner JetPack-Version unterstützten TensorRT-10.x-Laufzeitumgebung. JetPack 7.2 auf Thor oder Orin erfordert eine separate Validierung des Containers. Erstelle die Engines für die Ziel-GPU und TensorRT-Version neu.
Für Images mit JetPack 4, 5 und 6 lies weiter unter TensorRT auf NVIDIA Jetson verwenden. Das obige Image für JetPack 7.1 ist ausschließlich für PyTorch-Workloads vorgesehen.
Mit der nativen Installation beginnen#
Eine native Installation ohne Docker wird in den folgenden Schritten beschrieben.
Unter JetPack 7.2 ausführen#
Ultralytics-Paket installieren#
Hier installieren wir das Ultralytics-Paket auf Jetson. Abhängigkeiten für den Export werden automatisch beim ersten Export eines Modells installiert. Daher benötigen wir hier nur das Basispaket. Wir konzentrieren uns hauptsächlich auf NVIDIA TensorRT-Exporte, da TensorRT dafür sorgt, dass wir die maximale Leistung der Jetson-Geräte erzielen.
-
Paketlisten aktualisieren, pip installieren und auf die neueste Version aktualisieren
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Das pip-Paket
ultralyticsinstallierenpip install ultralytics -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Bei der oben beschriebenen Ultralytics-Installation werden Torch und Torchvision installiert. Diese beiden über pip installierten Pakete sind jedoch nicht mit JetPack-7.2-Geräten mit CUDA 13 kompatibel. Deshalb müssen wir sie manuell installieren.
torch und torchvision entsprechend JP7.2 installieren
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130onnxruntime-gpu installieren#
Verwende ein ONNX-Runtime-GPU-Wheel, das zu deinen JetPack-, Python- und CUDA-Versionen passt. Aktuelle PyPI-Versionen enthalten ARM64-Wheels, diese ersetzen jedoch nicht die gerätespezifischen Pakete für jede JetPack-Version.
Hier laden wir onnxruntime-gpu 1.24.0 mit Unterstützung für Python3.12 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.whlUnter JetPack 6.1 ausführen#
Ultralytics-Paket installieren#
Hier installieren wir das Ultralytics-Paket auf Jetson. Abhängigkeiten für den Export werden automatisch beim ersten Export eines Modells installiert. Daher benötigen wir hier nur das Basispaket. Wir konzentrieren uns hauptsächlich auf NVIDIA TensorRT-Exporte, da TensorRT dafür sorgt, dass wir die maximale Leistung der Jetson-Geräte erzielen.
-
Paketlisten aktualisieren, pip installieren und auf die neueste Version aktualisieren
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Das pip-Paket
ultralyticsinstallierenpip install ultralytics -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Bei der oben beschriebenen Ultralytics-Installation werden Torch und Torchvision installiert. Diese beiden über pip installierten Pakete sind jedoch nicht mit der Jetson-Plattform kompatibel, die auf der ARM64-Architektur basiert. Deshalb müssen wir manuell ein vorgefertigtes PyTorch-pip-Wheel installieren und Torchvision aus dem Quellcode kompilieren oder installieren.
torch 2.10.0 und torchvision 0.25.0 entsprechend JP6.1 installieren
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.whlAuf der PyTorch-für-Jetson-Seite findest du alle verfügbaren PyTorch-Versionen für die verschiedenen JetPack-Versionen. Eine ausführlichere Liste zur Kompatibilität von PyTorch und Torchvision findest du auf der Kompatibilitätsseite für PyTorch und Torchvision.
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 cudssonnxruntime-gpu installieren#
Verwende ein ONNX-Runtime-GPU-Wheel, das zu deinen JetPack-, Python- und CUDA-Versionen passt. Aktuelle PyPI-Versionen enthalten ARM64-Wheels, diese ersetzen jedoch nicht die gerätespezifischen Pakete für jede JetPack-Version.
Alle verfügbaren onnxruntime-gpu-Pakete findest du – geordnet nach JetPack-Version, Python-Version und weiteren Kompatibilitätsdetails – in der Jetson-Zoo-Kompatibilitätsmatrix für ONNX Runtime.
Für JetPack 6 mit Unterstützung für Python 3.10 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.whlAlternativ kannst du für onnxruntime-gpu 1.20.0 Folgendes installieren:
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whlUnter JetPack 5.1.2 ausführen#
Ultralytics-Paket installieren#
Hier installieren wir das Ultralytics-Paket auf Jetson. Abhängigkeiten für den Export werden automatisch beim ersten Export eines Modells installiert. Daher benötigen wir hier nur das Basispaket. Wir konzentrieren uns hauptsächlich auf NVIDIA TensorRT-Exporte, da TensorRT dafür sorgt, dass wir die maximale Leistung der Jetson-Geräte erzielen.
-
Paketlisten aktualisieren, pip installieren und auf die neueste Version aktualisieren
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Das pip-Paket
ultralyticsinstallierenpip install ultralytics -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Bei der oben beschriebenen Ultralytics-Installation werden Torch und Torchvision installiert. Diese beiden über pip installierten Pakete sind jedoch nicht mit der Jetson-Plattform kompatibel, die auf der ARM64-Architektur basiert. Deshalb müssen wir manuell ein vorgefertigtes PyTorch-pip-Wheel installieren und Torchvision aus dem Quellcode kompilieren oder installieren.
-
Derzeit installierte PyTorch- und Torchvision-Versionen deinstallieren
pip uninstall torch torchvision -
torch 2.1.0undtorchvision 0.16.2entsprechend JP5.1.2 installierenpip 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
Auf der PyTorch-für-Jetson-Seite findest du alle verfügbaren PyTorch-Versionen für die verschiedenen JetPack-Versionen. Eine ausführlichere Liste zur Kompatibilität von PyTorch und Torchvision findest du auf der Kompatibilitätsseite für PyTorch und Torchvision.
onnxruntime-gpu installieren#
Verwende ein ONNX-Runtime-GPU-Wheel, das zu deinen JetPack-, Python- und CUDA-Versionen passt. Aktuelle PyPI-Versionen enthalten ARM64-Wheels, diese ersetzen jedoch nicht die gerätespezifischen Pakete für jede JetPack-Version.
Alle verfügbaren onnxruntime-gpu-Pakete findest du – geordnet nach JetPack-Version, Python-Version und weiteren Kompatibilitätsdetails – in der Jetson-Zoo-Kompatibilitätsmatrix für ONNX Runtime. Hier laden wir onnxruntime-gpu 1.17.0 mit Unterstützung für Python3.8 herunter und installieren es.
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.whlonnxruntime-gpu setzt die NumPy-Version automatisch wieder auf die neueste Version zurück. Deshalb müssen wir NumPy erneut auf 1.23.5 installieren, um ein Problem zu beheben. Führe dazu Folgendes aus:
pip install numpy==1.23.5
TensorRT auf NVIDIA Jetson verwenden#
Von allen von Ultralytics unterstützten Exportformaten bietet TensorRT die höchste Inferenzleistung auf NVIDIA Jetson-Geräten und ist daher unsere erste Empfehlung für Jetson-Bereitstellungen. Installiere vor dem Export die für deine JetPack-Version bereitgestellten TensorRT-Python-Bindings und überprüfe sie mit python3 -c "import tensorrt; print(tensorrt.__version__)". Verwende die unterstützte TensorRT-10.x-Laufzeitumgebung unter JetPack 6/7 und ersetze sie nicht durch TensorRT 11.2.1. Eine Anleitung zur Einrichtung und erweiterte Nutzung findest du in unserem eigenen Leitfaden zur TensorRT-Integration.
Du kannst Modelle auch im Browser exportieren, ohne die Build-Umgebung lokal einzurichten. Wähle im Export-Tab für Modelle auf der Ultralytics Platform TensorRT und das gewünschte Jetson-Ziel aus. Thor-Auswahlen werden auf echter Thor-Hardware validiert. Die sechs Orin-Auswahlen erzeugen derzeit mögliche Engines, die für AGX Orin erstellt wurden. Validiere diese vor der Bereitstellung auf dem vorgesehenen Orin-Modell.
TensorRT erstellt ein Profil und optimiert eine Engine auf der GPU, auf der die Engine erstellt wird. Stimme die GPU-Architektur und die TensorRT-/CUDA-Laufzeitumgebung auf das Zielgerät ab und validiere jede heruntergeladene Engine auf dem Gerät, auf dem sie eingesetzt wird. Dieselbe Orin-Architektur garantiert nicht automatisch die Portierbarkeit zwischen verschiedenen Modellen. Die INT8-Kalibrierung sollte für beste Ergebnisse auf dem Zielgerät erfolgen.
Modell in TensorRT konvertieren und Inferenz ausführen#
Das YOLO26n-Modell im PyTorch-Format wird in TensorRT konvertiert, um mit dem exportierten Modell Inferenz auszuführen.
from ultralytics import YOLO
# Ein YOLO26n-PyTorch-Modell laden
model = YOLO("yolo26n.pt")
# Modell nach TensorRT exportieren
model.export(format="engine") # erstellt 'yolo26n.engine'
# Das exportierte TensorRT-Modell laden
trt_model = YOLO("yolo26n.engine")
# Inferenz ausführen
results = trt_model("https://ultralytics.com/images/bus.jpg")Auf der Export-Seite findest du zusätzliche Argumente für den Export von Modellen in verschiedene Formate.
NVIDIA Deep Learning Accelerator (DLA) verwenden#
Der NVIDIA Deep-Learning-Beschleuniger (DLA) ist eine spezielle Hardwarekomponente in NVIDIA Jetson-Geräten, die die Inferenz mit Deep Learning im Hinblick auf Energieeffizienz und Leistung optimiert. Indem DLA Aufgaben von der GPU übernimmt und diese so für rechenintensivere Prozesse freigibt, ermöglicht DLA den Modellen einen Betrieb mit geringerem Stromverbrauch und hohem Durchsatz. Das ist ideal für eingebettete Systeme und KI-Anwendungen in Echtzeit.
NVIDIA bezeichnet TensorRT 10.7 als die letzte Version mit DLA-Unterstützung; TensorRT 11.0, 11.1 und 11.2 unterstützen DLA nicht. Verwende eine DLA-fähige TensorRT-Version, die von deiner JetPack-Version unterstützt wird. TensorRT 11.2.1 unterstützt JetPack nicht, auch nicht bei Exporten, die nur die GPU nutzen.
Die folgenden Jetson-Geräte sind mit DLA-Hardware ausgestattet:
| Jetson-Gerät | DLA-Kerne | Maximale DLA-Frequenz |
|---|---|---|
| Jetson AGX Orin-Serie | 2 | 1.6 GHz |
| Jetson Orin NX 16GB | 2 | 614 MHz |
| Jetson Orin NX 8 GB | 1 | 614 MHz |
| Jetson AGX Xavier-Serie | 2 | 1.4 GHz |
| Jetson Xavier NX-Serie | 2 | 1.1 GHz |
from ultralytics import YOLO
# Ein YOLO26n-PyTorch-Modell laden
model = YOLO("yolo26n.pt")
# Modell mit aktiviertem DLA nach TensorRT exportieren (funktioniert nur mit FP16 oder INT8)
model.export(format="engine", device="dla:0", quantize=16) # dla:0 oder dla:1 entspricht den DLA-Kernen
# Das exportierte TensorRT-Modell laden
trt_model = YOLO("yolo26n.engine")
# Inferenz ausführen
results = trt_model("https://ultralytics.com/images/bus.jpg")Bei DLA-Exporten werden manche Layer möglicherweise nicht von DLA unterstützt und zur Ausführung an die GPU übergeben. Dieses Ausweichen kann zusätzliche Latenz verursachen und die gesamte Inferenzleistung beeinträchtigen. DLA ist daher nicht in erster Linie dafür gedacht, die Inferenzlatenz gegenüber der Ausführung von TensorRT ausschließlich auf der GPU zu verringern. Der Hauptzweck von DLA besteht vielmehr darin, den Durchsatz zu erhöhen und die Energieeffizienz zu verbessern.
NVIDIA Jetson YOLO26-Benchmarks#
Das Ultralytics-Team hat YOLO26-Benchmarks mit 11 verschiedenen Modellformaten durchgeführt und dabei Geschwindigkeit und Genauigkeit gemessen: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Die Benchmarks wurden mit FP32-Genauigkeit und einer standardmäßigen Eingabebildgröße von 640 auf dem NVIDIA Jetson AGX Thor Developer Kit, dem NVIDIA Jetson AGX Orin Developer Kit (64 GB), dem NVIDIA Jetson Orin Nano Super Developer Kit und einem Seeed Studio reComputer J4012 mit Jetson Orin NX 16 GB durchgeführt.
Vergleichsdiagramme#
Obwohl alle Modelle der Exportformate auf NVIDIA Jetson funktionieren, enthält das folgende Vergleichsdiagramm nur PyTorch, TorchScript und TensorRT, da diese die GPU des Jetson nutzen und garantiert die besten Ergebnisse liefern. Alle anderen Exportformate verwenden ausschließlich die CPU und erreichen nicht die Leistung der drei genannten Formate. Benchmarks für alle Exportformate findest du im Abschnitt nach diesem Diagramm.
NVIDIA Jetson AGX Thor Entwicklerkit#
NVIDIA Jetson AGX Orin Entwicklerkit (64GB)#
NVIDIA Jetson Orin Nano Super Entwicklerkit#
NVIDIA Jetson Orin NX 16GB#
Detaillierte Vergleichstabellen#
Die folgende Tabelle zeigt die Benchmark-Ergebnisse für fünf verschiedene Modelle (YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x) in 11 verschiedenen Formaten (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch) und gibt für jede Kombination den Status, die Größe, die Kennzahl mAP50-95(B) und die Inferenzzeit an.
NVIDIA Jetson AGX Thor Entwicklerkit#
| Format | Status | Dateigröße (MB) | mAP50-95(B) | Inferenzzeit (ms/Bild) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 7.39 |
| TorchScript | ✅ | 9.8 | 0.4789 | 4.21 |
| ONNX | ✅ | 9.5 | 0.4767 | 6.58 |
| OpenVINO | ✅ | 10.1 | 0.4794 | 17.50 |
| TensorRT (FP32) | ✅ | 13.9 | 0.4791 | 1.90 |
| TensorRT (FP16) | ✅ | 7.6 | 0.4797 | 1.39 |
| TensorRT (INT8) | ✅ | 6.5 | 0.4273 | 1.52 |
| TF SavedModel | ✅ | 25.7 | 0.4764 | 47.24 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 45.98 |
| TF Lite | ✅ | 9.9 | 0.4764 | 182.04 |
| MNN | ✅ | 9.4 | 0.4784 | 21.83 |
Getestet mit Ultralytics 8.4.7
Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
NVIDIA Jetson AGX Orin Entwicklerkit (64GB)#
| Format | Status | Dateigröße (MB) | mAP50-95(B) | Inferenzzeit (ms/Bild) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 11.58 |
| TorchScript | ✅ | 9.8 | 0.4770 | 4.60 |
| ONNX | ✅ | 9.5 | 0.4770 | 9.87 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 28.80 |
| TensorRT (FP32) | ✅ | 11.5 | 0.4770 | 4.18 |
| TensorRT (FP16) | ✅ | 7.9 | 0.4789 | 2.62 |
| TensorRT (INT8) | ✅ | 5.4 | 0.4640 | 2.30 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 71.10 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 70.02 |
| TF Lite | ✅ | 9.9 | 0.4760 | 227.94 |
| MNN | ✅ | 9.4 | 0.4760 | 32.46 |
| NCNN | ✅ | 9.3 | 0.4810 | 29.93 |
Getestet mit Ultralytics 8.4.32
Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
NVIDIA Jetson Orin Nano Super Entwicklerkit#
| Format | Status | Dateigröße (MB) | mAP50-95(B) | Inferenzzeit (ms/Bild) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 15.60 |
| TorchScript | ✅ | 9.8 | 0.4770 | 12.60 |
| ONNX | ✅ | 9.5 | 0.4760 | 15.76 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 56.23 |
| TensorRT (FP32) | ✅ | 11.3 | 0.4770 | 7.53 |
| TensorRT (FP16) | ✅ | 8.1 | 0.4800 | 4.57 |
| TensorRT (INT8) | ✅ | 5.3 | 0.4490 | 3.80 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 118.33 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 116.30 |
| TF Lite | ✅ | 9.9 | 0.4760 | 286.00 |
| MNN | ✅ | 9.4 | 0.4760 | 68.77 |
| NCNN | ✅ | 9.3 | 0.4810 | 47.50 |
Getestet mit Ultralytics 8.4.33
Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
NVIDIA Jetson Orin NX 16GB#
| Format | Status | Dateigröße (MB) | mAP50-95(B) | Inferenzzeit (ms/Bild) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4799 | 13.90 |
| TorchScript | ✅ | 9.8 | 0.4787 | 11.60 |
| ONNX | ✅ | 9.5 | 0.4763 | 14.18 |
| OpenVINO | ✅ | 9.6 | 0.4819 | 40.19 |
| TensorRT (FP32) | ✅ | 11.4 | 0.4770 | 7.01 |
| TensorRT (FP16) | ✅ | 8.0 | 0.4789 | 4.13 |
| TensorRT (INT8) | ✅ | 5.5 | 0.4489 | 3.49 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 92.34 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 92.06 |
| TF Lite | ✅ | 9.9 | 0.4764 | 254.43 |
| MNN | ✅ | 9.4 | 0.4760 | 48.55 |
| NCNN | ✅ | 9.3 | 0.4805 | 34.31 |
Getestet mit Ultralytics 8.4.33
Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
Entdecke weitere Benchmark-Tests von Seeed Studio, die auf verschiedenen Versionen der NVIDIA Jetson-Hardware ausgeführt wurden.
Unsere Ergebnisse reproduzieren#
Um die obigen Ultralytics-Benchmarks für alle Export-Formate zu reproduzieren, führe diesen Code aus:
from ultralytics import YOLO
# Ein YOLO26n-PyTorch-Modell laden
model = YOLO("yolo26n.pt")
# Benchmark für Geschwindigkeit und Genauigkeit von YOLO26n auf dem COCO128-Datensatz für alle Exportformate
results = model.benchmark(data="coco128.yaml", imgsz=640)Beachte, dass die Benchmark-Ergebnisse je nach genauer Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Auslastung des Systems zum Zeitpunkt der Benchmarks variieren können. Die zuverlässigsten Ergebnisse erhältst du mit einem Datensatz mit vielen Bildern, z. B. data='coco.yaml' (5000 Validierungsbilder).
Bewährte Vorgehensweisen für die Verwendung von NVIDIA Jetson#
Beachte bei der Verwendung von NVIDIA Jetson einige bewährte Vorgehensweisen, um die Leistung von YOLO26 auf NVIDIA Jetson zu maximieren.
-
MAX Power Mode aktivieren
Wenn du MAX Power Mode auf Jetson aktivierst, werden alle CPU- und GPU-Kerne eingeschaltet.
sudo nvpmodel -m 0 -
Jetson Clocks aktivieren
Wenn du Jetson Clocks aktivierst, werden alle CPU- und GPU-Kerne mit ihrer maximalen Frequenz betrieben.
sudo jetson_clocks -
Jetson Stats-Anwendung installieren
Mit der Anwendung jetson stats kannst du die Temperaturen der Systemkomponenten überwachen und weitere Systemdetails prüfen, etwa die Auslastung von CPU, GPU und RAM anzeigen, Energiemodi ändern, die maximalen Taktfrequenzen einstellen und Informationen zu JetPack abrufen.
sudo apt update sudo pip install jetson-stats sudo reboot jtop
Tipps zur Speicheroptimierung für NVIDIA Jetson#
Der verfügbare Speicher ist auf Jetson-Geräten oft der begrenzende Faktor, insbesondere bei Varianten mit weniger Speicher wie Jetson Orin Nano (8 GB) oder Orin NX 8 GB. Die folgenden Tipps sind praktische, risikoarme Anpassungen, die zusammen mehrere hundert Megabyte freigeben und den Betrieb größerer YOLO-Modelle oder zusätzlicher paralleler Arbeitslasten ermöglichen können. Eine umfassende Beschreibung findest du im NVIDIA-Blog zur Maximierung der Speichereffizienz auf Jetson.
1. Ohne grafische Oberfläche starten#
Wenn dein Jetson über SSH verbunden ist oder als Produktionsgerät ohne angeschlossenen Bildschirm läuft, kannst du durch Entfernen der Desktop-Umgebung und des Anzeigeservers bis zu 865 MB RAM freigeben:
sudo systemctl set-default multi-user.target
sudo rebootSo stellst du die Desktop-Umgebung später wieder her:
sudo systemctl set-default graphical.target
sudo reboot2. Nicht benötigte Systemdienste deaktivieren#
Nicht benötigte Hintergrunddienste (Bluetooth, Verbindungsmanager, ungenutzte Hardware-Daemons) verbrauchen zusammen etwa 32 MB. Zeige die aktiven Dienste an und deaktiviere alles, was deine Bereitstellung nicht benötigt:
# List running services
systemctl list-units --type=service --state=running
# Disable a service
sudo systemctl disable SERVICE_NAME3. Speichernutzung analysieren#
Ermittle vor der Optimierung, welche Prozesse tatsächlich RAM verbrauchen. procrank sortiert Prozesse nach PSS (proportionale Speichergröße), wodurch der tatsächliche Speicherbedarf pro Prozess genauer dargestellt wird als mit RSS (Größe des residenten Arbeitssatzes: alle physischen RAM-Seiten, die einem Prozess zugeordnet sind, einschließlich der mit anderen Prozessen gemeinsam genutzten Seiten):
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrankSo zeigst du die GPU- und NvMap-Zuweisungen (CUDA-/Videopipeline) pro Prozess an:
sudo cat /sys/kernel/debug/nvmap/iovmm/clients4. Inferenz in der Produktion ohne Bildschirm ausführen#
Bei Inferenzpipelines ohne Live-Vorschau kannst du durch Deaktivieren bildschirmbezogener Komponenten (Tiler, OSD, DisplaySink) allein in der Pipeline 200+ MB einsparen. Unterdrücke mit Ultralytics YOLO die Anzeige und speichere die Ergebnisse stattdessen auf dem Datenträger:
from ultralytics import YOLO
model = YOLO("yolo26n.engine")
# show=False verhindert jedes Anzeigefenster; save=True speichert die annotierte Ausgabe auf dem Datenträger
results = model.predict(source="video.mp4", show=False, save=True)Gesamtauswirkung#
| Optimierung | Ungefähr eingesparter Speicher |
|---|---|
| Grafische Desktop-Oberfläche deaktivieren | ~865 MB |
| Nicht benötigte Betriebssystemdienste deaktivieren | ~32 MB |
| Inferenzpipeline ohne grafische Oberfläche (keine Anzeige) | ~200+ MB |
| Gesamt (einfache Maßnahmen) | ~1 GB+ |
Diese Änderungen zusammen sind besonders wertvoll, wenn du TensorRT-INT8-Modelle auf Geräten mit knappem Speicher einsetzt – sie können darüber entscheiden, ob eine größere Modellvariante in den Speicher passt oder nicht.
Nächste Schritte#
Weitere Informationen und Unterstützung findest du in der Ultralytics YOLO26-Dokumentation.
Häufig gestellte Fragen#
Die Bereitstellung von Ultralytics YOLO26 auf NVIDIA Jetson-Geräten ist unkompliziert. Flash zunächst das NVIDIA JetPack SDK auf deinem Jetson-Gerät. Verwende anschließend entweder ein vorbereitetes Docker-Image für eine schnelle Einrichtung oder installiere die erforderlichen Pakete manuell. Eine ausführliche Anleitung zu beiden Vorgehensweisen findest du in den Abschnitten Schnellstart mit Docker und Mit nativer Installation starten.
YOLO26-Modelle wurden auf verschiedenen NVIDIA Jetson-Geräten getestet und zeigten deutliche Leistungssteigerungen. Das TensorRT-Format bietet beispielsweise die beste Inferenzleistung. Die Tabelle im Abschnitt Detaillierte Vergleichstabellen bietet einen umfassenden Überblick über Leistungskennzahlen wie mAP50-95 und Inferenzzeit für verschiedene Modellformate.
TensorRT wird für die Bereitstellung von YOLO26-Modellen auf NVIDIA Jetson dringend empfohlen, da es eine optimale Leistung bietet. Es beschleunigt die Inferenz, indem es die GPU-Funktionen von Jetson nutzt und so für maximale Effizienz und Geschwindigkeit sorgt. Weitere Informationen zur Konvertierung in TensorRT und zur Ausführung der Inferenz findest du im Abschnitt TensorRT auf NVIDIA Jetson verwenden.
Um PyTorch und Torchvision auf NVIDIA Jetson zu installieren, deinstalliere zunächst alle vorhandenen Versionen, die möglicherweise über pip installiert wurden. Installiere anschließend manuell die mit der ARM64-Architektur von Jetson kompatiblen Versionen von PyTorch und Torchvision. Eine ausführliche Anleitung dazu findest du im Abschnitt PyTorch und Torchvision installieren.
Befolge diese bewährten Vorgehensweisen, um die Leistung von YOLO26 auf NVIDIA Jetson zu maximieren:
- Aktiviere MAX Power Mode, um alle CPU- und GPU-Kerne zu nutzen.
- Aktiviere Jetson Clocks, damit alle Kerne mit ihrer maximalen Frequenz laufen.
- Installiere die Jetson Stats-Anwendung, um Systemkennzahlen zu überwachen.
Befehle und weitere Informationen findest du im Abschnitt Bewährte Vorgehensweisen für die Verwendung von NVIDIA Jetson.
Der verfügbare RAM ist auf Jetson-Geräten mit wenig Speicher oft der Engpass. Drei einfache Maßnahmen können zusammen über 1 GB freigeben:
- Ohne grafische Oberfläche starten (
sudo systemctl set-default multi-user.target), um die grafische Desktop-Oberfläche zu entfernen (Einsparung: ~865 MB). - Nicht benötigte Dienste deaktivieren, etwa Bluetooth oder Verbindungsmanager (Einsparung: ~32 MB).
- Inferenz ohne Bildschirm ausführen, indem du
show=Falsein deinem YOLO-Aufrufpredictfestlegst. Dadurch wird kein Speicher für die Anzeigepipeline zugewiesen (Einsparung: ~200+ MB).
Verwende
procrank, um die RAM-Nutzung pro Prozess zu analysieren, undsudo cat /sys/kernel/debug/nvmap/iovmm/clients, um GPU-Zuweisungen zu prüfen. Alle Einzelheiten findest du im Abschnitt Tipps zur Speicheroptimierung.- Ohne grafische Oberfläche starten (
TensorRT 10.3.0, das mit JetPack 6 ausgeliefert wird, weist einen bekannten Fehler auf, der das Erstellen NMS-freier (
nms=False) INT8-Engines verhindert. Wenn Ultralytics diese Kombination erkennt, wählt es automatisch den One-to-Many-Kopf aus, damit der Export erfolgreich ist.Um NMS-freie INT8-Exporte wieder zu ermöglichen, 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 tensorrtFühre den Export nach der Aktualisierung erneut aus. Weitere Informationen findest du im GitHub-Issue #23841.