Passer au contenu

Guide de démarrage rapide : NVIDIA Jetson avec Ultralytics YOLO11

Ce guide complet fournit une procédure détaillée pour le déploiement d'Ultralytics YOLO11 sur les appareils NVIDIA Jetson. De plus, il présente des benchmarks de performance pour démontrer les capacités de YOLO11 sur ces appareils petits mais puissants.

Nouvelle prise en charge de produits

Nous avons mis à jour ce guide avec le dernier kit de développementNVIDIA Jetson AGX Thor qui fournit jusqu'à 2070 FP4 TFLOPS de calcul IA et 128 Go de mémoire avec une puissance configurable entre 40 W et 130 W. Il fournit plus de 7,5 fois plus de calcul IA que NVIDIA Jetson AGX Orin, avec 3,5 fois plus d'efficacité énergétique pour faire tourner en toute transparence les modèles IA les plus populaires.



Regarder : Comment utiliser Ultralytics YOLO11 sur les appareils NVIDIA JETSON

Écosystème NVIDIA Jetson

Remarque

Ce guide a été testé avec le kit de développementNVIDIA Jetson AGX Thor fonctionnant avec la dernière version stable de JetPack ( JP7.0), le kit de développementNVIDIA Jetson AGX Orin (64 Go) fonctionnant avec la version de JetPack JP6.2, le kit de développementNVIDIA Jetson Orin Nano Super fonctionnant avec la version de JetPack JP6.1, Seeed Studio reComputer J4012 qui est basé sur NVIDIA Jetson Orin NX 16GB fonctionnant avec la version JetPack JP6.0/ JetPack JP5.1.3 et Seeed Studio reComputer J1020 v2 qui est basé sur NVIDIA Jetson Nano 4GB fonctionnant avec la version JetPack JP4.6.1. Il devrait fonctionner sur toute la gamme de matériel NVIDIA Jetson, y compris les plus récents et les plus anciens.

Qu'est-ce que NVIDIA Jetson ?

NVIDIA Jetson est une série de cartes informatiques embarquées conçues pour apporter l'informatique accélérée de l'IA (intelligence artificielle) aux appareils périphériques. Ces appareils compacts et puissants sont construits autour de l'architecture GPU de NVIDIA et sont capables d'exécuter des algorithmes d'IA complexes et des modèles d'apprentissage profond directement sur l'appareil, sans avoir besoin de s'appuyer sur des ressources d'informatique en nuage. 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 de l'IA doit être effectuée localement avec une faible latence et une grande efficacité. De plus, ces cartes sont basées sur l'architecture ARM64 et fonctionnent avec une puissance inférieure à celle des appareils informatiques GPU traditionnels.

Comparaison des séries 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 améliore considérablement les performances de l'IA par rapport aux générations précédentes. Le tableau ci-dessous compare quelques appareils Jetson dans l'écosystème.

Jetson AGX ThorJetson AGX Orin 64 GoJetson Orin NX 16 GoJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
Performance de l'IA2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPUGPU NVIDIA Blackwell à 2560 cœurs avec 96 cœurs de TensorGPU NVIDIA architecture Ampere à 2048 cœurs avec 64 Tensor CoresGPU NVIDIA Ampere à architecture 1024 cœurs avec 32 Tensor CoresGPU NVIDIA Ampere à architecture 1024 cœurs avec 32 Tensor CoresGPU NVIDIA Volta architecture à 512 cœurs avec 64 cœurs TensorGPU NVIDIA architecture Volta™ à 384 cœurs avec 48 Tensor CoresGPU NVIDIA Maxwell™ à architecture 128 cœurs
Fréquence maximale du GPU1,57 GHz1,3 GHz918 MHz1020 MHz1377 MHz1100 MHz921 MHz
CPUCPU 64 bits Arm® Neoverse®-V3AE à 14 cœurs 1 Mo L2 + 16 Mo L3CPU 12 cœurs NVIDIA Arm® Cortex A78AE v8.2 64 bits 3 Mo L2 + 6 Mo L3CPU NVIDIA Arm® Cortex A78AE v8.2 64 bits à 8 cœurs, 2 Mo de L2 + 4 Mo de L3CPU Arm® Cortex®-A78AE v8.2 64 bits à 6 cœurs, 1,5 Mo de L2 + 4 Mo de L3CPU NVIDIA Carmel Arm®v8.2 64 bits à 8 cœurs, 8 Mo de L2 + 4 Mo de L3CPU NVIDIA Carmel Arm®v8.2 64 bits à 6 cœurs, 6 Mo de L2 + 4 Mo de L3Processeur Quad-Core Arm® Cortex®-A57 MPCore
Fréquence CPU maximale2,6 GHz2,2 GHz2,0 GHz1,7 GHz2,2 GHz1,9 GHz1,43 GHz
Mémoire128GB 256-bit LPDDR5X 273GB/s64 Go LPDDR5 256 bits 204,8 Go/s16 Go LPDDR5 128 bits 102,4 Go/s8 Go LPDDR5 128 bits 102 Go/s32 Go LPDDR4x 256 bits 136,5 Go/s8 Go LPDDR4x 128 bits 59,7 Go/s4GB 64-bit LPDDR4 25.6GB/s

