Zum Inhalt springen

Schnellstartanleitung: NVIDIA Jetson mit Ultralytics YOLO11

Diese umfassende Anleitung bietet eine detaillierte exemplarische Vorgehensweise für die Bereitstellung von Ultralytics YOLO11 auf NVIDIA Jetson-Geräten. Darüber hinaus werden Leistungs-Benchmarks gezeigt, um die Fähigkeiten von YOLO11 auf diesen kleinen und leistungsstarken Geräten zu demonstrieren.

Neue Produktunterstützung

Wir haben diesen Leitfaden mit dem neuesten NVIDIA Jetson AGX Thor Developer Kit aktualisiert, das bis zu 2070 FP4 TFLOPS an KI-Rechenleistung und 128 GB Speicher bei einem konfigurierbaren Stromverbrauch zwischen 40 W und 130 W liefert. Es bietet eine 7,5-mal höhere KI-Rechenleistung als der NVIDIA Jetson AGX Orin und eine 3,5-mal bessere Energieeffizienz, um die beliebtesten KI-Modelle nahtlos auszuführen.



Ansehen: Wie man Ultralytics YOLO11 auf NVIDIA JETSON Geräten verwendet

NVIDIA Jetson Ökosystem

Hinweis

Diese Anleitung wurde mit dem NVIDIA Jetson AGX Thor Developer Kit mit der neuesten stabilen JetPack-Version von JP7.0, dem NVIDIA Jetson AGX Orin Developer Kit (64GB) mit der JetPack-Version von JP6.2, dem NVIDIA Jetson Orin Nano Super Developer Kit mit der JetPack-Version von JP6.1, Seeed Studio reComputer J4012, basierend auf NVIDIA Jetson Orin NX 16GB mit JetPack Version JP6.0/ JetPack Version JP5.1.3 und Seeed Studio reComputer J1020 v2, basierend auf NVIDIA Jetson Nano 4GB mit JetPack Version JP4.6.1. Es wird erwartet, dass es mit der gesamten NVIDIA Jetson-Hardware-Produktpalette funktioniert, einschließlich der neuesten und älteren Modelle.

Was ist NVIDIA Jetson?

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

NVIDIA Jetson Serienvergleich

NVIDIA Jetson AGX Thor ist die neueste Iteration der NVIDIA Jetson-Familie, die auf der NVIDIA Blackwell Architektur basiert und 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 ThorJetson AGX Orin 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
KI-Leistung2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPUNVIDIA Blackwell GPU mit 2560 Kernen und 96 Tensor2048-Kern NVIDIA Ampere Architektur GPU mit 64 Tensor Cores1024-Kern NVIDIA Ampere Architektur GPU mit 32 Tensor Cores1024-Kern NVIDIA Ampere Architektur GPU mit 32 Tensor Cores512-Kern NVIDIA Volta Architektur GPU mit 64 Tensor-Kernen384-Kern NVIDIA Volta™ Architektur GPU mit 48 Tensor-Kernen128-Kern NVIDIA Maxwell™ Architektur GPU
Maximale GPU-Frequenz1,57 GHz1,3 GHz918 MHz1020 MHz1377 MHz1100 MHz921 MHz
CPU14-Kern Arm® Neoverse®-V3AE CPU 1MB L2 + 16MB L312-Kern NVIDIA Arm® Cortex A78AE v8.2 64-Bit CPU 3MB L2 + 6MB L38-Kern NVIDIA Arm® Cortex A78AE v8.2 64-Bit CPU 2MB L2 + 4MB L36-Kern Arm® Cortex®-A78AE v8.2 64-bit CPU 1.5MB L2 + 4MB L38-Kern NVIDIA Carmel Arm®v8.2 64-Bit CPU 8MB L2 + 4MB L36-Kern NVIDIA Carmel Arm®v8.2 64-bit CPU 6MB L2 + 4MB L3Quad-Core Arm® Cortex®-A57 MPCore Prozessor
Maximale CPU-Frequenz2,6 GHz2,2 GHz2,0 GHz1,7 GHz2,2 GHz1,9 GHz1,43 GHz
Arbeitsspeicher128GB 256-bit LPDDR5X 273GB/s64 GB 256-Bit LPDDR5 204,8 GB/s16GB 128-bit LPDDR5 102.4GB/s8 GB 128-Bit LPDDR5 102 GB/s32GB 256-bit LPDDR4x 136.5GB/s8 GB 128-Bit LPDDR4x 59,7 GB/s4GB 64-bit LPDDR4 25,6GB/s

