Schnellstartanleitung: NVIDIA Jetson mit Ultralytics YOLO26#
Diese umfassende Anleitung führt dich detailliert durch die Bereitstellung von Ultralytics YOLO26 auf NVIDIA Jetson-Geräten. Zusätzlich zeigt sie Leistungsbenchmarks, um die Fähigkeiten von YOLO26 auf diesen kleinen und leistungsstarken Geräten zu veranschaulichen.
Wir haben diese Anleitung mit dem neuesten NVIDIA Jetson AGX Thor Developer Kit aktualisiert. Es liefert bis zu 2070 FP4 TFLOPS Rechenleistung für AI und verfügt über 128 GB Speicher, wobei die Leistungsaufnahme zwischen 40 W und 130 W konfiguriert werden kann. Damit bietet es mehr als die 7,5-fache AI-Rechenleistung des NVIDIA Jetson AGX Orin und eine 3,5-fach höhere Energieeffizienz, sodass die beliebtesten AI-Modelle problemlos ausgeführt werden können.
Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices

Diese Anleitung wurde mit dem NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) und dem NVIDIA Jetson AGX Orin Developer Kit (64GB) getestet, auf denen das neueste stabile JetPack 7.2 ausgeführt wird, außerdem mit dem NVIDIA Jetson Orin Nano Super Developer Kit mit der JetPack-Version JP6.1, dem Seeed Studio reComputer J4012, der auf NVIDIA Jetson Orin NX 16GB basiert und mit der JetPack-Version JP6.0/ der JetPack-Version JP5.1.3 betrieben wird, sowie dem Seeed Studio reComputer J1020 v2, der auf NVIDIA Jetson Nano 4GB basiert und mit der JetPack-Version JP4.6.1 betrieben wird. Es wird erwartet, dass die Anleitung mit der gesamten NVIDIA Jetson-Hardwarepalette funktioniert, einschließlich der neuesten und älteren Geräte.
Was ist NVIDIA Jetson?#
NVIDIA Jetson ist eine Reihe eingebetteter Rechnerplatinen, die beschleunigte AI (künstliche Intelligenz) auf Edge-Geräte bringen. Diese kompakten und leistungsstarken Geräte basieren auf der GPU-Architektur von NVIDIA und können komplexe AI-Algorithmen und Deep-Learning-Modelle direkt auf dem Gerät ausführen, ohne auf Ressourcen aus der Cloud angewiesen zu sein. Jetson-Platinen werden häufig in der Robotik, autonomen Fahrzeugen, industriellen Automatisierung und anderen Anwendungen eingesetzt, in denen die AI-Inferenz lokal mit geringer Latenz und hoher Effizienz ausgeführt werden muss. Außerdem basieren diese Platinen auf der ARM64-Architektur und arbeiten mit einer geringeren Leistungsaufnahme als herkömmliche GPU-Rechner.
Vergleich der NVIDIA Jetson-Serie#
NVIDIA Jetson AGX Thor ist die neueste Generation der NVIDIA Jetson-Familie und basiert auf der NVIDIA Blackwell-Architektur, die im Vergleich zu den vorherigen Generationen eine deutlich höhere AI-Leistung bietet. 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 | |
|---|---|---|---|---|---|---|---|
| AI-Leistung | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | GPU mit 2560 Kernen auf Basis der NVIDIA Blackwell-Architektur und 96 Tensor Cores | GPU mit 2048 Kernen auf Basis der NVIDIA Ampere-Architektur und 64 Tensor Cores | GPU mit 1024 Kernen auf Basis der NVIDIA Ampere-Architektur und 32 Tensor Cores | GPU mit 1024 Kernen auf Basis der NVIDIA Ampere-Architektur und 32 Tensor Cores | GPU mit 512 Kernen auf Basis der NVIDIA Volta-Architektur und 64 Tensor Cores | GPU mit 384 Kernen auf Basis der NVIDIA Volta™-Architektur und 48 Tensor Cores | GPU mit 128 Kernen auf Basis der NVIDIA Maxwell™-Architektur |
| Maximale GPU-Frequenz | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | 14-Kern-Arm®-Neoverse®-V3AE-64-Bit-CPU, 1 MB L2 + 16 MB L3 | 12-Kern-NVIDIA-Arm®-Cortex-A78AE-v8.2-64-Bit-CPU, 3 MB L2 + 6 MB L3 | 8-Kern-NVIDIA-Arm®-Cortex-A78AE-v8.2-64-Bit-CPU, 2 MB L2 + 4 MB L3 | 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 | Arm®-Cortex®-A57-MPCore-Prozessor mit vier Kernen |
| Maximale CPU-Frequenz | 2.6 GHz | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
| Speicher | 128GB 256-Bit LPDDR5X 273GB/s | 64GB 256-Bit LPDDR5 204.8GB/s | 16GB 128-Bit LPDDR5 102.4GB/s | 8GB 128-Bit LPDDR5 102 GB/s | 32GB 256-Bit LPDDR4x 136.5GB/s | 8GB 128-Bit LPDDR4x 59.7GB/s | 4GB 64-Bit LPDDR4 25.6GB/s |
Eine ausführlichere Vergleichstabelle findest du im Abschnitt Compare Specifications auf der offiziellen NVIDIA Jetson-Seite.
Was ist NVIDIA JetPack?#
Das NVIDIA JetPack SDK, das die Jetson-Module betreibt, ist eine umfassende Lösung und stellt eine vollständige Entwicklungsumgebung zum Erstellen durchgängig beschleunigter AI-Anwendungen bereit. Dadurch verkürzt sich die Markteinführungszeit. 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. Außerdem enthält es Beispiele, Dokumentation und Entwicklerwerkzeuge sowohl für den Hostcomputer als auch für das Entwicklerkit und unterstützt übergeordnete SDKs wie DeepStream für die Analyse von Videoströmen, Isaac für die Robotik und Riva für konversationelle AI.
JetPack auf NVIDIA Jetson flashen#
Der erste Schritt nach dem Erwerb eines NVIDIA Jetson-Geräts besteht darin, NVIDIA JetPack auf das Gerät zu flashen. Es gibt mehrere Möglichkeiten, NVIDIA Jetson-Geräte zu flashen.
- Für JetPack 7.2 auf einem offiziellen Jetson AGX Thor, AGX Orin oder Orin Nano Developer Kit lädst du die einheitliche Jetson-ISO herunter, schreibst sie auf ein USB-Flashlaufwerk und folgst der gerätespezifischen Schnellstartanleitung für AGX Thor, AGX Orin oder Orin Nano. Ab JetPack 7.2 verwendet Orin Nano kein herunterladbares SD-Karten-Image mehr. Die ISO-Installation über USB installiert Jetson Linux auf der microSD-Karte oder NVMe-SSD des Geräts.
- Wenn du JetPack 6 absichtlich auf einem Jetson Orin Nano Developer Kit verwendest, folge den Anweisungen von NVIDIA zur Aktualisierung und SD-Karte für JetPack 6.x.
- Wenn du ein anderes NVIDIA Development Kit besitzt, kannst du JetPack mithilfe des SDK Managers auf das Gerät flashen.
- Wenn du ein Seeed Studio reComputer J4012-Gerät besitzt, kannst du JetPack auf die enthaltene SSD flashen. Wenn du ein Seeed Studio reComputer J1020 v2-Gerät besitzt, kannst du JetPack auf den eMMC-/SSD-Speicher flashen.
- Wenn du ein anderes Gerät eines Drittanbieters besitzt, das auf dem NVIDIA Jetson-Modul basiert, wird empfohlen, dem Flashen über die Befehlszeile zu folgen.
Bei den oben genannten Methoden 1, 4 und 5 gibst du nach dem Flashen des Systems und dem Starten des Geräts im Terminal des Geräts "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 NVIDIA 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 vorgefertigte Docker-Images für Jetson ausführst. Sieh dir die obige Tabelle an und wähle die JetPack-Version entsprechend dem Jetson-Gerät aus, das du besitzt.
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 listet JetPack 7.1 für PyTorch in seiner Kompatibilitätstabelle, aber TensorRT 11.2.1 unterstützt JetPack nicht, einschließlich Thor. Verwende dieses Image nur für PyTorch Workloads auf einem unterstützten Host. Verwende für Jetson TensorRT Exporte die native Installation unten mit der von deiner JetPack Version unterstützten TensorRT 10.x Laufzeit. JetPack 7.2 auf Thor oder Orin erfordert eine separate Container Validierung. Erstelle Engines für die Ziel GPU und die TensorRT Version neu.
Für JetPack 4, 5 und 6 Images fahre fort mit TensorRT auf NVIDIA Jetson verwenden. Das JetPack 7.1 Image oben ist nur für PyTorch Workloads bestimmt.
Mit der nativen Installation beginnen#
Für eine native Installation ohne Docker folgst du den unten beschriebenen Schritten.
Auf JetPack 7.2 ausführen#
Ultralytics-Paket installieren#
Hier installieren wir das Ultralytics-Paket auf dem Jetson. Abhängigkeiten für den Export werden beim ersten Export eines Modells automatisch installiert, daher wird hier nur das Basispaket benötigt. 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.
-
Paketliste aktualisieren, pip installieren und auf die neueste Version aktualisieren
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralytics-Paket mit pip installierenpip install ultralytics -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Die oben beschriebene Ultralytics-Installation installiert Torch und Torchvision. Diese beiden über pip installierten Pakete sind jedoch nicht mit JetPack-7.2-Geräten und CUDA 13 kompatibel. Daher 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 Releases enthalten ARM64 Wheels, aber sie ersetzen 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.whlAuf JetPack 6.1 ausführen#
Ultralytics-Paket installieren#
Hier installieren wir das Ultralytics-Paket auf dem Jetson. Abhängigkeiten für den Export werden beim ersten Export eines Modells automatisch installiert, daher wird hier nur das Basispaket benötigt. 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.
-
Paketliste aktualisieren, pip installieren und auf die neueste Version aktualisieren
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralytics-Paket mit pip installierenpip install ultralytics -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Die oben beschriebene 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 ein vorgefertigtes PyTorch-pip-Wheel manuell 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-for-Jetson-Seite findest du alle verschiedenen PyTorch-Versionen für die unterschiedlichen JetPack-Versionen. Eine ausführlichere Liste zur Kompatibilität von PyTorch und Torchvision findest du auf der PyTorch-und-Torchvision-Kompatibilitätsseite.
cuDSS installieren, 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 Releases enthalten ARM64 Wheels, aber sie ersetzen nicht die gerätespezifischen Pakete für jede JetPack Version.
Alle verfügbaren onnxruntime-gpu-Pakete findest du nach JetPack-Version, Python-Version und weiteren Kompatibilitätsdetails geordnet in der Kompatibilitätsmatrix für ONNX Runtime im Jetson Zoo.
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 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.whlAuf JetPack 5.1.2 ausführen#
Ultralytics-Paket installieren#
Hier installieren wir das Ultralytics-Paket auf dem Jetson. Abhängigkeiten für den Export werden beim ersten Export eines Modells automatisch installiert, daher wird hier nur das Basispaket benötigt. 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.
-
Paketliste aktualisieren, pip installieren und auf die neueste Version aktualisieren
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralytics-Paket mit pip installierenpip install ultralytics -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Die oben beschriebene 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 ein vorgefertigtes PyTorch-pip-Wheel manuell installieren und Torchvision aus dem Quellcode kompilieren oder installieren.
-
Derzeit installierte Versionen von PyTorch und Torchvision 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-for-Jetson-Seite findest du alle verschiedenen PyTorch-Versionen für die unterschiedlichen JetPack-Versionen. Eine ausführlichere Liste zur Kompatibilität von PyTorch und Torchvision findest du auf der PyTorch-und-Torchvision-Kompatibilitätsseite.
onnxruntime-gpu installieren#
Verwende ein ONNX Runtime GPU Wheel, das zu deinen JetPack, Python und CUDA Versionen passt. Aktuelle PyPI Releases enthalten ARM64 Wheels, aber sie ersetzen nicht die gerätespezifischen Pakete für jede JetPack Version.
Alle verfügbaren onnxruntime-gpu-Pakete findest du nach JetPack-Version, Python-Version und weiteren Kompatibilitätsdetails geordnet in der Kompatibilitätsmatrix für ONNX Runtime im Jetson Zoo. 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 auf die neueste Version zurück. Daher müssen wir NumPy auf 1.23.5 neu installieren, um ein Problem zu beheben, indem wir Folgendes ausführen:
pip install numpy==1.23.5
TensorRT auf NVIDIA Jetson verwenden#
Unter allen von Ultralytics unterstützten Modellexportformaten bietet TensorRT die höchste Inferenzleistung auf NVIDIA Jetson Geräten, was es zu unserer Top Empfehlung für Jetson Deployments macht. Installiere vor dem Export die für deine JetPack Version bereitgestellten TensorRT Python Bindings und verifiziere sie mit python3 -c "import tensorrt; print(tensorrt.__version__)". Behalte die unterstützte TensorRT 10.x Laufzeit auf JetPack 6/7 bei; ersetze sie nicht durch TensorRT 11.2.1. Siehe für Setup Anleitungen und erweiterte Nutzung unseren speziellen TensorRT Integrationsleitfaden.
Du kannst auch über den Browser exportieren, ohne die Build-Umgebung lokal zu konfigurieren. Wähle im Modell-Export-Tab 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 Kandidaten-Engines, die auf AGX Orin erstellt wurden. Validiere sie daher vor der Bereitstellung auf dem vorgesehenen Orin-SKU.
TensorRT erstellt ein Profil für eine Engine und optimiert sie auf der GPU, auf der sie erstellt wird. Stimme die GPU-Architektur und die TensorRT-/CUDA-Laufzeitumgebung auf das Zielgerät ab und validiere jede heruntergeladene Engine auf dem Bereitstellungsgerät. Orin-SKUs mit derselben Architektur sind keine automatische Garantie für Portierbarkeit, und die INT8-Kalibrierung sollte für optimale 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 die Inferenz mit dem exportierten Modell auszuführen.
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")Auf der Export-Seite findest du weitere Argumente für den Export von Modellen in verschiedene Modellformate.
NVIDIA Deep Learning Accelerator (DLA) verwenden#
Der NVIDIA Deep Learning Accelerator (DLA) ist eine spezialisierte Hardwarekomponente in NVIDIA Jetson-Geräten, die die Inferenz beim Deep Learning im Hinblick auf Energieeffizienz und Leistung optimiert. Durch die Auslagerung von Aufgaben von der GPU, wodurch diese für anspruchsvollere Prozesse frei bleibt, ermöglicht DLA die Ausführung von Modellen mit geringerem Energieverbrauch bei gleichzeitig hohem Durchsatz – ideal für eingebettete Systeme und KI-Anwendungen in Echtzeit.
NVIDIA listet TensorRT 10.7 als das letzte Release mit DLA Unterstützung; TensorRT 11.0, 11.1 und 11.2 unterstützen DLA nicht. Verwende ein DLA fähiges TensorRT Release, das von deiner JetPack Version unterstützt wird. TensorRT 11.2.1 unterstützt JetPack nicht, auch keine GPU-only Exporte.
Die folgenden Jetson-Geräte verfügen über DLA-Hardware:
| 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 8GB | 1 | 614 MHz |
| Jetson AGX Xavier-Serie | 2 | 1.4 GHz |
| Jetson Xavier NX-Serie | 2 | 1.1 GHz |
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", quantize=16) # 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")Bei der Verwendung von DLA-Exporten werden einige Layer möglicherweise nicht von DLA unterstützt und zur Ausführung auf die GPU zurückverlagert. Dieses Zurückfallen kann zusätzliche Latenz verursachen und die Gesamtleistung der Inferenz beeinträchtigen. DLA ist daher nicht in erster Linie darauf ausgelegt, die Inferenzlatenz im Vergleich zu einer vollständig auf der GPU ausgeführten TensorRT-Inferenz zu reduzieren. Der Hauptzweck besteht stattdessen darin, den Durchsatz zu erhöhen und die Energieeffizienz zu verbessern.
NVIDIA Jetson YOLO26 Benchmarks#
YOLO26 benchmarks were run by the Ultralytics team on 11 different model formats measuring speed and accuracy: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Benchmarks were run on NVIDIA Jetson AGX Thor Developer Kit, NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit and Seeed Studio reComputer J4012 powered by Jetson Orin NX 16GB device at FP32 precision with default input image size of 640.
Vergleichsdiagramme#
Obwohl alle Modelleexporte auf NVIDIA Jetson funktionieren, haben wir für das folgende Vergleichsdiagramm nur PyTorch, TorchScript, TensorRT aufgenommen, da sie die GPU des Jetson nutzen und nachweislich die besten Ergebnisse liefern. Alle anderen Exporte verwenden ausschließlich die CPU und erreichen nicht die Leistung der drei genannten Formate. Benchmarks für alle Exporte findest du im Abschnitt nach diesem Diagramm.
NVIDIA Jetson AGX Thor Developer Kit#
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
NVIDIA Jetson Orin Nano Super Developer Kit#
NVIDIA Jetson Orin NX 16GB#
Detaillierte Vergleichstabellen#
The below table represents the benchmark results for five different models (YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x) across 11 different formats (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), giving us the status, size, mAP50-95(B) metric, and inference time for each combination.
NVIDIA Jetson AGX Thor Developer Kit#
| Format | Status | Größe auf der Festplatte (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 |
Mit Ultralytics 8.4.7 getestet
Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
| Format | Status | Größe auf der Festplatte (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.0450 | 4.18 |
| TensorRT (FP16) | ✅ | 7.9 | 0.0450 | 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 |
Mit Ultralytics 8.4.32 getestet
Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
NVIDIA Jetson Orin Nano Super Developer Kit#
| Format | Status | Größe auf der Festplatte (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 |
Mit Ultralytics 8.4.33 getestet
Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
NVIDIA Jetson Orin NX 16GB#
| Format | Status | Größe auf der Festplatte (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 |
Mit Ultralytics 8.4.33 getestet
Die Inferenzzeit umfasst keine Vor- und Nachverarbeitung.
Weitere Benchmarking-Aktivitäten von Seeed Studio entdecken, 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
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)Beachte, dass die Benchmark-Ergebnisse je nach exakter Hardware- und Softwarekonfiguration eines Systems sowie dessen aktueller Auslastung zum Zeitpunkt der Benchmarks variieren können. Für die zuverlässigsten Ergebnisse solltest du einen Datensatz mit einer großen Anzahl von Bildern verwenden, z. B. data='coco.yaml' (5000 Validierungsbilder).
Bewährte Vorgehensweisen bei der Verwendung von NVIDIA Jetson#
Bei der Verwendung von NVIDIA Jetson solltest du einige bewährte Vorgehensweisen beachten, um eine maximale Leistung auf dem NVIDIA Jetson bei der Ausführung von YOLO26 zu ermöglichen.
-
MAX Power Mode aktivieren
Durch die Aktivierung des MAX Power Mode auf dem Jetson stellst du sicher, dass alle CPU- und GPU-Kerne eingeschaltet sind.
sudo nvpmodel -m 0 -
Jetson Clocks aktivieren
Durch die Aktivierung von Jetson Clocks stellst du sicher, dass alle CPU- und GPU-Kerne mit ihrer maximalen Frequenz getaktet werden.
sudo jetson_clocks -
Jetson Stats 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, maximale Taktfrequenzen festlegen und JetPack-Informationen prüfen.
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 dem Jetson Orin Nano (8 GB) oder dem Orin NX 8 GB. Die folgenden Tipps sind praktische, risikoarme Änderungen, die zusammen mehrere hundert Megabyte freigeben und dir die Ausführung größerer YOLO-Modelle oder zusätzlicher paralleler Arbeitslasten ermöglichen können. Eine umfassende Behandlung findest du im NVIDIA-Blog zur Maximierung der Speichereffizienz auf Jetson.
1. Auf einen Headless-Start (ohne GUI) umstellen#
Wenn dein Jetson über SSH verbunden ist oder als Produktionsgerät ohne angeschlossenes Display ausgeführt wird, kannst du durch das Entfernen der Desktop-Umgebung und des Display-Servers 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 verwendete Systemdienste deaktivieren#
Nicht unbedingt erforderliche Hintergrunddienste (Bluetooth, Verbindungsmanager, nicht verwendete Hardware-Daemons) belegen zusammen etwa 32 MB. Liste die aktiven Dienste auf 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#
Bevor du optimierst, ermittle, welche Prozesse tatsächlich RAM verbrauchen. procrank sortiert Prozesse nach PSS (anteilige Speichermenge), wodurch der tatsächliche Speicherbedarf pro Prozess genauer als bei RSS (residenter Speicherbereich, die Gesamtzahl der physischen RAM-Seiten, die von einem Prozess eingebunden werden, einschließlich der mit anderen Prozessen gemeinsam genutzten Seiten) dargestellt wird:
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrankSo kannst du GPU- und NvMap-Zuweisungen (CUDA-/Videopipeline) pro Prozess anzeigen:
sudo cat /sys/kernel/debug/nvmap/iovmm/clients4. Inferenz in der Produktion ohne Display ausführen#
Bei Inferenzpipelines ohne Anforderung einer Live-Vorschau können durch die Deaktivierung von Display-Komponenten (Tiler, OSD, DisplaySink) allein in der Pipeline 200+ MB eingespart werden. Unter Ultralytics YOLO kannst du die Anzeige unterdrücken und die Ergebnisse stattdessen auf dem Datenträger speichern:
from ultralytics import YOLO
model = YOLO("yolo26n.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 Auswirkung#
| Optimierung | Ungefähr eingesparter Speicher |
|---|---|
| Desktop-GUI deaktivieren | ~865 MB |
| Nicht verwendete Betriebssystemdienste deaktivieren | ~32 MB |
| Headless-Inferenzpipeline (ohne Display) | ~200+ MB |
| Gesamt (einfache Maßnahmen) | ~1 GB+ |
Die Kombination dieser Änderungen ist besonders wertvoll, wenn du TensorRT-INT8-Modelle auf Geräten mit begrenztem Speicher einsetzen möchtest – sie kann den Unterschied ausmachen, ob eine größere Modellvariante in den Speicher passt oder nicht.
Nächste Schritte#
Weitere Informationen und Support findest du in der Ultralytics YOLO26-Dokumentation.
FAQ#
Die Bereitstellung von Ultralytics YOLO26 auf NVIDIA-Jetson-Geräten ist unkompliziert. Flash zunächst dein Jetson-Gerät mit dem NVIDIA JetPack SDK. Verwende anschließend entweder ein vorgefertigtes Docker-Image für eine schnelle Einrichtung oder installiere die erforderlichen Pakete manuell. Detaillierte Schritte für beide Ansätze findest du in den Abschnitten Schnellstart mit Docker und Mit der nativen Installation beginnen.
YOLO26-Modelle wurden auf verschiedenen NVIDIA Jetson-Geräten gebenchmarkt und zeigen erhebliche Leistungsverbesserungen. Beispielsweise liefert das TensorRT-Format die beste Inferenzleistung. Die Tabelle im Abschnitt Detailed Comparison Tables bietet eine umfassende Übersicht der Leistungsmetriken wie mAP50-95 und Inferenzzeit über verschiedene Modellformate hinweg.
TensorRT wird für die Bereitstellung von YOLO26-Modellen auf NVIDIA Jetson aufgrund seiner optimalen Leistung dringend empfohlen. Es beschleunigt die Inferenz durch Nutzung der GPU-Funktionen des Jetson und gewährleistet dadurch maximale Effizienz und Geschwindigkeit. 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 kompatiblen PyTorch- und Torchvision-Versionen für die ARM64-Architektur des Jetson. Detaillierte Anweisungen für diesen Vorgang findest du im Abschnitt PyTorch und Torchvision installieren.
Um die Leistung von NVIDIA Jetson mit YOLO26 zu maximieren, befolge diese bewährten Vorgehensweisen:
- Aktiviere den MAX Power Mode, um alle CPU- und GPU-Kerne zu nutzen.
- Aktiviere Jetson Clocks, damit alle Kerne mit ihrer maximalen Frequenz ausgeführt werden.
- Installiere die Anwendung Jetson Stats, um Systemmetriken zu überwachen.
Befehle und weitere Informationen findest du im Abschnitt Bewährte Vorgehensweisen bei der Verwendung von NVIDIA Jetson.
Der verfügbare RAM ist auf Jetson-Geräten mit weniger Speicher oft der Engpass. Drei einfache Maßnahmen können zusammen über 1 GB freigeben:
- Auf einen Headless-Start umstellen (
sudo systemctl set-default multi-user.target), um die Desktop-GUI zu entfernen (~865 MB eingespart). - Nicht verwendete Dienste deaktivieren, etwa Bluetooth oder Verbindungsmanager (~32 MB eingespart).
- Inferenz ohne Display ausführen, indem du
show=Falsein deinem YOLO-Aufrufpredictsetzt, wodurch die Zuweisung von Speicher für die Displaypipeline vermieden wird (~200+ MB eingespart).
Verwende
procrank, um die RAM-Nutzung pro Prozess zu analysieren, undsudo cat /sys/kernel/debug/nvmap/iovmm/clients, um GPU-Zuweisungen zu untersuchen. Ausführliche Informationen findest du im Abschnitt Tipps zur Speicheroptimierung.- Auf einen Headless-Start umstellen (
TensorRT 10.3.0, das mit JetPack 6 ausgeliefert wurde, hat ein bekanntes Problem, das INT8-Engine-Builds verhindert, wenn
nms=Falseaktiviert ist. Wenn Ultralytics diese Kombination erkennt, wird automatisch der One-to-Many-Kopf ausgewählt, um sicherzustellen, dass der Export erfolgreich ist.Um NMS-freie 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 tensorrtFühre den Export nach der Aktualisierung erneut aus. Weitere Informationen findest du im GitHub-Issue #23841.