Pour un tableau comparatif plus détaillé, veuillez consulter la section Comparer les spécifications de la page officielle de la 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 la création d'applications d'IA accélérées de bout en bout et réduit les délais de commercialisation. JetPack comprend Jetson Linux avec bootloader, 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 graphiques et de la vision par ordinateur. 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 les SDK de niveau supérieur tels que DeepStream pour l'analyse de flux vidéo, Isaac pour la robotique et Riva pour l'IA conversationnelle.

Flasher JetPack sur NVIDIA Jetson

La première étape après avoir mis la main sur un appareil NVIDIA Jetson est de flasher NVIDIA JetPack sur l'appareil. Il existe plusieurs façons de flasher les appareils NVIDIA Jetson.

  1. Si vous possédez un kit de développement NVIDIA officiel tel que le kit de développement Jetson AGX Thor, vous pouvez télécharger une image et préparer une clé USB amorçable pour flasher JetPack sur le SSD inclus.
  2. Si vous possédez un kit de développement NVIDIA officiel tel que le kit de développement Jetson Orin Nano, vous pouvez télécharger une image et préparer une carte SD avec JetPack pour démarrer l'appareil.
  3. Si vous possédez un autre kit de développement NVIDIA, vous pouvez flasher JetPack sur l'appareil à l'aide de SDK Manager.
  4. Si vous possédez un appareil Seeed Studio reComputer J4012, vous pouvez flasher JetPack sur le SSD inclus et si vous possédez un appareil Seeed Studio reComputer J1020 v2, vous pouvez flasher JetPack sur l'eMMC/SSD.
  5. Si vous possédez un autre appareil tiers alimenté par le module NVIDIA Jetson, il est recommandé de suivre le flashage en ligne de commande.

Remarque

Pour les méthodes 1, 4 et 5 ci-dessus, après avoir flashé le système et démarré l'appareil, veuillez saisir "sudo apt update && sudo apt install nvidia-y" sur le terminal de l'appareil pour installer tous les composants JetPack restants nécessaires.

Prise en charge de JetPack basée sur le périphérique Jetson

Le tableau ci-dessous met en évidence les versions de NVIDIA JetPack prises en charge par différents appareils NVIDIA Jetson.

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

Démarrage rapide avec Docker

Le moyen le plus rapide de démarrer avec Ultralytics YOLO11 sur NVIDIA Jetson est d'utiliser des images Docker pré-construites pour Jetson. Reportez-vous au tableau ci-dessus et choisissez la version de JetPack en fonction de l'appareil Jetson que vous possédez.

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

Bientôt disponible ! Restez à l'écoute !

Une fois cela fait, passez à la section Utiliser TensorRT sur NVIDIA Jetson.

Commencer avec l'installation native

Pour une installation native sans Docker, veuillez vous référer aux étapes ci-dessous.

Exécuter sur JetPack 7.0

Installer le paquet Ultralytics

Ici, nous allons installer le package Ultralytics sur le Jetson avec les dépendances optionnelles afin de pouvoir exporter les modèles PyTorch vers d'autres formats différents. Nous nous concentrerons principalement sur les exportations NVIDIA TensorRT car TensorRT nous permettra d'obtenir les performances maximales des appareils Jetson.

  1. Mettre à jour la liste des paquets, installer pip et mettre à niveau vers la dernière version

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. Installer ultralytics Paquet pip avec des dépendances optionnelles

    pip install ultralytics[export]
    
  3. Redémarrez 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 pour fonctionner sur la Jetson AGX Thor qui est livrée avec JetPack 7.0 et CUDA 13. Par conséquent, nous devons les installer manuellement.

Installer torch et torchvision selon JP7.0

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

Installer onnxruntime-gpu

L'argument onnxruntime-gpu package hébergé dans PyPI n'a pas aarch64 binaires pour le Jetson. Nous devons donc installer ce paquet manuellement. Ce paquet est nécessaire pour certaines des exportations.

