Guida rapida: NVIDIA Jetson con Ultralytics YOLO11
Questa guida completa fornisce una guida dettagliata per l'implementazione di Ultralytics YOLO11 sui dispositivi NVIDIA Jetson. Inoltre, mostra i benchmark delle prestazioni per dimostrare le capacità di YOLO11 su questi piccoli e potenti dispositivi.
New product support
We have updated this guide with the latest NVIDIA Jetson Orin Nano Super Developer Kit which delivers up to 67 TOPS of AI performance — a 1.7X improvement over its predecessor — to seamlessly run the most popular AI models.
Guarda: Come configurare NVIDIA Jetson con Ultralytics YOLO11
Nota
This guide has been tested with NVIDIA Jetson Orin Nano Super Developer Kit running the latest stable JetPack release of JP6.1, Seeed Studio reComputer J4012 which is based on NVIDIA Jetson Orin NX 16GB running JetPack release of JP6.0/ JetPack release of JP5.1.3 and Seeed Studio reComputer J1020 v2 which is based on NVIDIA Jetson Nano 4GB running JetPack release of JP4.6.1. It is expected to work across all the NVIDIA Jetson hardware lineup including latest and legacy.
Che cos'è NVIDIA Jetson?
NVIDIA Jetson è una serie di schede di elaborazione embedded progettate per portare l'elaborazione accelerata dell'IA (intelligenza artificiale) sui dispositivi edge. Questi dispositivi compatti e potenti sono costruiti attorno all'architettura GPU di NVIDIA e sono in grado di eseguire complessi algoritmi di IA e modelli di deep learning direttamente sul dispositivo, senza dover ricorrere a risorse di cloud computing. Le schede Jetson sono spesso utilizzate nella robotica, nei veicoli autonomi, nell'automazione industriale e in altre applicazioni in cui l'inferenza dell'intelligenza artificiale deve essere eseguita localmente con bassa latenza ed elevata efficienza. Inoltre, queste schede sono basate sull'architettura ARM64 e consumano meno rispetto ai tradizionali dispositivi di calcolo GPU .
NVIDIA Serie Jetson a confronto
Jetson Orin è l'ultima iterazione della famiglia NVIDIA Jetson basata sull'architettura NVIDIA Ampere che offre prestazioni AI drasticamente migliorate rispetto alle generazioni precedenti. La tabella seguente mette a confronto alcuni dei dispositivi Jetson presenti nell'ecosistema.
Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
---|---|---|---|---|---|---|
Prestazioni AI | 275 TOPS | 100 TOPS | 67 TOPs | 32 TOPS | 21 TOPS | 472 GFLOPS |
GPU | 2048 core NVIDIA Architettura Ampere GPU con 64 Tensor core | 1024 core NVIDIA Architettura Ampere GPU con 32 core Tensor | 1024 core NVIDIA Architettura Ampere GPU con 32 core Tensor | 512 core NVIDIA architettura Volta GPU con 64 core Tensor | 384 core NVIDIA Architettura Volta™ GPU con 48 Tensor core | Architettura a 128 core NVIDIA Maxwell™ GPU |
GPU Frequenza massima | 1,3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
CPU | 12 core NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU 3MB L2 + 6MB L3 | 8-core NVIDIA Arm® Cortex A78AE v8.2 64-bit CPU 2MB L2 + 4MB L3 | 6-core Arm® Cortex®-A78AE v8.2 64-bit CPU 1,5MB L2 + 4MB L3 | 8-core NVIDIA Carmel Arm®v8.2 64-bit CPU 8MB L2 + 4MB L3 | 6 core NVIDIA Carmel Arm®v8.2 64 bit CPU 6MB L2 + 4MB L3 | Processore quad-core Arm® Cortex®-A57 MPCore |
CPU Frequenza massima | 2,2 GHz | 2,0 GHz | 1.7 GHz | 2,2 GHz | 1,9 GHz | 1,43GHz |
Memoria | 64GB 256-bit LPDDR5 204,8GB/s | 16GB 128-bit LPDDR5 102,4GB/s | 8GB 128-bit LPDDR5 102 GB/s | 32 GB 256 bit LPDDR4x 136,5 GB/s | 8GB 128-bit LPDDR4x 59,7GB/s | 4GB 64-bit LPDDR4 25.6GB/s" |
Per una tabella comparativa più dettagliata, visitate la sezione Specifiche tecniche della pagina ufficiale di NVIDIA Jetson.
Che cos'è NVIDIA JetPack?
NVIDIA L'SDK JetPack che alimenta i moduli Jetson è la soluzione più completa e fornisce un ambiente di sviluppo completo per la creazione di applicazioni AI accelerate end-to-end e riduce il time to market. JetPack include Jetson Linux con bootloader, kernel Linux, ambiente desktop Ubuntu e un set completo di librerie per l'accelerazione di GPU computing, multimedia, grafica e computer vision. Include inoltre esempi, documentazione e strumenti per sviluppatori sia per il computer host che per il kit di sviluppo e supporta SDK di livello superiore come DeepStream per l'analisi video in streaming, Isaac per la robotica e Riva per l'IA conversazionale.
Flash JetPack a NVIDIA Jetson
Il primo passo da compiere dopo aver messo le mani su un dispositivo NVIDIA Jetson è quello di flashare NVIDIA JetPack sul dispositivo. Esistono diversi modi per flashare i dispositivi NVIDIA Jetson.
- Se si possiede un kit di sviluppo ufficiale NVIDIA , come il Jetson Orin Nano Developer Kit, è possibile scaricare un'immagine e preparare una scheda SD con JetPack per avviare il dispositivo.
- Se si possiede un altro kit di sviluppo NVIDIA , è possibile flashare JetPack sul dispositivo utilizzando SDK Manager.
- Se si possiede un dispositivo Seeed Studio reComputer J4012, è possibile flashare JetPack sull'unità SSD inclusa e se si possiede un dispositivo Seeed Studio reComputer J1020 v2, è possibile flashare JetPack sull'unità eMMC/SSD.
- Se si possiede un altro dispositivo di terze parti alimentato dal modulo NVIDIA Jetson, si consiglia di seguire il flashing da riga di comando.
Nota
Per i metodi 3 e 4, dopo il flashing del sistema e l'avvio del dispositivo, inserire "sudo apt update && sudo apt install nvidia-jetpack -y" nel terminale del dispositivo per installare tutti i restanti componenti di JetPack necessari.
Supporto di JetPack basato sul dispositivo Jetson
La tabella seguente evidenzia le versioni di NVIDIA JetPack supportate dai diversi dispositivi NVIDIA Jetson.
JetPack 4 | JetPack 5 | JetPack 6 | |
---|---|---|---|
Jetson Nano | ✅ | ❌ | ❌ |
Jetson TX2 | ✅ | ❌ | ❌ |
Jetson Xavier NX | ✅ | ✅ | ❌ |
Jetson AGX Xavier | ✅ | ✅ | ❌ |
Jetson AGX Orin | ❌ | ✅ | ✅ |
Jetson Orin NX | ❌ | ✅ | ✅ |
Jetson Orin Nano | ❌ | ✅ | ✅ |
Avvio rapido con Docker
Il modo più veloce per iniziare a utilizzare Ultralytics YOLO11 su NVIDIA Jetson è quello di utilizzare le immagini docker precostituite per Jetson. Fate riferimento alla tabella precedente e scegliete la versione di JetPack in base al dispositivo Jetson che possedete.
Al termine di questa operazione, passare alla sezione Utilizzare TensorRT su NVIDIA Jetson.
Iniziare con l'installazione nativa
Per un'installazione nativa senza Docker, fare riferimento ai passaggi seguenti.
Run on JetPack 6.1
Installare il pacchetto Ultralytics
Qui installeremo il pacchetto Ultralytics su Jetson con le dipendenze opzionali in modo da poter esportare i modelli in altri formati. PyTorch modelli in altri formati diversi. Ci concentreremo principalmente sulle esportazioni diNVIDIA TensorRT perché TensorRT ci consentirà di ottenere le massime prestazioni dai dispositivi Jetson.
-
Aggiornare l'elenco dei pacchetti, installare pip e passare all'ultimo aggiornamento
-
Installare
ultralytics
pacchetto pip con dipendenze opzionali -
Riavviare il dispositivo
Installare PyTorch e Torchvision
La precedente installazione di ultralytics installerà Torch e Torchvision. Tuttavia, questi due pacchetti installati tramite pip non sono compatibili con la piattaforma Jetson, basata su architettura ARM64. Pertanto, è necessario installare manualmente PyTorch pip wheel e compilare/installare Torchvision dai sorgenti.
Installare torch 2.5.0
e torchvision 0.20
according to 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
Nota
Visitare la paginaPyTorch per Jetson per accedere a tutte le diverse versioni di PyTorch per le diverse versioni di JetPack. Per un elenco più dettagliato della compatibilità di PyTorch e Torchvision, visitare la paginaPyTorch e Torchvision.
Installare cuSPARSELt
to fix a dependency issue with 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
Installare onnxruntime-gpu
Il onnxruntime-gpu ospitato su PyPI non ha aarch64
per Jetson. È quindi necessario installare manualmente questo pacchetto. Questo pacchetto è necessario per alcune esportazioni.
Tutti diversi onnxruntime-gpu
Sono elencati i pacchetti corrispondenti alle diverse versioni di JetPack e Python . qui. Tuttavia, qui scaricheremo e installeremo onnxruntime-gpu 1.20.0
con Python3.10
supporto.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whl
Nota
onnxruntime-gpu
riporterà automaticamente la versione di numpy all'ultima. Quindi è necessario reinstallare numpy a 1.23.5
per risolvere un problema eseguendo:
pip install numpy==1.23.5
Run on JetPack 5.1.2
Installare il pacchetto Ultralytics
Qui installeremo il pacchetto Ultralytics su Jetson con le dipendenze opzionali in modo da poter esportare i modelli PyTorch in altri formati diversi. Ci concentreremo principalmente sulle esportazioni diNVIDIA TensorRT perché TensorRT ci consentirà di ottenere le massime prestazioni dai dispositivi Jetson.
-
Aggiornare l'elenco dei pacchetti, installare pip e passare all'ultimo aggiornamento
-
Installare
ultralytics
pacchetto pip con dipendenze opzionali -
Riavviare il dispositivo
Installare PyTorch e Torchvision
La precedente installazione di ultralytics installerà Torch e Torchvision. Tuttavia, questi due pacchetti installati tramite pip non sono compatibili con la piattaforma Jetson, basata su architettura ARM64. Pertanto, è necessario installare manualmente PyTorch pip wheel e compilare/installare Torchvision dai sorgenti.
-
Disinstallare i siti PyTorch e Torchvision attualmente installati
-
Installare
torch 2.1.0
etorchvision 0.16.2
according to JP5.1.2
Nota
Visitare la paginaPyTorch per Jetson per accedere a tutte le diverse versioni di PyTorch per le diverse versioni di JetPack. Per un elenco più dettagliato della compatibilità di PyTorch e Torchvision, visitare la paginaPyTorch e Torchvision.
Installare onnxruntime-gpu
Il onnxruntime-gpu ospitato su PyPI non ha aarch64
per Jetson. È quindi necessario installare manualmente questo pacchetto. Questo pacchetto è necessario per alcune esportazioni.
Tutti diversi onnxruntime-gpu
Sono elencati i pacchetti corrispondenti alle diverse versioni di JetPack e Python . qui. Tuttavia, qui scaricheremo e installeremo onnxruntime-gpu 1.17.0
con Python3.8
supporto.
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
Nota
onnxruntime-gpu
riporterà automaticamente la versione di numpy all'ultima. Quindi è necessario reinstallare numpy a 1.23.5
per risolvere un problema eseguendo:
pip install numpy==1.23.5
Utilizzare TensorRT su NVIDIA Jetson
Tra tutti i formati di esportazione dei modelli supportati da Ultralytics, TensorRT offre le migliori prestazioni di inferenza quando si lavora con i dispositivi NVIDIA Jetson e si consiglia di utilizzare TensorRT con Jetson. Abbiamo anche un documento dettagliato su TensorRT qui.
Convertire il modello in TensorRT ed eseguire l'inferenza
Il modello YOLO11n in formato PyTorch viene convertito in TensorRT per eseguire l'inferenza con il modello esportato.
Esempio
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")
Nota
Visitare la pagina Esportazione per accedere ad argomenti aggiuntivi quando si esportano i modelli in diversi formati di modello.
Utilizzare NVIDIA Acceleratore di apprendimento profondo (DLA)
NVIDIA Deep Learning Accelerator (DLA) è un componente hardware specializzato integrato nei dispositivi NVIDIA Jetson che ottimizza l'inferenza dell'apprendimento profondo per ottenere efficienza energetica e prestazioni. Scaricando le attività dal sito GPU (liberandolo per processi più intensivi), il DLA consente di eseguire i modelli con un consumo energetico inferiore, pur mantenendo un elevato throughput, ideale per i sistemi embedded e le applicazioni di intelligenza artificiale in tempo reale.
I seguenti dispositivi Jetson sono dotati di hardware DLA:
- Jetson Orin NX 16GB
- Serie Jetson AGX Orin
- Serie Jetson AGX Xavier
- Serie Jetson Xavier NX
Esempio
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)
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'
Nota
Quando si utilizzano le esportazioni di DLA, alcuni livelli potrebbero non essere supportati per l'esecuzione su DLA e verranno rimandati a GPU per l'esecuzione. Questo ripiego può introdurre ulteriore latenza e influire sulle prestazioni complessive dell'inferenza. Pertanto, il DLA non è stato progettato principalmente per ridurre la latenza dell'inferenza rispetto a TensorRT che gira interamente su GPU. Il suo scopo principale è invece quello di aumentare il throughput e migliorare l'efficienza energetica.
NVIDIA Benchmark di Jetson Orin YOLO11
YOLO11 benchmarks were run by the Ultralytics team on 10 different model formats measuring speed and accuracy: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, PaddlePaddle, NCNN. Benchmarks were run on both NVIDIA Jetson Orin Nano Super Developer Kit and Seeed Studio reComputer J4012 powered by Jetson Orin NX 16GB device at FP32 precision with default input image size of 640.
Comparison Charts
Anche se tutti i modelli di esportazione funzionano con NVIDIA Jetson, abbiamo incluso solo PyTorch, TorchScript, TensorRT nella tabella di confronto qui sotto perché utilizzano GPU su Jetson e sono garantiti per produrre i risultati migliori. Tutte le altre esportazioni utilizzano solo CPU e le prestazioni non sono così buone come le tre precedenti. I benchmark per tutte le esportazioni sono disponibili nella sezione successiva a questo grafico.
NVIDIA Jetson Orin Nano Super Developer Kit
NVIDIA Jetson Orin NX 16GB
Detailed Comparison Tables
La tabella seguente rappresenta i risultati del benchmark per cinque diversi modelli (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) attraverso dieci diversi formati (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel , TF GraphDef , TF Lite, PaddlePaddle, NCNN), fornendo lo stato, la dimensione, la metrica mAP50-95(B) e il tempo di inferenza per ogni combinazione.
NVIDIA Jetson Orin Nano Super Developer Kit
Prestazioni
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 5.4 | 0.6176 | 21.3 |
TorchScript | ✅ | 10.5 | 0.6100 | 13.40 |
ONNX | ✅ | 10.2 | 0.6100 | 7.94 |
OpenVINO | ✅ | 10.4 | 0.6091 | 57.36 |
TensorRT (FP32) | ✅ | 11.9 | 0.6082 | 7.60 |
TensorRT (FP16) | ✅ | 8.3 | 0.6096 | 4.91 |
TensorRT (INT8) | ✅ | 5.6 | 0.3180 | 3.91 |
TF SavedModel | ✅ | 25.8 | 0.6082 | 223.98 |
TF GraphDef | ✅ | 10.3 | 0.6082 | 289.95 |
TF Lite | ✅ | 10.3 | 0.6082 | 328.29 |
PaddlePaddle | ✅ | 20.4 | 0.6082 | 530.46 |
MNN | ✅ | 10.1 | 0.6120 | 74.75 |
NCNN | ✅ | 10.2 | 0.6106 | 46.12 |
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 18.4 | 0.7526 | 22.00 |
TorchScript | ✅ | 36.5 | 0.7400 | 21.35 |
ONNX | ✅ | 36.3 | 0.7400 | 13.91 |
OpenVINO | ✅ | 36.4 | 0.7391 | 126.95 |
TensorRT (FP32) | ✅ | 38.0 | 0.7400 | 13.29 |
TensorRT (FP16) | ✅ | 21.3 | 0.7431 | 7.30 |
TensorRT (INT8) | ✅ | 12.2 | 0.3243 | 5.25 |
TF SavedModel | ✅ | 91.1 | 0.7400 | 406.73 |
TF GraphDef | ✅ | 36.4 | 0.7400 | 629.80 |
TF Lite | ✅ | 36.4 | 0.7400 | 953.98 |
PaddlePaddle | ✅ | 72.5 | 0.7400 | 1311.67 |
MNN | ✅ | 36.2 | 0.7392 | 187.66 |
NCNN | ✅ | 36.2 | 0.7403 | 122.02 |
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 38.8 | 0.7598 | 33.00 |
TorchScript | ✅ | 77.3 | 0.7643 | 48.17 |
ONNX | ✅ | 76.9 | 0.7641 | 29.31 |
OpenVINO | ✅ | 77.1 | 0.7642 | 313.49 |
TensorRT (FP32) | ✅ | 78.7 | 0.7641 | 28.21 |
TensorRT (FP16) | ✅ | 41.8 | 0.7653 | 13.99 |
TensorRT (INT8) | ✅ | 23.2 | 0.4194 | 9.58 |
TF SavedModel | ✅ | 192.7 | 0.7643 | 802.30 |
TF GraphDef | ✅ | 77.0 | 0.7643 | 1335.42 |
TF Lite | ✅ | 77.0 | 0.7643 | 2842.42 |
PaddlePaddle | ✅ | 153.8 | 0.7643 | 3644.29 |
MNN | ✅ | 76.8 | 0.7648 | 503.90 |
NCNN | ✅ | 76.8 | 0.7674 | 298.78 |
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 49.0 | 0.7475 | 43.00 |
TorchScript | ✅ | 97.6 | 0.7250 | 62.94 |
ONNX | ✅ | 97.0 | 0.7250 | 36.33 |
OpenVINO | ✅ | 97.3 | 0.7226 | 387.72 |
TensorRT (FP32) | ✅ | 99.1 | 0.7250 | 35.59 |
TensorRT (FP16) | ✅ | 52.0 | 0.7265 | 17.57 |
TensorRT (INT8) | ✅ | 31.0 | 0.4033 | 12.37 |
TF SavedModel | ✅ | 243.3 | 0.7250 | 1116.20 |
TF GraphDef | ✅ | 97.2 | 0.7250 | 1603.32 |
TF Lite | ✅ | 97.2 | 0.7250 | 3607.51 |
PaddlePaddle | ✅ | 193.9 | 0.7250 | 4890.90 |
MNN | ✅ | 96.9 | 0.7222 | 619.04 |
NCNN | ✅ | 96.9 | 0.7252 | 352.85 |
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 109.3 | 0.8288 | 81.00 |
TorchScript | ✅ | 218.1 | 0.8308 | 113.49 |
ONNX | ✅ | 217.5 | 0.8308 | 75.20 |
OpenVINO | ✅ | 217.8 | 0.8285 | 508.12 |
TensorRT (FP32) | ✅ | 219.5 | 0.8307 | 67.32 |
TensorRT (FP16) | ✅ | 112.2 | 0.8248 | 32.94 |
TensorRT (INT8) | ✅ | 61.7 | 0.4854 | 20.72 |
TF SavedModel | ✅ | 545.0 | 0.8308 | 1048.8 |
TF GraphDef | ✅ | 217.8 | 0.8308 | 2961.8 |
TF Lite | ✅ | 217.8 | 0.8308 | 7898.8 |
PaddlePaddle | ✅ | 434.8 | 0.8308 | 9903.68 |
MNN | ✅ | 217.3 | 0.8308 | 1242.97 |
NCNN | ✅ | 217.3 | 0.8304 | 850.05 |
Benchmarked with Ultralytics 8.3.51
NVIDIA Jetson Orin NX 16GB
Prestazioni
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 5.4 | 0.6176 | 19.50 |
TorchScript | ✅ | 10.5 | 0.6100 | 13.03 |
ONNX | ✅ | 10.2 | 0.6100 | 8.44 |
OpenVINO | ✅ | 10.4 | 0.6091 | 40.83 |
TensorRT (FP32) | ✅ | 11.9 | 0.6100 | 8.05 |
TensorRT (FP16) | ✅ | 8.2 | 0.6096 | 4.85 |
TensorRT (INT8) | ✅ | 5.5 | 0.3180 | 4.37 |
TF SavedModel | ✅ | 25.8 | 0.6082 | 185.39 |
TF GraphDef | ✅ | 10.3 | 0.6082 | 244.85 |
TF Lite | ✅ | 10.3 | 0.6082 | 289.77 |
PaddlePaddle | ✅ | 20.4 | 0.6082 | 476.52 |
MNN | ✅ | 10.1 | 0.6120 | 53.37 |
NCNN | ✅ | 10.2 | 0.6106 | 33.55 |
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 18.4 | 0.7526 | 19.00 |
TorchScript | ✅ | 36.5 | 0.7400 | 22.90 |
ONNX | ✅ | 36.3 | 0.7400 | 14.44 |
OpenVINO | ✅ | 36.4 | 0.7391 | 88.70 |
TensorRT (FP32) | ✅ | 37.9 | 0.7400 | 14.13 |
TensorRT (FP16) | ✅ | 21.6 | 0.7406 | 7.55 |
TensorRT (INT8) | ✅ | 12.2 | 0.3243 | 5.63 |
TF SavedModel | ✅ | 91.1 | 0.7400 | 317.61 |
TF GraphDef | ✅ | 36.4 | 0.7400 | 515.99 |
TF Lite | ✅ | 36.4 | 0.7400 | 838.85 |
PaddlePaddle | ✅ | 72.5 | 0.7400 | 1170.07 |
MNN | ✅ | 36.2 | 0.7413 | 125.23 |
NCNN | ✅ | 36.2 | 0.7403 | 68.13 |
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 38.8 | 0.7598 | 36.50 |
TorchScript | ✅ | 77.3 | 0.7643 | 52.55 |
ONNX | ✅ | 76.9 | 0.7640 | 31.16 |
OpenVINO | ✅ | 77.1 | 0.7642 | 208.57 |
TensorRT (FP32) | ✅ | 78.7 | 0.7640 | 30.72 |
TensorRT (FP16) | ✅ | 41.5 | 0.7651 | 14.45 |
TensorRT (INT8) | ✅ | 23.3 | 0.4194 | 10.19 |
TF SavedModel | ✅ | 192.7 | 0.7643 | 590.11 |
TF GraphDef | ✅ | 77.0 | 0.7643 | 998.57 |
TF Lite | ✅ | 77.0 | 0.7643 | 2486.11 |
PaddlePaddle | ✅ | 153.8 | 0.7643 | 3236.09 |
MNN | ✅ | 76.8 | 0.7661 | 335.78 |
NCNN | ✅ | 76.8 | 0.7674 | 188.43 |
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 49.0 | 0.7475 | 46.6 |
TorchScript | ✅ | 97.6 | 0.7250 | 66.54 |
ONNX | ✅ | 97.0 | 0.7250 | 39.55 |
OpenVINO | ✅ | 97.3 | 0.7226 | 262.44 |
TensorRT (FP32) | ✅ | 99.2 | 0.7250 | 38.68 |
TensorRT (FP16) | ✅ | 51.9 | 0.7265 | 18.53 |
TensorRT (INT8) | ✅ | 30.9 | 0.4033 | 13.36 |
TF SavedModel | ✅ | 243.3 | 0.7250 | 850.25 |
TF GraphDef | ✅ | 97.2 | 0.7250 | 1324.60 |
TF Lite | ✅ | 97.2 | 0.7250 | 3191.24 |
PaddlePaddle | ✅ | 193.9 | 0.7250 | 4204.97 |
MNN | ✅ | 96.9 | 0.7225 | 414.41 |
NCNN | ✅ | 96.9 | 0.7252 | 237.74 |
Formato | Stato | Dimensione su disco (MB) | mAP50-95(B) | Tempo di inferenza (ms/im) |
---|---|---|---|---|
PyTorch | ✅ | 109.3 | 0.8288 | 86.00 |
TorchScript | ✅ | 218.1 | 0.8308 | 122.43 |
ONNX | ✅ | 217.5 | 0.8307 | 77.50 |
OpenVINO | ✅ | 217.8 | 0.8285 | 508.12 |
TensorRT (FP32) | ✅ | 219.5 | 0.8307 | 76.44 |
TensorRT (FP16) | ✅ | 112.0 | 0.8309 | 35.99 |
TensorRT (INT8) | ✅ | 61.6 | 0.4854 | 22.32 |
TF SavedModel | ✅ | 545.0 | 0.8308 | 1470.06 |
TF GraphDef | ✅ | 217.8 | 0.8308 | 2549.78 |
TF Lite | ✅ | 217.8 | 0.8308 | 7025.44 |
PaddlePaddle | ✅ | 434.8 | 0.8308 | 8364.89 |
MNN | ✅ | 217.3 | 0.8289 | 827.13 |
NCNN | ✅ | 217.3 | 0.8304 | 490.29 |
Benchmarked with Ultralytics 8.3.51
Esplorate altri sforzi di benchmarking di Seeed Studio in esecuzione su diverse versioni dell'hardware NVIDIA Jetson.
Riprodurre i risultati
Per riprodurre i benchmark di Ultralytics su tutti i formati di esportazione, eseguite questo codice:
Esempio
Si noti che i risultati dei benchmark possono variare in base all'esatta configurazione hardware e software di un sistema, nonché al carico di lavoro corrente del sistema al momento dell'esecuzione dei benchmark. Per ottenere i risultati più affidabili, utilizzare un set di dati con un numero elevato di immagini, ad es. data='coco8.yaml' (4 val images), or
data='coco.yaml'` (5000 immagini val).
Migliori pratiche per l'utilizzo di NVIDIA Jetson
Quando si usa NVIDIA Jetson, ci sono un paio di buone pratiche da seguire per ottenere le massime prestazioni su NVIDIA Jetson che esegue YOLO11.
-
Abilita la modalità MAX Power
Abilitando la modalità MAX Power su Jetson, tutti i core CPU, GPU saranno attivati.
-
Abilitazione degli orologi Jetson
Abilitando Jetson Clocks, tutti i core CPU, GPU saranno clockati alla loro frequenza massima.
-
Installare l'applicazione Jetson Stats
Possiamo utilizzare l'applicazione jetson stats per monitorare le temperature dei componenti del sistema e controllare altri dettagli del sistema, come ad esempio visualizzare CPU, GPU, l'utilizzo della RAM, cambiare le modalità di alimentazione, impostare i clock massimi, controllare le informazioni di JetPack.
I prossimi passi
Congratulazioni per aver configurato con successo YOLO11 sul vostro NVIDIA Jetson! Per ulteriori informazioni e supporto, visitate la guida Ultralytics YOLO11 Docs!
FAQ
Come si distribuisce Ultralytics YOLO11 sui dispositivi NVIDIA Jetson?
La distribuzione di Ultralytics YOLO11 sui dispositivi NVIDIA Jetson è un processo semplice. Per prima cosa, flashare il dispositivo Jetson con l'SDK NVIDIA JetPack. Quindi, utilizzare un'immagine Docker precostituita per una rapida configurazione o installare manualmente i pacchetti necessari. I passaggi dettagliati per ciascun approccio sono riportati nelle sezioni Avvio rapido con Docker e Avvio con installazione nativa.
Quali benchmark di prestazioni posso aspettarmi dai modelli YOLO11 sui dispositivi NVIDIA Jetson?
YOLO11 models have been benchmarked on various NVIDIA Jetson devices showing significant performance improvements. For example, the TensorRT format delivers the best inference performance. The table in the Detailed Comparison Tables section provides a comprehensive view of performance metrics like mAP50-95 and inference time across different model formats.
Perché si dovrebbe usare TensorRT per distribuire YOLO11 su NVIDIA Jetson?
TensorRT è altamente raccomandato per l'implementazione di modelli YOLO11 su NVIDIA Jetson, grazie alle sue prestazioni ottimali. Accelera l'inferenza sfruttando le capacità di GPU Jetson, garantendo la massima efficienza e velocità. Per ulteriori informazioni su come convertire in TensorRT ed eseguire l'inferenza, consultare la sezione Utilizzare TensorRT su NVIDIA Jetson.
Come posso installare PyTorch e Torchvision su NVIDIA Jetson?
To install PyTorch and Torchvision on NVIDIA Jetson, first uninstall any existing versions that may have been installed via pip. Then, manually install the compatible PyTorch and Torchvision versions for the Jetson's ARM64 architecture. Detailed instructions for this process are provided in the Installation of PyTorch and Torchvision section.
Quali sono le migliori pratiche per massimizzare le prestazioni su NVIDIA Jetson quando si utilizza YOLO11?
Per massimizzare le prestazioni su NVIDIA Jetson con YOLO11, seguite queste best practice:
- Abilitare la modalità MAX Power per utilizzare tutti i core CPU e GPU .
- Abilitare Jetson Clocks per far funzionare tutti i core alla loro frequenza massima.
- Installare l'applicazione Jetson Stats per monitorare le metriche del sistema.
Per i comandi e ulteriori dettagli, consultare la sezione Best Practices quando si utilizza NVIDIA Jetson.