Eine detailliertere Vergleichstabelle finden Sie im Abschnitt Spezifikationen vergleichen auf der offiziellen NVIDIA Jetson Seite.

Was ist NVIDIA JetPack?

Das NVIDIA JetPack SDK, das die Jetson-Module antreibt, ist die umfassendste Lösung und bietet eine vollständige Entwicklungsumgebung für die Erstellung durchgängig beschleunigter KI-Anwendungen und verkürzt die Markteinführungszeit. JetPack umfasst Jetson Linux mit Bootloader, Linux-Kernel, Ubuntu-Desktop-Umgebung und eine vollständige Reihe von Bibliotheken zur Beschleunigung von GPU-Computing, Multimedia, Grafik und Computer Vision. Es enthält auch Beispiele, Dokumentation und Entwicklertools für Host-Computer und Developer-Kit und unterstützt SDKs höherer Ebene wie DeepStream für Streaming-Videoanalysen, Isaac für Robotik und Riva für konversationelle KI.

Flash JetPack auf NVIDIA Jetson

Der erste Schritt, nachdem Sie ein NVIDIA Jetson-Gerät in die Hände bekommen haben, ist das Flashen von NVIDIA JetPack auf das Gerät. Es gibt verschiedene Möglichkeiten, NVIDIA Jetson-Geräte zu flashen.

  1. Wenn Sie ein offizielles NVIDIA Development Kit wie das Jetson AGX Thor Developer Kit besitzen, können Sie ein Image herunterladen und einen bootfähigen USB-Stick vorbereiten, um JetPack auf die mitgelieferte SSD zu übertragen.
  2. Wenn Sie ein offizielles NVIDIA Development Kit besitzen, wie z. B. das Jetson Orin Nano Developer Kit, können Sie ein Image herunterladen und eine SD-Karte mit JetPack vorbereiten, um das Gerät zu booten.
  3. Wenn Sie ein anderes NVIDIA Development Kit besitzen, können Sie JetPack mit dem SDK Manager auf das Gerät flashen.
  4. Wenn Sie ein Seeed Studio reComputer J4012-Gerät besitzen, können Sie JetPack auf die mitgelieferte SSD flashen, und wenn Sie ein Seeed Studio reComputer J1020 v2-Gerät besitzen, können Sie JetPack auf die eMMC/SSD flashen.
  5. Wenn Sie ein anderes Gerät eines Drittanbieters besitzen, das von einem NVIDIA Jetson-Modul angetrieben wird, wird empfohlen, Command-Line Flashing zu verwenden.

Hinweis

Für die oben genannten Methoden 1, 4 und 5 geben Sie nach dem Flashen des Systems und dem Booten des Geräts bitte "sudo apt update && sudo apt install nvidia-y" auf dem Geräteterminal ein, um alle übrigen benötigten JetPack-Komponenten zu installieren.

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

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

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

Schnellstart mit Docker

Der schnellste Weg, um mit Ultralytics YOLO11 auf NVIDIA Jetson zu beginnen, ist die Ausführung mit vorgefertigten Docker-Images für Jetson. Beachten Sie die obige Tabelle und wählen Sie die JetPack-Version entsprechend Ihrem Jetson-Gerät aus.

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

Demnächst! Bleiben Sie dran!

Danach fahren Sie mit dem Abschnitt Verwendung von TensorRT auf NVIDIA Jetson fort.

Starten Sie mit der nativen Installation

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

Laufen auf JetPack 7.0

Ultralytics-Paket installieren

Hier installieren wir das Ultralytics-Paket auf dem Jetson mit optionalen Abhängigkeiten, damit wir die PyTorch-Modelle in andere 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.

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

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

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

    sudo reboot
    

PyTorch und Torchvision installieren

Die obige ultralytics wird Torch und Torchvision installieren. Diese beiden über pip installierten Pakete sind jedoch nicht kompatibel mit dem Jetson AGX Thor, der mit JetPack 7.0 und CUDA 13 ausgestattet ist. Daher müssen wir sie manuell installieren.

Installieren torch und torchvision gemäß JP7.0

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

Installieren onnxruntime-gpu

Die onnxruntime-gpu In PyPI gehostetes Paket hat 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 werden wir herunterladen und installieren onnxruntime-gpu 1.24.0 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.whl