Nous allons télécharger et installer onnxruntime-gpu 1.24.0 avec Python3.12 support.

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

Exécuter sur JetPack 6.1

Installer le paquet Ultralytics

Ici, nous allons installer le package Ultralytics sur le Jetson avec les dépendances optionnelles afin de pouvoir exporter les modèles PyTorch vers d'autres formats différents. Nous nous concentrerons principalement sur les exportations NVIDIA TensorRT car TensorRT nous permettra d'obtenir les performances maximales des appareils Jetson.

  1. Mettre à jour la liste des paquets, installer pip et mettre à niveau vers la dernière version

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. Installer ultralytics Paquet pip avec des dépendances optionnelles

    pip install ultralytics[export]
    
  3. Redémarrez 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 l'architecture ARM64. Par conséquent, nous devons installer manuellement une roue PyTorch pip préconstruite et compiler ou installer Torchvision à partir des sources.

Installer torch 2.5.0 et torchvision 0.20 conformément à 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

Remarque

Consultez la page PyTorch pour Jetson pour accéder à toutes les différentes versions de PyTorch pour différentes versions de JetPack. Pour une liste plus détaillée sur la compatibilité de PyTorch, Torchvision, consultez la page de compatibilité PyTorch et Torchvision.

Installer cuSPARSELt pour corriger un problème de dépendance avec 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

Installer onnxruntime-gpu

L'argument onnxruntime-gpu package hébergé dans PyPI n'a pas aarch64 binaires pour le Jetson. Nous devons donc installer ce paquet manuellement. Ce paquet est nécessaire pour certaines des exportations.

Vous pouvez trouver tous les onnxruntime-gpu packages, organisés par version de JetPack, version de Python et autres détails de compatibilité, dans le Matrice de compatibilité Jetson Zoo ONNX Runtime. Ici, nous allons télécharger et installer onnxruntime-gpu 1.20.0 avec Python3.10 support.

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

Remarque

onnxruntime-gpu restaurera automatiquement la version numpy à la dernière version. Nous devons donc réinstaller numpy pour 1.23.5 pour résoudre un problème en exécutant :

pip install numpy==1.23.5

Exécuter sur JetPack 5.1.2

Installer le paquet Ultralytics

Ici, nous allons installer le package Ultralytics sur le Jetson avec les dépendances optionnelles afin de pouvoir exporter les modèles PyTorch vers d'autres formats différents. Nous nous concentrerons principalement sur les exportations NVIDIA TensorRT car TensorRT nous permettra d'obtenir les performances maximales des appareils Jetson.

  1. Mettre à jour la liste des paquets, installer pip et mettre à niveau vers la dernière version

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. Installer ultralytics Paquet pip avec des dépendances optionnelles

    pip install ultralytics[export]
    
  3. Redémarrez 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 l'architecture ARM64. Par conséquent, nous devons installer manuellement une roue PyTorch pip préconstruite et compiler ou installer Torchvision à partir des sources.

  1. Désinstaller PyTorch et Torchvision actuellement installés

    pip uninstall torch torchvision
    
  2. Installer torch 2.2.0 et torchvision 0.17.2 conformément à 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
    

Remarque

Consultez la page PyTorch pour Jetson pour accéder à toutes les différentes versions de PyTorch pour différentes versions de JetPack. Pour une liste plus détaillée sur la compatibilité de PyTorch, Torchvision, consultez la page de compatibilité PyTorch et Torchvision.

Installer onnxruntime-gpu

L'argument onnxruntime-gpu package hébergé dans PyPI n'a pas aarch64 binaires pour le Jetson. Nous devons donc installer ce paquet manuellement. Ce paquet est nécessaire pour certaines des exportations.

Vous pouvez trouver tous les onnxruntime-gpu packages, organisés par version de JetPack, version de Python et autres détails de compatibilité, dans le Matrice de compatibilité Jetson Zoo ONNX Runtime. Ici, nous allons télécharger et installer onnxruntime-gpu 1.17.0 avec Python3.8 support.

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

Remarque

onnxruntime-gpu restaurera automatiquement la version numpy à la dernière version. Nous devons donc réinstaller numpy pour 1.23.5 pour résoudre un problème en exécutant :

pip install numpy==1.23.5

Utiliser TensorRT sur NVIDIA Jetson

Parmi tous les formats d’exportation de modèles pris en charge par Ultralytics, TensorRT offre les meilleures performances d’inférence sur les appareils NVIDIA Jetson, ce qui en fait notre principale recommandation pour les déploiements Jetson. Pour obtenir des instructions de configuration et une utilisation avancée, consultez notre guide d’intégration TensorRT dédié.

