Kurzanleitung: NVIDIA Jetson mit Ultralytics YOLO26#
Diese umfassende Anleitung bietet eine detaillierte Schritt-für-Schritt-Anleitung für die Bereitstellung von Ultralytics YOLO26 auf NVIDIA Jetson-Geräten. Darüber hinaus werden Leistungs-Benchmarks vorgestellt, um die Funktionen von YOLO26 auf diesen kleinen und leistungsstarken Geräten zu demonstrieren.
Wir haben diesen Leitfaden mit dem neuesten NVIDIA Jetson AGX Thor Developer Kit aktualisiert, das bis zu 2070 FP4 TFLOPS KI-Rechenleistung und 128 GB Speicher bietet, wobei die Leistung zwischen 40 W und 130 W einstellbar ist. Es bietet eine über 7,5-mal höhere KI-Rechenleistung als der NVIDIA Jetson AGX Orin bei einer um das 3,5-mal besseren Energieeffizienz, um die beliebtesten KI-Modelle nahtlos auszuführen.
Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices

Diese Anleitung wurde mit dem NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000), dem NVIDIA Jetson AGX Orin Developer Kit (64GB) mit der neuesten stabilen JetPack 7.2, dem NVIDIA Jetson Orin Nano Super Developer Kit mit dem JetPack-Release von JP6.1, dem Seeed Studio reComputer J4012 basierend auf NVIDIA Jetson Orin NX 16GB mit dem JetPack-Release von JP6.0 / JetPack-Release von JP5.1.3 und dem Seeed Studio reComputer J1020 v2 basierend auf NVIDIA Jetson Nano 4GB mit dem JetPack-Release von JP4.6.1 getestet. Es wird erwartet, dass es auf der gesamten NVIDIA Jetson-Hardware-Produktreihe funktioniert, einschließlich neuester und älterer Geräte.
Was ist NVIDIA Jetson?#
NVIDIA Jetson ist eine Serie von eingebetteten Computerplatinen, die entwickelt wurden, um beschleunigte KI-Rechenleistung (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 und Deep-Learning-Modelle direkt auf dem Gerät ausführen, ohne auf Cloud-Computing-Ressourcen angewiesen zu sein. Jetson-Platinen werden häufig in der Robotik, bei autonomen Fahrzeugen, in der industriellen Automatisierung und in anderen Anwendungen eingesetzt, bei denen die KI-Inferenz lokal mit geringer Latenz und hoher Effizienz durchgeführt werden muss. Darüber hinaus basieren diese Platinen auf der ARM64-Architektur und arbeiten im Vergleich zu herkömmlichen GPU-Computing-Geräten mit geringerem Stromverbrauch.
Vergleich der NVIDIA Jetson-Serie#
NVIDIA Jetson AGX Thor ist die neueste Iteration der NVIDIA Jetson-Familie basierend auf der NVIDIA Blackwell-Architektur, die im Vergleich zu den vorherigen Generationen eine drastisch verbesserte KI-Leistung bietet. Die folgende Tabelle vergleicht einige der Jetson-Geräte im Ö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 | 2560-Kern NVIDIA Blackwell Architektur GPU mit 96 Tensor Cores | 2048-Kern NVIDIA Ampere Architektur GPU mit 64 Tensor Cores | 1024-Kern NVIDIA Ampere Architektur GPU mit 32 Tensor Cores | 1024-Kern NVIDIA Ampere Architektur GPU mit 32 Tensor Cores | 512-Kern NVIDIA Volta Architektur GPU mit 64 Tensor Cores | 384-Kern NVIDIA Volta™ Architektur GPU mit 48 Tensor Cores | 128-Kern NVIDIA Maxwell™ Architektur GPU |
| GPU Max-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 1MB L2 + 16MB L3 | 12-Kern NVIDIA Arm® Cortex A78AE v8.2 64-Bit CPU 3MB L2 + 6MB L3 | 8-Kern NVIDIA Arm® Cortex A78AE v8.2 64-Bit CPU 2MB L2 + 4MB L3 | 6-Kern Arm® Cortex®-A78AE v8.2 64-Bit CPU 1.5MB L2 + 4MB L3 | 8-Kern NVIDIA Carmel Arm®v8.2 64-Bit CPU 8MB L2 + 4MB L3 | 6-Kern NVIDIA Carmel Arm®v8.2 64-Bit CPU 6MB L2 + 4MB L3 | Quad-Core Arm® Cortex®-A57 MPCore Prozessor |
| CPU Max-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 detailliertere 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 antreibt, ist die umfassendste Lösung und bietet eine vollständige Entwicklungsumgebung für die Erstellung von durchgängig beschleunigten KI-Anwendungen und verkürzt die Time-to-Market. JetPack umfasst Jetson Linux mit Bootloader, Linux-Kernel, Ubuntu Desktop-Umgebung und einen vollständigen Satz von Bibliotheken zur Beschleunigung von GPU-Computing, Multimedia, Grafik und Computer Vision. Es enthält außerdem Beispiele, Dokumentationen und Entwicklertools sowohl für den Host-Computer als auch für das Developer Kit und unterstützt übergeordnete SDKs wie DeepStream für Streaming-Videoanalysen, Isaac für Robotik und Riva für konversatorische 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 Möglichkeiten, NVIDIA Jetson-Geräte zu flashen.
- Lade für JetPack 7.2 auf einem offiziellen Jetson AGX Thor-, AGX Orin- oder Orin Nano Developer Kit das einheitliche Jetson-ISO herunter, schreibe es auf ein USB-Flash-Laufwerk und folge der gerätespezifischen Schnellstartanleitung für AGX Thor, AGX Orin oder Orin Nano. Seit JetPack 7.2 verwendet der Orin Nano kein herunterladbares SD-Karten-Image mehr; die ISO-USB-Installation installiert Jetson Linux auf der microSD-Karte oder der NVMe-SSD des Geräts.
- Wenn du absichtlich JetPack 6 auf einem Jetson Orin Nano Developer Kit verwendest, befolge die Aktualisierungs- und SD-Kartenanweisungen für JetPack 6.x von NVIDIA.
- Wenn du ein anderes NVIDIA Development Kit besitzt, kannst du JetPack mit dem SDK Manager auf das Gerät flashen.
- Wenn du ein Seeed Studio reComputer J4012-Gerät besitzt, kannst du JetPack auf die mitgelieferte SSD flashen, und wenn du ein Seeed Studio reComputer J1020 v2-Gerät besitzt, kannst du JetPack auf den eMMC/die SSD flashen.
- Wenn du ein anderes Drittanbietergerät besitzt, das von dem NVIDIA Jetson-Modul angetrieben wird, wird empfohlen, dem Befehlszeilen-Flashen zu folgen.
Für die oben genannten Methoden 1, 4 und 5 gib bitte nach dem Flashen des Systems und dem Starten des Geräts "sudo apt update && sudo apt install nvidia-jetpack -y" im Geräteterminal ein, um alle benötigten verbleibenden JetPack-Komponenten zu installieren.
JetPack-Unterstützung basierend auf Jetson-Gerät#
Die folgende Tabelle hebt die NVIDIA JetPack-Versionen hervor, die von 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#
Der schnellste Weg, mit Ultralytics YOLO26 auf NVIDIA Jetson zu beginnen, ist die Nutzung vorgefertigter Docker-Images für Jetson. Siehe die obige Tabelle und wähle die JetPack-Version entsprechend dem Jetson-Gerät, das du besitzt.
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tDas öffentliche latest-nvidia-arm64-Image unterstützt derzeit nur den Pfad JetPack 7.0 Thor/DGX Spark. Verwende für JetPack 7.2 auf Thor oder Orin die unten stehende native Installation, bis das öffentliche Image explizit validiert und für diese Kombinationen aktualisiert wurde.
Springe danach zum Abschnitt Use TensorRT on NVIDIA Jetson.
Start mit nativer Installation#
Für eine native Installation ohne Docker befolge bitte die folgenden Schritte.
Ausführen auf JetPack 7.2#
Ultralytics-Paket installieren#
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 werden uns hauptsächlich auf NVIDIA TensorRT-Exporte konzentrieren, 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 -
Installiere das
ultralytics-pip-Paket mit optionalen Abhängigkeitenpip install ultralytics[export] -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Die oben genannte Ultralytics Installation installiert Torch und Torchvision. Diese beiden per pip installierten Pakete sind jedoch nicht mit Geräten kompatibel, die unter JetPack 7.2 mit CUDA 13 laufen. Daher müssen wir sie manuell installieren.
Installiere torch und torchvision entsprechend JP7.2
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130Installiere onnxruntime-gpu#
Das in PyPI gehostete onnxruntime-gpu-Paket enthält keine aarch64-Binärdateien für den 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 herunter und installieren es mit Python3.12-Unterstützung.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whlAusführen unter JetPack 6.1#
Ultralytics-Paket installieren#
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 werden uns hauptsächlich auf NVIDIA TensorRT-Exporte konzentrieren, 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 -
Installiere das
ultralytics-pip-Paket mit optionalen Abhängigkeitenpip install ultralytics[export] -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Die obige Ultralytics-Installation installiert Torch und Torchvision. Da diese beiden Pakete jedoch über pip installiert werden, sind sie nicht mit der Jetson-Plattform kompatibel, die auf der ARM64-Architektur basiert. Daher müssen wir manuell ein vorkompiliertes PyTorch-Pip-Wheel installieren und Torchvision aus dem Quellcode kompilieren oder installieren.
Installiere torch 2.10.0 und torchvision 0.25.0 entsprechend 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.whlBesuche die Seite PyTorch for Jetson, um auf alle verschiedenen PyTorch-Versionen für verschiedene JetPack-Versionen zuzugreifen. Eine detailliertere Liste zur Kompatibilität von PyTorch und Torchvision findest du auf der Seite zur Kompatibilität von 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 cudssInstalliere onnxruntime-gpu#
Das in PyPI gehostete onnxruntime-gpu-Paket enthält keine aarch64-Binärdateien für den Jetson. Daher müssen wir dieses Paket manuell installieren. Dieses Paket wird für einige der Exporte benötigt.
Alle verfügbaren onnxruntime-gpu-Pakete – organisiert nach JetPack-Version, Python-Version und anderen Kompatibilitätsdetails – findest du in der Kompatibilitätsmatrix für Jetson Zoo ONNX Runtime.
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.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.whlAusführen unter JetPack 5.1.2#
Ultralytics-Paket installieren#
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 werden uns hauptsächlich auf NVIDIA TensorRT-Exporte konzentrieren, 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 -
Installiere das
ultralytics-pip-Paket mit optionalen Abhängigkeitenpip install ultralytics[export] -
Gerät neu starten
sudo reboot
PyTorch und Torchvision installieren#
Die obige Ultralytics-Installation installiert Torch und Torchvision. Da diese beiden Pakete jedoch über pip installiert werden, sind sie nicht mit der Jetson-Plattform kompatibel, die auf der ARM64-Architektur basiert. Daher müssen wir manuell ein vorkompiliertes PyTorch-Pip-Wheel installieren und Torchvision aus dem Quellcode kompilieren oder installieren.
-
Deinstalliere das aktuell installierte PyTorch und Torchvision
pip uninstall torch torchvision -
Installiere
torch 2.1.0undtorchvision 0.16.2entsprechend JP5.1.2pip 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
Besuche die Seite PyTorch for Jetson, um auf alle verschiedenen PyTorch-Versionen für verschiedene JetPack-Versionen zuzugreifen. Eine detailliertere Liste zur Kompatibilität von PyTorch und Torchvision findest du auf der Seite zur Kompatibilität von PyTorch und Torchvision.
Installiere onnxruntime-gpu#
Das in PyPI gehostete onnxruntime-gpu-Paket enthält keine aarch64-Binärdateien für den Jetson. Daher müssen wir dieses Paket manuell installieren. Dieses Paket wird für einige der Exporte benötigt.
Alle verfügbaren onnxruntime-gpu-Pakete – organisiert nach JetPack-Version, Python-Version und anderen Kompatibilitätsdetails – findest du in der Kompatibilitätsmatrix für Jetson Zoo ONNX Runtime. Hier laden wir onnxruntime-gpu 1.17.0 herunter und installieren es mit Python3.8-Unterstützung.
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 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 nutzen#
Unter allen von Ultralytics unterstützten Modellexportformaten bietet TensorRT die höchste Inferenzleistung auf NVIDIA Jetson-Geräten, weshalb es unsere Top-Empfehlung für Jetson-Bereitstellungen ist. Installationsanweisungen und fortgeschrittene Nutzung findest du in unserem dedizierten TensorRT-Integrationsleitfaden.
Du kannst auch direkt vom Browser aus 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-Auswahlmöglichkeiten werden auf physischer Thor-Hardware validiert. Die sechs Orin-Auswahlmöglichkeiten erzeugen derzeit auf AGX-Orin erstellte Kandidaten-Engines; validiere sie vor der Bereitstellung auf der vorgesehenen Orin-SKU.
TensorRT erstellt und optimiert eine Engine auf der jeweiligen Build-GPU. Achte darauf, dass die GPU-Architektur des Zielgeräts und die TensorRT/CUDA-Laufzeitumgebung übereinstimmen, und validiere jede heruntergeladene Engine auf dem Zielgerät. Gleiche Orin-Architektur-SKUs sind keine automatische Garantie für Portabilität, und die INT8-Kalibrierung sollte für beste Ergebnisse auf dem Zielgerät selbst durchgeführt werden.
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")Besuche die Exportseite, um auf zusätzliche Argumente beim Exportieren von Modellen in verschiedene Modellformate zuzugreifen
NVIDIA Deep Learning Accelerator (DLA) nutzen#
Der NVIDIA Deep Learning Accelerator (DLA) ist eine in NVIDIA Jetson-Geräte integrierte Spezialhardwarekomponente, die die Deep-Learning-Inferenz im Hinblick auf Energieeffizienz und Leistung optimiert. Durch das Entlasten der GPU (wodurch diese für intensivere Prozesse frei wird) ermöglicht DLA die Ausführung von Modellen bei geringerem Stromverbrauch und gleichbleibend hohem Durchsatz, was ideal für eingebettete Systeme und KI-Echtzeitanwendungen ist.
DLA wird in TensorRT 11.0 nicht unterstützt, eine Rückkehr ist für ein späteres Release geplant. Daher erfordert der DLA-Export TensorRT 10.x. Exportiere auf JetPack 6.x/7.x mit einem TensorRT 10.x-Build, um DLA zu nutzen, oder verwende die GPU für TensorRT 11.0-Engines.
Die folgenden Jetson-Geräte sind mit DLA-Hardware ausgestattet:
| Jetson-Gerät | DLA-Kerne | DLA-Maximalfrequenz |
|---|---|---|
| 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 Schichten 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 zusätzliche Latenz verursachen und die gesamte Inferenzleistung beeinträchtigen. Daher ist DLA nicht primär darauf ausgelegt, die Inferenzlatenz im Vergleich zu TensorRT, das vollständig auf der GPU läuft, zu reduzieren. Sein Hauptzweck besteht stattdessen darin, den Durchsatz zu erhöhen und die Energieeffizienz zu verbessern.
NVIDIA Jetson YOLO11/ YOLO26 Benchmarks#
YOLO11-/YOLO26-Benchmarks wurden vom Ultralytics-Team an 11 verschiedenen Modellformaten zur Messung von Geschwindigkeit und Genauigkeit durchgeführt: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Die Benchmarks wurden auf dem NVIDIA Jetson AGX Thor Developer Kit, dem NVIDIA Jetson AGX Orin Developer Kit (64GB), dem NVIDIA Jetson Orin Nano Super Developer Kit und dem Seeed Studio reComputer J4012 (betrieben mit 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 für die untenstehende Vergleichstabelle nur PyTorch, TorchScript, TensorRT aufgenommen, da diese die GPU des 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 obigen drei. Du findest Benchmarks für alle Exporte im Abschnitt nach dieser Tabelle.
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#
Die folgende Tabelle stellt die Benchmark-Ergebnisse für fünf verschiedene Modelle (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) über 11 verschiedene Formate (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch) dar und zeigt Status, Größe, mAP50-95(B)-Metrik und Inferenzzeit für jede Kombination.
NVIDIA Jetson AGX Thor Developer Kit#
| Format | Status | Größe auf dem Datenträger (MB) | mAP50-95(B) | Inferenzzeit (ms/im) |
|---|---|---|---|---|
| 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 beinhaltet keine Vor-/Nachbearbeitung.
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
| Format | Status | Größe auf dem Datenträger (MB) | mAP50-95(B) | Inferenzzeit (ms/im) |
|---|---|---|---|---|
| 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 |
Benchmarked mit Ultralytics 8.4.32
Die Inferenzzeit beinhaltet keine Vor-/Nachbearbeitung.
NVIDIA Jetson Orin Nano Super Developer Kit#
| Format | Status | Größe auf dem Datenträger (MB) | mAP50-95(B) | Inferenzzeit (ms/im) |
|---|---|---|---|---|
| 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 beinhaltet keine Vor-/Nachbearbeitung.
NVIDIA Jetson Orin NX 16GB#
| Format | Status | Größe auf dem Datenträger (MB) | mAP50-95(B) | Inferenzzeit (ms/im) |
|---|---|---|---|---|
| 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 beinhaltet keine Vor-/Nachbearbeitung.
Entdecke weitere Benchmarking-Aktivitäten von Seeed Studio, die auf verschiedenen Versionen der NVIDIA Jetson-Hardware ausgeführt werden.
Unsere Ergebnisse reproduzieren#
Um die obigen Ultralytics-Benchmarks für alle Exportformate zu reproduzieren, führe diesen Code aus:
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 genauer Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Auslastung des Systems zum Zeitpunkt der Benchmark-Ausführung variieren können. Verwende für die zuverlässigsten Ergebnisse einen Datensatz mit einer großen Anzahl von Bildern, z. B. data='coco.yaml' (5000 Validierungsbilder).
Best Practices bei der Verwendung von NVIDIA Jetson#
Wenn du NVIDIA Jetson verwendest, gibt es ein paar Best Practices, die du befolgen solltest, um die maximale Leistung auf dem NVIDIA Jetson mit YOLO26 zu erzielen.
-
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 -
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 -
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. die CPU-, GPU- und RAM-Auslastung anzeigen, Leistungsmodi ändern, maximale Taktfrequenzen einstellen und JetPack-Informationen 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 häufig 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, risikoarme Änderungen, die gemeinsam mehrere Hundert Megabyte freigeben können, sodass 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 das Entfernen der Desktop-Umgebung und des Display-Servers bis zu 865 MB RAM einsparen:
sudo systemctl set-default multi-user.target
sudo rebootUm den Desktop später wiederherzustellen:
sudo systemctl set-default graphical.target
sudo rebootUngenutzte Systemdienste deaktivieren#
Nicht unbedingt erforderliche Hintergrunddienste (Bluetooth, Konnektivitätsmanager, ungenutzte Hardware-Daemons) verbrauchen zusammen etwa 32 MB. Liste die aktiven Dienste auf und deaktiviere alles, was für deinen Einsatzbereich nicht erforderlich ist:
# List running services
systemctl list-units --type=service --state=running
# Disable a service
sudo systemctl disable SERVICE_NAMESpeichernutzung analysieren#
Ermittle vor der Optimierung, welche Prozesse tatsächlich Arbeitsspeicher verbrauchen. procrank sortiert Prozesse nach PSS (Proportional Set Size), was den tatsächlichen Speicherbedarf pro Prozess genauer widerspiegelt als RSS (Resident Set Size, die Gesamtmenge der physischen RAM-Seiten, die von einem Prozess abgebildet werden, einschließlich der mit anderen Prozessen gemeinsam genutzten Seiten):
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrankUm GPU- und NvMap-Zuweisungen (CUDA/Video-Pipeline) pro Prozess zu sehen:
sudo cat /sys/kernel/debug/nvmap/iovmm/clientsInferenz in der Produktion ohne Display ausführen#
Bei Inferenz-Pipelines ohne Live-Vorschau-Anforderung können durch das Deaktivieren von anzeigebezogenen Komponenten (Tiler, OSD, DisplaySink) allein 200+ MB eingespart werden. Unterdrücke bei Ultralytics YOLO die Anzeige und schreibe die Ergebnisse stattdessen auf die Festplatte:
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 Auswirkung#
| Optimierung | Ca. 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 Docs.
FAQ#
Das Bereitstellen 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 erforderlichen Pakete manuell. Detaillierte Schritte für jeden Ansatz findest du in den Abschnitten Quick Start with Docker und Start with Native Installation.
YOLO11-Modelle wurden auf verschiedenen NVIDIA Jetson-Geräten gebenchmarkt, was erliche Leistungssteigerungen zeigt. Beispielsweise liefert das TensorRT-Format die beste Inferenzleistung. Die Tabelle im Abschnitt Detailed Comparison Tables bietet einen umfassenden Überblick über Leistungsmetriken wie mAP50-95 und die 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-Fähigkeiten des Jetson, wodurch maximale Effizienz und Geschwindigkeit sichergestellt werden. Erfahre mehr darüber, wie du zu TensorRT konvertierst und Inferenz im Abschnitt Use TensorRT on NVIDIA Jetson ausführst.
Um PyTorch und Torchvision auf NVIDIA Jetson zu installieren, deinstalliere zunächst 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 Install PyTorch and Torchvision.
Um die Leistung auf NVIDIA Jetson mit YOLO26 zu maximieren, befolge diese Best Practices:
- Aktiviere den MAX Power Mode, um alle CPU und GPU Kerne zu nutzen.
- Aktiviere Jetson Clocks, um alle Kerne mit ihrer maximalen Frequenz zu betreiben.
- Installiere die Jetson Stats Anwendung zur Überwachung der Systemmetriken.
Befehle und zusätzliche Details findest du im Abschnitt Best Practices when using NVIDIA Jetson.
Verfügbarer RAM ist oft der Engpass bei Jetson Geräten mit weniger Arbeitsspeicher. Drei einfache Maßnahmen, die zusammen über 1 GB freigeben können:
- Wechsle zum Headless-Boot (
sudo systemctl set-default multi-user.target), um die Desktop-GUI zu eliminieren (~865 MB eingespart). - Deaktiviere ungenutzte Dienste wie Bluetooth oder Verbindungsmanager (~32 MB gespart).
- Führe die Inferenz ohne Display aus, indem du
show=Falsein deinem YOLO-predict-Aufruf setzt, wodurch die Zuweisung von Speicher für die Display-Pipeline vermieden wird (~200+ MB eingespart).
Verwende
procrank, um die prozessbezogene RAM-Nutzung zu profilieren, undsudo cat /sys/kernel/debug/nvmap/iovmm/clients, um GPU-Zuweisungen zu inspizieren. Vollständige Details findest du im Abschnitt Memory Optimization Tips.- Wechsle zum Headless-Boot (
TensorRT 10.3.0, das mit JetPack 6 ausgeliefert wurde, hat ein bekanntes Problem, das INT8-Engine-Builds verhindert, wenn
end2end=Trueaktiviert 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 tensorrtFühre deinen Export nach dem Upgrade erneut aus. Weitere Details findest du unter GitHub issue #23841.