Ausführung auf 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 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.

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

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

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

    sudo reboot
    

PyTorch und Torchvision installieren

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

Installieren torch 2.5.0 und torchvision 0.20 gemäß JP6.1

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.5.0a0+872d972e41.nv24.08-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl

Hinweis

Besuchen Sie die PyTorch für Jetson-Seite, um auf alle verschiedenen Versionen von PyTorch für verschiedene JetPack-Versionen zuzugreifen. Eine detailliertere Liste zur PyTorch-, Torchvision-Kompatibilität finden Sie auf der PyTorch- und Torchvision-Kompatibilitätsseite.

Installieren cuSPARSELt um ein Abhängigkeitsproblem zu beheben mit torch 2.5.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 -y install libcusparselt0 libcusparselt-dev

Installieren onnxruntime-gpu

Die onnxruntime-gpu In PyPI gehostetes Paket hat 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.

Sie können alle verfügbaren finden onnxruntime-gpu packages – organisiert nach JetPack-Version, Python-Version und anderen Kompatibilitätsdetails – im Jetson Zoo ONNX Runtime KompatibilitätsmatrixHier werden wir herunterladen und installieren onnxruntime-gpu 1.20.0 mit Python3.10 Unterstützung.

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

Hinweis

onnxruntime-gpu wird die Numpy-Version automatisch auf die neueste Version zurücksetzen. Daher müssen wir Numpy neu installieren, um 1.23.5 um ein Problem durch Ausführen von folgendem Befehl zu beheben:

pip install numpy==1.23.5

Ausführung auf 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 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.

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

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

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

    sudo reboot
    

PyTorch und Torchvision installieren

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

  1. Deinstallieren Sie die aktuell installierten Versionen von PyTorch und Torchvision

    pip uninstall torch torchvision
    
  2. Installieren torch 2.2.0 und torchvision 0.17.2 gemäß JP5.1.2

    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.2.0-cp38-cp38-linux_aarch64.whl
    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.17.2+c1d70fe-cp38-cp38-linux_aarch64.whl
    

Hinweis

Besuchen Sie die PyTorch für Jetson-Seite, um auf alle verschiedenen Versionen von PyTorch für verschiedene JetPack-Versionen zuzugreifen. Eine detailliertere Liste zur PyTorch-, Torchvision-Kompatibilität finden Sie auf der PyTorch- und Torchvision-Kompatibilitätsseite.

Installieren onnxruntime-gpu

Die onnxruntime-gpu In PyPI gehostetes Paket hat 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.

Sie können alle verfügbaren finden onnxruntime-gpu packages – organisiert nach JetPack-Version, Python-Version und anderen Kompatibilitätsdetails – im Jetson Zoo ONNX Runtime KompatibilitätsmatrixHier werden wir herunterladen und installieren onnxruntime-gpu 1.17.0 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.whl

Hinweis

onnxruntime-gpu wird die Numpy-Version automatisch auf die neueste Version zurücksetzen. Daher müssen wir Numpy neu installieren, um 1.23.5 um ein Problem durch Ausführen von folgendem Befehl zu beheben:

pip install numpy==1.23.5

Verwenden Sie TensorRT auf NVIDIA Jetson

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-Bereitstellungen macht. Anweisungen zur Einrichtung und fortgeschrittene Nutzung finden Sie in unserem dedizierten TensorRT-Integrationsleitfaden.

Modell in TensorRT konvertieren und Inferenz ausführen

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

Beispiel

from ultralytics import YOLO

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

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

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

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

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

Hinweis

Besuchen Sie die Export-Seite, um auf zusätzliche Argumente beim Exportieren von Modellen in verschiedene Modellformate zuzugreifen.

Verwenden Sie NVIDIA Deep Learning Accelerator (DLA)

NVIDIA Deep Learning Accelerator (DLA) ist eine spezialisierte Hardwarekomponente, die in NVIDIA Jetson-Geräte integriert ist und die Deep-Learning-Inferenz für Energieeffizienz und Leistung optimiert. Durch die Auslagerung von Aufgaben von der GPU (wodurch diese für intensivere Prozesse freigesetzt wird) ermöglicht DLA die Ausführung von Modellen mit geringerem Stromverbrauch bei gleichzeitiger Aufrechterhaltung eines hohen Durchsatzes, ideal für eingebettete Systeme und KI-Anwendungen in Echtzeit.

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