Convertir le modèle en TensorRT et exécuter l'inférence

Le modèle YOLO11n au format PyTorch est converti en TensorRT pour exécuter l'inférence avec le modèle exporté.

Exemple

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'

Remarque

Consultez la page d’exportation pour accéder à des arguments supplémentaires lors de l’exportation de modèles vers différents formats de modèles.

Utiliser NVIDIA Deep Learning Accelerator (DLA)

NVIDIA Deep Learning Accelerator (DLA) est un composant matériel spécialisé intégré aux appareils NVIDIA Jetson qui optimise l'inférence du deep learning pour l'efficacité énergétique et la performance. En déchargeant les tâches du GPU (le libérant pour des processus plus intensifs), DLA permet aux modèles de fonctionner avec une consommation d'énergie plus faible tout en maintenant un débit élevé, idéal pour les systèmes embarqués et les applications d'IA en temps réel.

Les appareils Jetson suivants sont équipés du matériel DLA :

Périphérique JetsonCœurs DLAFréquence maximale DLA
Série Jetson AGX Orin21.6 GHz
Jetson Orin NX 16 Go2614 MHz
Jetson Orin NX 8GB1614 MHz
Série Jetson AGX Xavier21.4 GHz
Série Jetson Xavier NX21.1 GHz

Exemple

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'

Remarque

Lors de l'utilisation des exportations DLA, certaines couches peuvent ne pas être prises en charge pour s'exécuter sur DLA et reviendront au GPU pour l'exécution. Ce repli peut introduire une latence supplémentaire et avoir un impact sur les performances globales de l'inférence. Par conséquent, DLA n'est pas principalement conçu pour réduire la latence d'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

Les benchmarks YOLO11 ont été réalisés par l'équipe d'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 les kits de développement NVIDIA Jetson AGX Thor, NVIDIA Jetson AGX Orin (64 Go), NVIDIA Jetson Orin Nano Super Developer Kit et Seeed Studio reComputer J4012 équipé d'un périphérique Jetson Orin NX de 16 Go à la précision FP32 avec une taille d'image d'entrée par défaut de 640.

Tableaux comparatifs

Même si toutes les exportations de modèles fonctionnent avec NVIDIA Jetson, nous n'avons inclus que PyTorch, TorchScript, TensorRT pour le tableau comparatif ci-dessous, car ils utilisent le GPU sur le Jetson et sont garantis pour produire les meilleurs résultats. Toutes les autres exportations utilisent uniquement le CPU et les performances ne sont pas aussi bonnes que les trois ci-dessus. Vous pouvez trouver des benchmarks pour toutes les exportations dans la section après ce tableau.

Kit de développement NVIDIA Jetson AGX Thor

Jetson AGX Thor Benchmarks
Comparaison avec Ultralytics 8.3.226

Kit de développement NVIDIA Jetson AGX Orin (64 Go)

Bancs d’essai Jetson AGX Orin
Étalonné avec Ultralytics 8.3.157

Kit de super développement NVIDIA Jetson Orin Nano

Benchmarks Jetson Orin Nano Super
Étalonné avec Ultralytics 8.3.157

NVIDIA Jetson Orin NX 16GB

Benchmarks Jetson Orin NX 16 Go
Étalonné avec Ultralytics 8.3.157

Tableaux comparatifs détaillés

Le tableau ci-dessous représente les résultats du benchmark pour cinq modèles différents (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) dans 11 formats différentsPyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), nous donnant l'état, la taille, la métrique mAP50-95(B), et le temps d'inférence pour chaque combinaison.

Kit de développement NVIDIA Jetson AGX Thor

Performance

FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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

Comparaison avec Ultralytics 8.3.226

Remarque

Le temps d'inférence n'inclut pas le prétraitement ni le post-traitement.

Kit de développement NVIDIA Jetson AGX Orin (64 Go)

Performance

FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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

Étalonné avec Ultralytics 8.3.157

Remarque

Le temps d'inférence n'inclut pas le prétraitement ni le post-traitement.

Kit de super développement NVIDIA Jetson Orin Nano

Performance

FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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

Étalonné avec Ultralytics 8.3.157

Remarque

Le temps d'inférence n'inclut pas le prétraitement ni le post-traitement.

NVIDIA Jetson Orin NX 16GB

Performance

FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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
FormatStatutTaille sur le disque (Mo)mAP50-95(B)Temps d'inférence (ms/im)
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

Étalonné avec Ultralytics 8.3.157

Remarque

Le temps d'inférence n'inclut pas le prétraitement ni le post-traitement.

