Guide de démarrage rapide : NVIDIA Jetson avec Ultralytics YOLO26#
Ce guide complet fournit une description détaillée pour déployer Ultralytics YOLO26 sur les appareils NVIDIA Jetson. De plus, il présente des benchmarks de performances pour démontrer les capacités de YOLO26 sur ces appareils petits et puissants.
Nous avons mis à jour ce guide avec le dernier NVIDIA Jetson AGX Thor Developer Kit qui offre jusqu'à 2070 TFLOPS FP4 de calcul IA et 128 Go de mémoire avec une consommation réglable entre 40 W et 130 W. Il offre plus de 7,5 fois plus de puissance de calcul IA que le NVIDIA Jetson AGX Orin, avec une efficacité énergétique 3,5 fois supérieure pour exécuter en toute transparence les modèles d'IA les plus populaires.
Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices

Ce guide a été testé avec le NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) et le NVIDIA Jetson AGX Orin Developer Kit (64GB) exécutant la dernière version stable de JetPack 7.2, le NVIDIA Jetson Orin Nano Super Developer Kit exécutant la version JetPack de JP6.1, le Seeed Studio reComputer J4012 basé sur le NVIDIA Jetson Orin NX 16GB exécutant la version JetPack de JP6.0 / la version JetPack de JP5.1.3 et le Seeed Studio reComputer J1020 v2 basé sur le NVIDIA Jetson Nano 4GB exécutant la version JetPack de JP4.6.1. Il est prévu qu'il fonctionne sur toute la gamme de matériel NVIDIA Jetson, y compris les appareils récents et d'ancienne génération.
Qu'est-ce que NVIDIA Jetson ?#
NVIDIA Jetson est une série de cartes de calcul embarquées conçues pour apporter le calcul d'IA (intelligence artificielle) accéléré aux appareils en périphérie (edge). Ces appareils compacts et puissants sont construits autour de l'architecture GPU de NVIDIA et peuvent exécuter des algorithmes d'IA complexes et des modèles de deep learning directement sur l'appareil, sans dépendre des ressources de cloud computing. Les cartes Jetson sont souvent utilisées dans la robotique, les véhicules autonomes, l'automatisation industrielle et d'autres applications où l'inférence d'IA doit être effectuée localement avec une faible latence et une haute efficacité. De plus, ces cartes reposent sur l'architecture ARM64 et fonctionnent à plus faible puissance par rapport aux appareils de calcul GPU traditionnels.
Comparaison de la série NVIDIA Jetson#
NVIDIA Jetson AGX Thor est la dernière itération de la famille NVIDIA Jetson basée sur l'architecture NVIDIA Blackwell, qui apporte des performances d'IA considérablement améliorées par rapport aux générations précédentes. Le tableau ci-dessous compare quelques-uns des appareils Jetson de l'écosystème.
| Jetson AGX Thor(T5000) | Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| Performance IA | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | GPU 2560-core architecture NVIDIA Blackwell avec 96 Tensor Cores | GPU 2048-core architecture NVIDIA Ampere avec 64 Tensor Cores | GPU 1024-core architecture NVIDIA Ampere avec 32 Tensor Cores | GPU 1024-core architecture NVIDIA Ampere avec 32 Tensor Cores | GPU 512-core architecture NVIDIA Volta avec 64 Tensor Cores | GPU 384-core architecture NVIDIA Volta™ avec 48 Tensor Cores | GPU 128-core architecture NVIDIA Maxwell™ |
| Fréquence max GPU | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | CPU 14-core Arm® Neoverse®-V3AE 64-bit 1 Mo L2 + 16 Mo L3 | CPU 12-core NVIDIA Arm® Cortex A78AE v8.2 64-bit 3 Mo L2 + 6 Mo L3 | CPU 8-core NVIDIA Arm® Cortex A78AE v8.2 64-bit 2 Mo L2 + 4 Mo L3 | CPU 6-core Arm® Cortex®-A78AE v8.2 64-bit 1.5 Mo L2 + 4 Mo L3 | CPU 8-core NVIDIA Carmel Arm®v8.2 64-bit 8 Mo L2 + 4 Mo L3 | CPU 6-core NVIDIA Carmel Arm®v8.2 64-bit 6 Mo L2 + 4 Mo L3 | Processeur Quad-Core Arm® Cortex®-A57 MPCore |
| Fréquence max CPU | 2.6 GHz | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
| Mémoire | 128 Go 256-bit LPDDR5X 273 Go/s | 64 Go 256-bit LPDDR5 204.8 Go/s | 16 Go 128-bit LPDDR5 102.4 Go/s | 8 Go 128-bit LPDDR5 102 Go/s | 32 Go 256-bit LPDDR4x 136.5 Go/s | 8 Go 128-bit LPDDR4x 59.7 Go/s | 4 Go 64-bit LPDDR4 25.6 Go/s |
Pour consulter un tableau comparatif plus détaillé, visite la section Compare Specifications de la page officielle NVIDIA Jetson.
Qu'est-ce que NVIDIA JetPack ?#
Le NVIDIA JetPack SDK qui alimente les modules Jetson est la solution la plus complète et fournit un environnement de développement complet pour créer des applications d'IA accélérées de bout en bout et raccourcir le délai de mise sur le marché. JetPack comprend Jetson Linux avec un chargeur de démarrage, le noyau Linux, l'environnement de bureau Ubuntu et un ensemble complet de bibliothèques pour l'accélération du calcul GPU, du multimédia, des graphismes et de la computer vision. Il comprend également des exemples, de la documentation et des outils de développement pour l'ordinateur hôte et le kit de développement, et prend en charge des SDK de niveau supérieur tels que DeepStream pour l'analyse vidéo en continu, Isaac pour la robotique et Riva pour l'IA conversationnelle.
Flasher JetPack sur NVIDIA Jetson#
La première étape après avoir obtenu ton appareil NVIDIA Jetson est de flasher NVIDIA JetPack sur l'appareil. Il existe plusieurs façons différentes de flasher les appareils NVIDIA Jetson.
- Pour JetPack 7.2 sur un kit de développement officiel Jetson AGX Thor, AGX Orin ou Orin Nano, télécharge l'ISO unifiée Jetson, écris-la sur une clé USB et suis le guide de démarrage rapide spécifique à l'appareil pour AGX Thor, AGX Orin ou Orin Nano. À partir de JetPack 7.2, l'Orin Nano n'utilise plus d'image de carte SD téléchargeable ; l'USB ISO installe Jetson Linux sur la carte microSD ou le SSD NVMe de l'appareil.
- Si tu utilises intentionnellement JetPack 6 sur un kit de développement Jetson Orin Nano, suis les instructions de mise à jour et de carte SD de JetPack 6.x de NVIDIA.
- Si tu possèdes un autre kit de développement NVIDIA, tu peux flasher JetPack sur l'appareil à l'aide de SDK Manager.
- Si tu possèdes un appareil Seeed Studio reComputer J4012, tu peux flasher JetPack sur le SSD inclus et si tu possèdes un appareil Seeed Studio reComputer J1020 v2, tu peux flasher JetPack sur l'eMMC/SSD.
- Si tu possèdes tout autre appareil tiers alimenté par le module NVIDIA Jetson, il est recommandé de suivre le flashage en ligne de commande.
Pour les méthodes 1, 4 et 5 ci-dessus, après avoir flashé le système et démarré l'appareil, saisis "sudo apt update && sudo apt install nvidia-jetpack -y" dans le terminal de l'appareil pour installer tous les composants JetPack restants nécessaires.
Support JetPack basé sur l'appareil Jetson#
Le tableau ci-dessous met en évidence les versions de NVIDIA JetPack prises en charge par les différents appareils NVIDIA Jetson.
| 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 | ❌ | ❌ | ❌ | ✅ |
Démarrage rapide avec Docker#
Le moyen le plus rapide de commencer avec Ultralytics YOLO26 sur NVIDIA Jetson est de l'exécuter avec des images docker pré-construites pour Jetson. Reporte-toi au tableau ci-dessus et choisis la version de JetPack en fonction de l'appareil Jetson que tu possèdes.
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tL'image publique latest-nvidia-arm64 ne prend actuellement en charge que le chemin JetPack 7.0 Thor/DGX Spark. Pour JetPack 7.2 sur Thor ou Orin, utilise l'installation native ci-dessous jusqu'à ce que l'image publique soit explicitement validée et mise à jour pour ces combinaisons.
Une fois cela fait, passe à la section Use TensorRT on NVIDIA Jetson.
Commencer avec une installation native#
Pour une installation native sans Docker, veuillez consulter les étapes ci-dessous.
Exécuter sur JetPack 7.2#
Installer le package Ultralytics#
Nous allons installer ici le package Ultralytics sur le Jetson avec les dépendances optionnelles afin de pouvoir exporter les modèles PyTorch vers d'autres formats. Nous nous concentrerons principalement sur les exportations NVIDIA TensorRT car TensorRT garantit l'obtention des performances maximales des appareils Jetson.
-
Mettre à jour la liste des packages, installer pip et mettre à niveau vers la dernière version
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Installer le package pip
ultralyticsavec les dépendances optionnellespip install ultralytics[export] -
Redémarrer l'appareil
sudo reboot
Installer PyTorch et Torchvision#
L'installation d'Ultralytics ci-dessus installera Torch et Torchvision. Cependant, ces 2 paquets installés via pip ne sont pas compatibles avec les appareils JetPack 7.2 utilisant CUDA 13. Par conséquent, nous devons les installer manuellement.
Installer torch et torchvision selon JP7.2
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130Installer onnxruntime-gpu#
Le package onnxruntime-gpu hébergé sur PyPI ne possède pas de binaires aarch64 pour le Jetson. Nous devons donc installer manuellement ce package. Ce package est nécessaire pour certaines exportations.
Nous allons ici télécharger et installer onnxruntime-gpu 1.24.0 avec la prise en charge de Python3.12.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whlExécuter sur JetPack 6.1#
Installer le package Ultralytics#
Nous allons installer ici le package Ultralytics sur le Jetson avec les dépendances optionnelles afin de pouvoir exporter les modèles PyTorch vers d'autres formats. Nous nous concentrerons principalement sur les exportations NVIDIA TensorRT car TensorRT garantit l'obtention des performances maximales des appareils Jetson.
-
Mettre à jour la liste des packages, installer pip et mettre à niveau vers la dernière version
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Installer le package pip
ultralyticsavec les dépendances optionnellespip install ultralytics[export] -
Redémarrer l'appareil
sudo reboot
Installer PyTorch et Torchvision#
L'installation d'ultralytics ci-dessus installera Torch et Torchvision. Cependant, ces deux paquets installés via pip ne sont pas compatibles avec la plateforme Jetson, qui est basée sur une architecture ARM64. Par conséquent, nous devons installer manuellement une roue pip PyTorch précompilée et compiler ou installer Torchvision à partir des sources.
Installer torch 2.10.0 et torchvision 0.25.0 selon 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.whlVisite la page PyTorch for Jetson pour accéder à toutes les différentes versions de PyTorch pour les diverses versions de JetPack. Pour une liste plus détaillée de la compatibilité entre PyTorch et Torchvision, visite la page de compatibilité PyTorch and Torchvision.
Installer cuDSS pour corriger un problème de dépendance avec torch 2.10.0
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 cudssInstaller onnxruntime-gpu#
Le package onnxruntime-gpu hébergé sur PyPI ne possède pas de binaires aarch64 pour le Jetson. Nous devons donc installer manuellement ce package. Ce package est nécessaire pour certaines exportations.
Tu peux trouver tous les packages onnxruntime-gpu disponibles — organisés par version de JetPack, version de Python et autres détails de compatibilité — dans la matrice de compatibilité ONNX Runtime pour Jetson Zoo.
Pour JetPack 6 avec la prise en charge de Python 3.10, tu peux installer onnxruntime-gpu 1.23.0 :
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.23.0-cp310-cp310-linux_aarch64.whlAlternativement, pour 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.whlExécuter sur JetPack 5.1.2#
Installer le package Ultralytics#
Nous allons installer ici le package Ultralytics sur le Jetson avec les dépendances optionnelles afin de pouvoir exporter les modèles PyTorch vers d'autres formats. Nous nous concentrerons principalement sur les exportations NVIDIA TensorRT car TensorRT garantit l'obtention des performances maximales des appareils Jetson.
-
Mettre à jour la liste des packages, installer pip et mettre à niveau vers la dernière version
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Installer le package pip
ultralyticsavec les dépendances optionnellespip install ultralytics[export] -
Redémarrer l'appareil
sudo reboot
Installer PyTorch et Torchvision#
L'installation d'ultralytics ci-dessus installera Torch et Torchvision. Cependant, ces deux paquets installés via pip ne sont pas compatibles avec la plateforme Jetson, qui est basée sur une architecture ARM64. Par conséquent, nous devons installer manuellement une roue pip PyTorch précompilée et compiler ou installer Torchvision à partir des sources.
-
Désinstalle PyTorch et Torchvision actuellement installés
pip uninstall torch torchvision -
Installer
torch 2.1.0ettorchvision 0.16.2selon 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
Visite la page PyTorch for Jetson pour accéder à toutes les différentes versions de PyTorch pour les diverses versions de JetPack. Pour une liste plus détaillée de la compatibilité entre PyTorch et Torchvision, visite la page de compatibilité PyTorch and Torchvision.
Installer onnxruntime-gpu#
Le package onnxruntime-gpu hébergé sur PyPI ne possède pas de binaires aarch64 pour le Jetson. Nous devons donc installer manuellement ce package. Ce package est nécessaire pour certaines exportations.
Tu peux trouver tous les packages onnxruntime-gpu disponibles — organisés par version de JetPack, version de Python et autres détails de compatibilité — dans la matrice de compatibilité ONNX Runtime pour Jetson Zoo. Nous allons ici télécharger et installer onnxruntime-gpu 1.17.0 avec la prise en charge de Python3.8.
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 rétablira automatiquement la version de NumPy à la plus récente. Nous devons donc réinstaller NumPy à la version 1.23.5 pour corriger un problème en exécutant :
pip install numpy==1.23.5
Utilise TensorRT sur NVIDIA Jetson#
Parmi tous les formats d'exportation de modèles pris en charge par Ultralytics, TensorRT offre les performances d'inférence les plus élevées sur les appareils NVIDIA Jetson, ce qui en fait notre recommandation principale pour les déploiements Jetson. Pour les instructions de configuration et l'utilisation avancée, consulte notre guide d'intégration TensorRT dédié.
Tu peux également effectuer l'exportation depuis le navigateur sans configurer localement l'environnement de build. Dans l'onglet d'exportation de modèles d'Ultralytics Platform, sélectionne TensorRT et la cible Jetson souhaitée. Les sélections Thor sont validées sur du matériel Thor physique. Les six sélections Orin génèrent actuellement des moteurs candidats construits pour AGX Orin ; valide-les sur le SKU Orin visé avant le déploiement.
TensorRT profile et optimise un moteur sur son GPU de construction. Fais correspondre l'architecture GPU de la cible et le runtime TensorRT/CUDA, et valide chaque moteur téléchargé sur l'appareil de déploiement. Les SKU Orin de même architecture ne constituent pas une garantie automatique de portabilité, et la calibration INT8 doit utiliser l'appareil cible pour obtenir les meilleurs résultats.
Convertir le modèle en TensorRT et exécuter l'inférence#
Le modèle YOLO26n au format PyTorch est converti en TensorRT pour exécuter l'inférence avec le modèle exporté.
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")Visite la page Export pour accéder aux arguments supplémentaires lors de l'exportation de modèles vers différents formats
Utilise le NVIDIA Deep Learning Accelerator (DLA)#
Le NVIDIA Deep Learning Accelerator (DLA) est un composant matériel spécialisé intégré dans les appareils NVIDIA Jetson qui optimise l'inférence de deep learning pour l'efficacité énergétique et les performances. En déchargeant les tâches du GPU (le libérant ainsi pour des processus plus intensifs), le DLA permet aux modèles de s'exécuter avec une consommation d'énergie réduite tout en maintenant un débit élevé, ce qui est idéal pour les systèmes embarqués et les applications d'IA en temps réel.
DLA n'est pas pris en charge dans TensorRT 11.0 et son retour est prévu dans une version ultérieure, donc l'exportation DLA nécessite TensorRT 10.x. Sur JetPack 6.x/7.x, effectue l'exportation avec une build de TensorRT 10.x pour utiliser DLA, ou utilise le GPU pour les moteurs TensorRT 11.0.
Les appareils Jetson suivants sont équipés de matériel DLA :
| Appareil Jetson | Cœurs DLA | Fréquence maximale DLA |
|---|---|---|
| Série Jetson AGX Orin | 2 | 1.6 GHz |
| Jetson Orin NX 16GB | 2 | 614 MHz |
| Jetson Orin NX 8GB | 1 | 614 MHz |
| Série Jetson AGX Xavier | 2 | 1.4 GHz |
| Série Jetson Xavier NX | 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")Lors de l'utilisation des exportations DLA, certaines couches peuvent ne pas être prises en charge pour s'exécuter sur le DLA et reviendront au GPU pour l'exécution. Ce repli peut introduire une latence supplémentaire et impacter la performance globale de l'inférence. Par conséquent, le DLA n'est pas principalement conçu pour réduire la latence de l'inférence par rapport à TensorRT s'exécutant entièrement sur le GPU. Au lieu de cela, son objectif principal est d'augmenter le débit et d'améliorer l'efficacité énergétique.
Benchmarks NVIDIA Jetson YOLO11/ YOLO26#
Les benchmarks de YOLO11/ YOLO26 ont été exécutés par l'équipe Ultralytics sur 11 formats de modèles différents mesurant la vitesse et la précision : PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Les benchmarks ont été exécutés sur le NVIDIA Jetson AGX Thor Developer Kit, le NVIDIA Jetson AGX Orin Developer Kit (64GB), le NVIDIA Jetson Orin Nano Super Developer Kit et le Seeed Studio reComputer J4012 alimenté par un appareil Jetson Orin NX 16GB en précision FP32 avec une taille d'image d'entrée par défaut de 640.
Graphiques de comparaison#
Même si toutes les exportations de modèles fonctionnent sur NVIDIA Jetson, nous n'avons inclus que PyTorch, TorchScript, TensorRT pour le graphique de comparaison ci-dessous car ils utilisent le GPU du Jetson et sont garantis de produire les meilleurs résultats. Toutes les autres exportations utilisent uniquement le CPU et la performance n'est pas aussi bonne que les trois précédentes. Tu peux trouver les benchmarks pour toutes les exportations dans la section après ce graphique.
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#
Tableaux de comparaison détaillés#
Le tableau ci-dessous représente les résultats des benchmarks pour cinq modèles différents (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) à travers 11 formats différents (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), nous donnant le statut, la taille, la métrique mAP50-95(B) et le temps d'inférence pour chaque combinaison.
NVIDIA Jetson AGX Thor Developer Kit#
| Format | Statut | Taille sur le disque (MB) | mAP50-95(B) | Temps d'inférence (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 |
Évalué avec Ultralytics 8.4.7
Le temps d'inférence n'inclut pas le pré/post-traitement.
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
| Format | Statut | Taille sur le disque (MB) | mAP50-95(B) | Temps d'inférence (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 |
Évalué avec Ultralytics 8.4.32
Le temps d'inférence n'inclut pas le pré/post-traitement.
NVIDIA Jetson Orin Nano Super Developer Kit#
| Format | Statut | Taille sur le disque (MB) | mAP50-95(B) | Temps d'inférence (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 |
Benchmarké avec Ultralytics 8.4.33
Le temps d'inférence n'inclut pas le pré/post-traitement.
NVIDIA Jetson Orin NX 16GB#
| Format | Statut | Taille sur le disque (MB) | mAP50-95(B) | Temps d'inférence (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 |
Benchmarké avec Ultralytics 8.4.33
Le temps d'inférence n'inclut pas le pré/post-traitement.
Explore d'autres initiatives de benchmarking par Seeed Studio s'exécutant sur différentes versions de matériel NVIDIA Jetson.
Reproduis nos résultats#
Pour reproduire les benchmarks Ultralytics ci-dessus sur tous les formats d'exportation, exécute ce code :
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)Note que les résultats des benchmarks peuvent varier en fonction de la configuration matérielle et logicielle exacte d'un système, ainsi que de la charge de travail actuelle du système au moment où les benchmarks sont exécutés. Pour obtenir les résultats les plus fiables, utilise un grand jeu de données d'images, par exemple data='coco.yaml' (5000 images de validation).
Meilleures pratiques lors de l'utilisation de NVIDIA Jetson#
Lorsque tu utilises NVIDIA Jetson, il y a quelques meilleures pratiques à suivre pour permettre une performance maximale sur le NVIDIA Jetson exécutant YOLO26.
-
Active le mode MAX Power
Activer le mode MAX Power sur le Jetson garantira que tous les cœurs CPU et GPU sont activés.
sudo nvpmodel -m 0 -
Active les horloges Jetson
Activer les horloges Jetson garantira que tous les cœurs CPU et GPU fonctionnent à leur fréquence maximale.
sudo jetson_clocks -
Installe l'application jetson stats
Nous pouvons utiliser l'application jetson stats pour surveiller les températures des composants du système et vérifier d'autres détails du système comme voir l'utilisation du CPU, GPU, RAM, changer les modes d'alimentation, régler sur les horloges max, vérifier les informations JetPack
sudo apt update sudo pip install jetson-stats sudo reboot jtop
Conseils d'optimisation de la mémoire pour NVIDIA Jetson#
La mémoire disponible est souvent le facteur limitant sur les appareils Jetson, en particulier sur les variantes à plus faible mémoire telles que le Jetson Orin Nano (8 Go) ou l'Orin NX 8 Go. Les astuces ci-dessous sont des modifications pratiques et à faible risque qui peuvent collectivement libérer plusieurs centaines de mégaoctets et te permettre d'exécuter des modèles YOLO plus grands ou de prendre en charge des charges de travail parallèles supplémentaires. Pour un traitement complet, consulte le blog NVIDIA sur l'optimisation de l'efficacité mémoire sur Jetson.
Passe au démarrage Headless (sans GUI)#
Si ton Jetson est connecté via SSH ou fonctionne comme un appareil de production sans écran attaché, éliminer l'environnement de bureau et le serveur d'affichage peut récupérer jusqu'à 865 MB de RAM :
sudo systemctl set-default multi-user.target
sudo rebootPour restaurer le bureau plus tard :
sudo systemctl set-default graphical.target
sudo rebootDésactive les services système inutilisés#
Les services d'arrière-plan non essentiels (Bluetooth, gestionnaires de connectivité, démons matériels inutilisés) consomment environ 32 MB au total. Liste les services actifs et désactive tout ce dont ton déploiement n'a pas besoin :
# List running services
systemctl list-units --type=service --state=running
# Disable a service
sudo systemctl disable SERVICE_NAMEProfile l'utilisation de la mémoire#
Avant d'optimiser, identifie quels processus consomment réellement de la RAM. procrank trie les processus par PSS (Proportional Set Size), ce qui reflète l'empreinte mémoire réelle par processus avec plus de précision que le RSS (Resident Set Size, le total des pages de RAM physique mappées par un processus, y compris les pages partagées avec d'autres processus) :
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrankPour voir les allocations GPU et NvMap (CUDA/pipeline vidéo) par processus :
sudo cat /sys/kernel/debug/nvmap/iovmm/clientsExécute l'inférence sans écran en production#
Pour les pipelines d'inférence qui n'ont pas besoin de prévisualisation en direct, désactiver les composants liés à l'affichage (Tiler, OSD, DisplaySink) peut économiser 200+ MB pour le pipeline seul. Avec Ultralytics YOLO, supprime la visionneuse et écris les résultats sur le disque à la place :
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)Impact cumulé#
| Optimisation | Mémoire approx. économisée |
|---|---|
| Désactiver le GUI du bureau | ~865 MB |
| Désactiver les services OS inutilisés | ~32 MB |
| Pipeline d'inférence headless (sans écran) | ~200+ MB |
| Total (victoires faciles) | ~1 GB+ |
Combiner ces changements est particulièrement précieux lorsque tu cibles des modèles TensorRT INT8 sur des appareils à mémoire limitée — cela peut faire la différence entre réussir à faire tenir une variante de modèle plus large en mémoire ou non.
Prochaines étapes#
Pour un apprentissage et un support supplémentaires, consulte la documentation Ultralytics YOLO26.
FAQ#
Les modèles YOLO11 ont été testés sur divers appareils NVIDIA Jetson, montrant des améliorations significatives des performances. Par exemple, le format TensorRT offre les meilleures performances d'inférence. Le tableau de la section Detailed Comparison Tables offre une vue d'ensemble complète des métriques de performance telles que le mAP50-95 et le temps d'inférence selon les différents formats de modèles.
TensorRT est fortement recommandé pour déployer des modèles YOLO26 sur NVIDIA Jetson en raison de ses performances optimales. Il accélère l'inférence en exploitant les capacités du GPU du Jetson, garantissant une efficacité et une vitesse maximales. Apprends-en plus sur la conversion vers TensorRT et l'exécution de l'inférence dans la section Use TensorRT on NVIDIA Jetson.
Pour installer PyTorch et Torchvision sur NVIDIA Jetson, commence par désinstaller toutes les versions existantes qui auraient pu être installées via pip. Ensuite, installe manuellement les versions compatibles de PyTorch et Torchvision pour l'architecture ARM64 du Jetson. Les instructions détaillées pour ce processus sont fournies dans la section Install PyTorch and Torchvision.
Pour maximiser les performances sur NVIDIA Jetson avec YOLO26, suis ces bonnes pratiques :
- Active le mode MAX Power pour utiliser tous les cœurs CPU et GPU.
- Active les Jetson Clocks pour faire fonctionner tous les cœurs à leur fréquence maximale.
- Installe l'application Jetson Stats pour surveiller les mesures du système.
Pour les commandes et des détails supplémentaires, réfère-toi à la section Best Practices when using NVIDIA Jetson.
La RAM disponible est souvent le goulot d'étranglement sur les appareils Jetson à faible mémoire. Trois astuces simples qui peuvent libérer ensemble plus de 1 Go :
- Passer au démarrage sans interface graphique (headless) (
sudo systemctl set-default multi-user.target) pour éliminer l'interface graphique du bureau (~865 Mo économisés). - Désactive les services inutilisés tels que le Bluetooth ou les gestionnaires de connectivité (~32 Mo économisés).
- Exécuter l'inférence sans affichage en configurant
show=Falsedans ton appel YOLOpredict, ce qui évite d'allouer de la mémoire pour le pipeline d'affichage (~200+ Mo économisés).
Utilise
procrankpour profiler l'utilisation de la RAM par processus etsudo cat /sys/kernel/debug/nvmap/iovmm/clientspour inspecter les allocations GPU. Consulte la section Memory Optimization Tips pour tous les détails.- Passer au démarrage sans interface graphique (headless) (
TensorRT 10.3.0 fourni avec JetPack 6 présente un problème connu qui empêche la construction de moteurs INT8 lorsque
end2end=Trueest activé. Lorsqu'Ultralytics détecte cette combinaison, il désactive automatiquement la branche end2end pour s'assurer que l'exportation réussit.Pour restaurer les exports INT8 end2end, mets à niveau TensorRT vers une version plus récente (par ex. 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 tensorrtAprès la mise à niveau, relance ton exportation. Pour plus de détails, consulte l'issue GitHub #23841.
Le déploiement d'Ultralytics YOLO26 sur les appareils NVIDIA Jetson est un processus simple. Tout d'abord, flashe ton appareil Jetson avec le NVIDIA JetPack SDK. Ensuite, utilise soit une image Docker pré-construite pour une configuration rapide, soit installe manuellement les packages requis. Les étapes détaillées pour chaque approche se trouvent dans les sections Quick Start with Docker et Start with Native Installation.