Jetson GerätDLA-KerneMaximale DLA-Frequenz
Jetson AGX Orin Serie21,6 GHz
Jetson Orin NX 16GB2614 MHz
Jetson Orin NX 8GB1614 MHz
Jetson AGX Xavier Serie21,4 GHz
Jetson Xavier NX Serie21.1 GHz

Beispiel

from ultralytics import YOLO

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

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

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

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format with DLA enabled (only works with FP16 or INT8)
# Once DLA core number is specified at export, it will use the same core at inference
yolo export model=yolo11n.pt format=engine device="dla:0" half=True # dla:0 or dla:1 corresponds to the DLA cores

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

Hinweis

Bei Verwendung von DLA-Exporten werden einige Layer möglicherweise nicht für die Ausführung auf DLA unterstützt und greifen zur Ausführung auf die GPU zurück. Dieser Fallback kann zusätzliche Latenz verursachen und die Gesamtleistung der Inferenz beeinträchtigen. Daher ist DLA nicht primär darauf ausgelegt, die Inferenzlatenz im Vergleich zu TensorRT, das vollständig auf der GPU ausgeführt wird, zu reduzieren. Stattdessen ist der Hauptzweck die Erhöhung des Durchsatzes und die Verbesserung der Energieeffizienz.

NVIDIA Jetson YOLO11 Benchmarks

Die YOLO11 wurden vom Ultralytics mit 11 verschiedenen Modellformaten durchgeführt, um Geschwindigkeit und Genauigkeit zu messen: 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, der von einem Jetson Orin NX 16GB Gerät angetrieben wird, mit FP32 Präzision und einer Standard-Eingabebildgröße von 640 durchgeführt.

Vergleichsdiagramme

Obwohl alle Modellexporte mit NVIDIA Jetson funktionieren, haben wir nur PyTorch, TorchScript, TensorRT in die Vergleichstabelle unten aufgenommen, da diese die GPU auf dem Jetson nutzen und garantiert die besten Ergebnisse liefern. Alle anderen Exporte nutzen nur die CPU, und die Leistung ist nicht so gut wie bei den oben genannten drei. Benchmarks für alle Exporte finden Sie im Abschnitt nach dieser Tabelle.

NVIDIA Jetson AGX Thor Entwickler-Kit

Jetson AGX Thor Benchmarks
Benchmarking mit Ultralytics 8.3.226

NVIDIA Jetson AGX Orin Developer Kit (64GB)

Jetson AGX Orin Benchmarks
Benchmarked mit Ultralytics 8.3.157

NVIDIA Jetson Orin Nano Super Developer Kit

Jetson Orin Nano Super Benchmarks
Benchmarked mit Ultralytics 8.3.157

NVIDIA Jetson Orin NX 16GB

Jetson Orin NX 16GB Benchmarks
Benchmarked mit Ultralytics 8.3.157

Detaillierte Vergleichstabellen

Die folgende Tabelle zeigt die Benchmark-Ergebnisse für fünf verschiedene Modelle (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) in 11 verschiedenen FormatenPyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch) und gibt den Status, die Größe, die mAP50-95(B) Metrik und die Inferenzzeit für jede Kombination an.

NVIDIA Jetson AGX Thor Entwickler-Kit

Performance

FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch5.40.50704.1
TorchScript10.50.50833.61
ONNX10.20.50764.8
OpenVINO10.40.505816.48
TensorRT (FP32)12.60.50771.70
TensorRT (FP16)7.70.50751.20
TensorRT (INT8)6.20.48581.29
TF SavedModel25.70.507640.35
TF GraphDef10.30.507640.55
TF Lite10.30.5075206.74
MNN10.10.507523.47
NCNN10.20.504122.05
ExecuTorch10.20.507534.28
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch18.40.57706.10
TorchScript36.60.57835.33
ONNX36.30.57837.01
OpenVINO36.40.580933.08
TensorRT (FP32)40.10.57842.57
TensorRT (FP16)20.80.57961.55
TensorRT (INT8)12.70.55141.50
TF SavedModel90.80.578280.55
TF GraphDef36.30.578280.82
TF Lite36.30.5782615.29
MNN36.20.579054.12
NCNN36.30.580640.76
ExecuTorch36.20.578267.21
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch38.80.625011.4
TorchScript77.30.630410.16
ONNX76.90.630412.35
OpenVINO77.10.628477.81
TensorRT (FP32)80.70.63055.29
TensorRT (FP16)41.30.62942.42
TensorRT (INT8)23.70.61332.20
TF SavedModel192.40.6306184.66
TF GraphDef76.90.6306187.91
TF Lite76.90.63061845.09
MNN76.80.6298143.52
NCNN76.90.630895.86
ExecuTorch76.90.6306167.94
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch49.00.637014.0
TorchScript97.60.640913.77
ONNX97.00.641016.37
OpenVINO97.30.637798.86
TensorRT (FP32)101.00.63966.71
TensorRT (FP16)51.50.63583.26
TensorRT (INT8)29.70.61903.21
TF SavedModel242.70.6409246.93
TF GraphDef97.00.6409251.84
TF Lite97.00.64092383.45
MNN96.90.6361176.53
NCNN97.00.6373118.05
ExecuTorch97.00.6409211.46
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch109.30.699021.70
TorchScript218.10.690020.99
ONNX217.50.690024.07
OpenVINO217.80.6872187.33
TensorRT (FP32)220.00.690211.70
TensorRT (FP16)114.60.68815.10
TensorRT (INT8)59.90.68574.53
TF SavedModel543.90.6900489.91
TF GraphDef217.50.6900503.21
TF Lite217.50.69005164.31
MNN217.30.6905350.37
NCNN217.50.6901230.63
ExecuTorch217.40.6900419.9

Benchmarking mit Ultralytics 8.3.226

Hinweis

Die Inferenzzeit beinhaltet keine Vor- und Nachbearbeitung.

NVIDIA Jetson AGX Orin Developer Kit (64GB)

Performance

FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch5.40.51019.40
TorchScript10.50.508311.00
ONNX10.20.507748.32
OpenVINO10.40.505827.24
TensorRT (FP32)12.10.50853.93
TensorRT (FP16)8.30.50632.55
TensorRT (INT8)5.40.47192.18
TF SavedModel25.90.507766.87
TF GraphDef10.30.507765.68
TF Lite10.30.5077272.92
MNN10.10.505936.33
NCNN10.20.503128.51
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch18.40.578312.10
TorchScript36.50.578211.01
ONNX36.30.5782107.54
OpenVINO36.40.581055.03
TensorRT (FP32)38.10.57816.52
TensorRT (FP16)21.40.58033.65
TensorRT (INT8)12.10.57352.81
TF SavedModel91.00.5782132.73
TF GraphDef36.40.5782134.96
TF Lite36.30.5782798.21
MNN36.20.577782.35
NCNN36.20.578456.07
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch38.80.626522.20
TorchScript77.30.630721.47
ONNX76.90.6307270.89
OpenVINO77.10.6284129.10
TensorRT (FP32)78.80.630612.53
TensorRT (FP16)41.90.63056.25
TensorRT (INT8)23.20.62914.69
TF SavedModel192.70.6307299.95
TF GraphDef77.10.6307310.58
TF Lite77.00.63072400.54
MNN76.80.6308213.56
NCNN76.80.6284141.18
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch49.00.636427.70
TorchScript97.60.639927.94
ONNX97.00.6409345.47
OpenVINO97.30.6378161.93
TensorRT (FP32)99.10.640616.11
TensorRT (FP16)52.60.63768.08
TensorRT (INT8)30.80.62086.12
TF SavedModel243.10.6409390.78
TF GraphDef97.20.6409398.76
TF Lite97.10.64093037.05
MNN96.90.6372265.46
NCNN96.90.6364179.68
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch109.30.700544.40
TorchScript218.10.689847.49
ONNX217.50.6900682.98
OpenVINO217.80.6876298.15
TensorRT (FP32)219.60.690428.50
TensorRT (FP16)112.20.688713.55
TensorRT (INT8)60.00.65749.40
TF SavedModel544.30.6900749.85
TF GraphDef217.70.6900753.86
TF Lite217.60.69006603.27
MNN217.30.6868519.77
NCNN217.30.6849298.58

Benchmarked mit Ultralytics 8.3.157

Hinweis

Die Inferenzzeit beinhaltet keine Vor- und Nachbearbeitung.

NVIDIA Jetson Orin Nano Super Developer Kit

Performance

FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch5.40.510113.70
TorchScript10.50.508213.69
ONNX10.20.508114.47
OpenVINO10.40.505856.66
TensorRT (FP32)12.00.50817.44
TensorRT (FP16)8.20.50614.53
TensorRT (INT8)5.40.48253.70
TF SavedModel25.90.5077116.23
TF GraphDef10.30.5077114.92
TF Lite10.30.5077340.75
MNN10.10.505976.26
NCNN10.20.503145.03
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch18.40.579020.90
TorchScript36.50.578121.22
ONNX36.30.578125.07
OpenVINO36.40.5810122.98
TensorRT (FP32)37.90.578313.02
TensorRT (FP16)21.80.57796.93
TensorRT (INT8)12.20.57355.08
TF SavedModel91.00.5782250.65
TF GraphDef36.40.5782252.69
TF Lite36.30.5782998.68
MNN36.20.5781188.01
NCNN36.20.5784101.37
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch38.80.626646.50
TorchScript77.30.630747.95
ONNX76.90.630753.06
OpenVINO77.10.6284301.63
TensorRT (FP32)78.80.630527.86
TensorRT (FP16)41.70.630913.50
TensorRT (INT8)23.20.62919.12
TF SavedModel192.70.6307622.24
TF GraphDef77.10.6307628.74
TF Lite77.00.63072997.93
MNN76.80.6299509.96
NCNN76.80.6284292.99
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch49.00.636456.50
TorchScript97.60.640962.51
ONNX97.00.639968.35
OpenVINO97.30.6378376.03
TensorRT (FP32)99.20.639635.59
TensorRT (FP16)52.10.636117.48
TensorRT (INT8)30.90.620711.87
TF SavedModel243.10.6409807.47
TF GraphDef97.20.6409822.88
TF Lite97.10.64093792.23
MNN96.90.6372631.16
NCNN96.90.6364350.46
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch109.30.700590.00
TorchScript218.10.6901113.40
ONNX217.50.6901122.94
OpenVINO217.80.6876713.1
TensorRT (FP32)219.50.690466.93
TensorRT (FP16)112.20.689232.58
TensorRT (INT8)61.50.661219.90
TF SavedModel544.30.69001605.4
TF GraphDef217.80.69002961.8
TF Lite217.60.69008234.86
MNN217.30.68931254.18
NCNN217.30.6849725.50

Benchmarked mit Ultralytics 8.3.157

Hinweis

Die Inferenzzeit beinhaltet keine Vor- und Nachbearbeitung.

NVIDIA Jetson Orin NX 16GB

Performance

FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch5.40.510112.90
TorchScript10.50.508213.17
ONNX10.20.508115.43
OpenVINO10.40.505839.80
TensorRT (FP32)11.80.50817.94
TensorRT (FP16)8.10.50854.73
TensorRT (INT8)5.40.47863.90
TF SavedModel25.90.507788.48
TF GraphDef10.30.507786.67
TF Lite10.30.5077302.55
MNN10.10.505952.73
NCNN10.20.503132.04
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch18.40.579021.70
TorchScript36.50.578122.71
ONNX36.30.578126.49
OpenVINO36.40.581084.73
TensorRT (FP32)37.80.578313.77
TensorRT (FP16)21.20.57967.31
TensorRT (INT8)12.00.57355.33
TF SavedModel91.00.5782185.06
TF GraphDef36.40.5782186.45
TF Lite36.30.5782882.58
MNN36.20.5775126.36
NCNN36.20.578466.73
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch38.80.626645.00
TorchScript77.30.630751.87
ONNX76.90.630756.00
OpenVINO77.10.6284202.69
TensorRT (FP32)78.70.630530.38
TensorRT (FP16)41.80.630214.48
TensorRT (INT8)23.20.62919.74
TF SavedModel192.70.6307445.58
TF GraphDef77.10.6307460.94
TF Lite77.00.63072653.65
MNN76.80.6308339.38
NCNN76.80.6284187.64
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch49.00.636456.60
TorchScript97.60.640966.72
ONNX97.00.639971.92
OpenVINO97.30.6378254.17
TensorRT (FP32)99.20.640638.89
TensorRT (FP16)51.90.636318.59
TensorRT (INT8)30.90.620712.60
TF SavedModel243.10.6409575.98
TF GraphDef97.20.6409583.79
TF Lite97.10.64093353.41
MNN96.90.6367421.33
NCNN96.90.6364228.26
FormatStatusGröße auf der Festplatte (MB)mAP50-95(B)Inferenzzeit (ms/Bild)
PyTorch109.30.700598.50
TorchScript218.10.6901123.03
ONNX217.50.6901129.55
OpenVINO217.80.6876483.44
TensorRT (FP32)219.60.690475.92
TensorRT (FP16)112.10.688535.78
TensorRT (INT8)61.60.659221.60
TF SavedModel544.30.69001120.43
TF GraphDef217.70.69001172.35
TF Lite217.60.69007283.63
MNN217.30.6877840.16
NCNN217.30.6849474.41