Explorez d'autres efforts de benchmarking de Seeed Studio s'exécutant sur différentes versions du matériel NVIDIA Jetson.

Reproduire nos résultats

Pour reproduire les benchmarks Ultralytics ci-dessus sur tous les formats d’exportation, exécutez ce code :

Exemple

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

Notez 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, utilisez un ensemble de données contenant un grand nombre d'images, c'est-à-dire data='coco.yaml' (5000 images de validation).

Meilleures pratiques lors de l'utilisation de NVIDIA Jetson

Lors de l'utilisation de NVIDIA Jetson, il existe quelques bonnes pratiques à suivre afin d'activer des performances maximales sur le NVIDIA Jetson exécutant YOLO11.

  1. Activer le mode de puissance MAX

    L'activation du mode de puissance MAX sur le Jetson permettra de s'assurer que tous les cœurs du CPU et du GPU sont activés.

    sudo nvpmodel -m 0
    
  2. Activer les horloges Jetson

    L'activation des horloges Jetson garantira que tous les cœurs CPU et GPU sont cadencés à leur fréquence maximale.

    sudo jetson_clocks
    
  3. Installer 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 tels que l'utilisation du CPU, du GPU, de la RAM, modifier les modes d'alimentation, régler les horloges au maximum, vérifier les informations de JetPack.

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

Jetson Stats

Prochaines étapes

Félicitations pour avoir configuré YOLO11 avec succès sur votre NVIDIA Jetson ! Pour plus d’informations et d’assistance, consultez d’autres guides sur Ultralytics YOLO11 Docs !

FAQ

Comment déployer Ultralytics YOLO11 sur les appareils NVIDIA Jetson ?

Le déploiement d'Ultralytics YOLO11 sur les appareils NVIDIA Jetson est un processus simple. Tout d'abord, flashez votre appareil Jetson avec le SDK NVIDIA JetPack. Ensuite, utilisez une image Docker pré-construite pour une configuration rapide ou installez manuellement les packages requis. Vous trouverez des instructions détaillées pour chaque approche dans les sections Démarrage rapide avec Docker et Démarrer avec l'installation native.

Quels benchmarks de performance puis-je attendre des modèles YOLO11 sur les appareils NVIDIA Jetson ?

Les modèles YOLO11 ont été évalués sur divers appareils NVIDIA Jetson, montrant des améliorations significatives en termes de performances. Par exemple, le format TensorRT offre les meilleures performances d'inférence. Le tableau de la section Tableaux de comparaison détaillés offre une vue complète des mesures de performance telles que mAP50-95 et le temps d'inférence pour différents formats de modèles.

Pourquoi devrais-je utiliser TensorRT pour déployer YOLO11 sur NVIDIA Jetson ?

TensorRT est fortement recommandé pour le déploiement de modèles YOLO11 sur NVIDIA Jetson en raison de ses performances optimales. Il accélère l'inférence en tirant parti des capacités GPU du Jetson, garantissant une efficacité et une vitesse maximales. Pour en savoir plus sur la conversion vers TensorRT et l'exécution de l'inférence, consultez la section Utiliser TensorRT sur NVIDIA Jetson.

Comment puis-je installer PyTorch et Torchvision sur NVIDIA Jetson ?

Pour installer PyTorch et Torchvision sur NVIDIA Jetson, désinstallez d'abord toutes les versions existantes qui ont pu être installées via pip. Ensuite, installez manuellement les versions compatibles de PyTorch et Torchvision pour l'architecture ARM64 de Jetson. Des instructions détaillées pour ce processus sont fournies dans la section Installer PyTorch et Torchvision.

Quelles sont les meilleures pratiques pour maximiser les performances sur NVIDIA Jetson lors de l'utilisation de YOLO11 ?

Pour maximiser les performances sur NVIDIA Jetson avec YOLO11, suivez ces bonnes pratiques :

  1. Activez le mode de puissance MAX pour utiliser tous les cœurs CPU et GPU.
  2. Activez les horloges Jetson pour exécuter tous les cœurs à leur fréquence maximale.
  3. Installer l'application Jetson Stats pour surveiller les métriques du système.

Pour les commandes et les détails supplémentaires, consultez la section Meilleures pratiques lors de l'utilisation de NVIDIA Jetson.



📅C réé il y a 1 an ✏️ Mis à jour il y a 4 jours
glenn-jocherlakshanthadRizwanMunawarBurhan-QpicsalexY-T-GLaughing-qjustincdavisMatthewNoyceUltralyticsAssistantAhelsamahy

Commentaires