Benchmarked mit Ultralytics 8.3.157

Hinweis

Die Inferenzzeit beinhaltet keine Vor- und Nachbearbeitung.

Entdecken Sie weitere Benchmarking-Bemühungen von Seeed Studio, die auf verschiedenen Versionen der NVIDIA Jetson-Hardware laufen.

Unsere Ergebnisse reproduzieren

Um die oben genannten Ultralytics-Benchmarks auf allen Export-Formaten zu reproduzieren, führen Sie diesen Code aus:

Beispiel

from ultralytics import YOLO

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

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

Beachten Sie, dass die Ergebnisse der Benchmarks je nach der genauen Hardware- und Softwarekonfiguration eines Systems sowie der aktuellen Auslastung des Systems zum Zeitpunkt der Ausführung der Benchmarks variieren können. Für die zuverlässigsten Ergebnisse verwenden Sie einen Datensatz mit einer großen Anzahl von Bildern, d. h. data='coco.yaml' (5000 Validierungsbilder).

Best Practices bei der Verwendung von NVIDIA Jetson

Bei Verwendung von NVIDIA Jetson gibt es einige Best Practices, die Sie befolgen sollten, um die maximale Leistung auf dem NVIDIA Jetson mit YOLO11 zu erzielen.

  1. MAX Power Mode aktivieren

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

    sudo nvpmodel -m 0
    
  2. Jetson Clocks aktivieren

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

    sudo jetson_clocks
    
  3. Jetson Stats-Anwendung installieren

    Wir können die Jetson Stats-Anwendung verwenden, um die Temperaturen der Systemkomponenten zu überwachen und andere Systemdetails wie CPU-, GPU- und RAM-Auslastung anzuzeigen, Leistungsmodi zu ändern, maximale Taktraten einzustellen und JetPack-Informationen zu überprüfen.

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

Jetson Stats

Nächste Schritte

Herzlichen Glückwunsch zur erfolgreichen Einrichtung von YOLO11 auf Ihrem NVIDIA Jetson! Weitere Informationen und Unterstützung finden Sie im weiteren Leitfaden unter Ultralytics YOLO11 Docs!

FAQ

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

Die Bereitstellung von Ultralytics YOLO11 auf NVIDIA Jetson-Geräten ist ein unkomplizierter Prozess. Flashen Sie zunächst Ihr Jetson-Gerät mit dem NVIDIA JetPack SDK. Verwenden Sie dann entweder ein vorgefertigtes Docker-Image für eine schnelle Einrichtung oder installieren Sie die erforderlichen Pakete manuell. Detaillierte Schritte für jeden Ansatz finden Sie in den Abschnitten Schnellstart mit Docker und Start mit nativer Installation.

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

YOLO11 Modelle wurden auf verschiedenen NVIDIA Jetson Geräten getestet und zeigen deutliche Leistungsverbesserungen. 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 über verschiedene Modellformate hinweg.

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

TensorRT wird aufgrund seiner optimalen Leistung dringend für die Bereitstellung von YOLO11-Modellen auf NVIDIA Jetson empfohlen. Es beschleunigt die Inferenz, indem es die GPU-Funktionen des Jetson nutzt und so maximale Effizienz und Geschwindigkeit gewährleistet. Erfahren Sie mehr über die Konvertierung zu TensorRT und die Ausführung von Inferenz im Abschnitt TensorRT auf NVIDIA Jetson verwenden.

Wie kann ich PyTorch und Torchvision auf NVIDIA Jetson installieren?

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

Welche Best Practices gibt es, um die Leistung auf NVIDIA Jetson bei der Verwendung von YOLO11 zu maximieren?

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

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

Befehle und weitere Details finden Sie im Abschnitt Bewährte Verfahren bei der Verwendung von NVIDIA Jetson.



📅 Erstellt vor 1 Jahr ✏️ Aktualisiert vor 4 Tagen
glenn-jocherlakshanthadRizwanMunawarBurhan-QpicsalexY-T-GLaughing-qjustincdavisMatthewNoyceUltralyticsAssistantAhelsamahy

Kommentare