Meet YOLO26: next-gen vision AI.

Link to this sectionGuida di avvio rapido: NVIDIA Jetson con Ultralytics YOLO26#

Questa guida completa fornisce un walkthrough dettagliato per implementare Ultralytics YOLO26 su dispositivi NVIDIA Jetson. Inoltre, mostra benchmark delle prestazioni per dimostrare le capacità di YOLO26 su questi dispositivi piccoli e potenti.

Supporto per nuovi prodotti

Abbiamo aggiornato questa guida con il più recente NVIDIA Jetson AGX Thor Developer Kit che offre fino a 2070 FP4 TFLOPS di calcolo AI e 128 GB di memoria con potenza configurabile tra 40 W e 130 W. Offre una potenza di calcolo AI oltre 7,5 volte superiore rispetto a NVIDIA Jetson AGX Orin, con un'efficienza energetica migliore di 3,5 volte per eseguire senza problemi i modelli AI più popolari.



Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices
NVIDIA Jetson Ecosystem
Nota

Questa guida è stata testata con NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) eseguendo l'ultima release stabile JetPack di JP7.0, NVIDIA Jetson AGX Orin Developer Kit (64GB) eseguendo la release JetPack di JP6.2, NVIDIA Jetson Orin Nano Super Developer Kit eseguendo la release JetPack di JP6.1, Seeed Studio reComputer J4012 basato su NVIDIA Jetson Orin NX 16GB eseguendo la release JetPack di JP6.0/ release JetPack di JP5.1.3 e Seeed Studio reComputer J1020 v2 basato su NVIDIA Jetson Nano 4GB eseguendo la release JetPack di JP4.6.1. Si prevede che funzioni su tutta la linea di hardware NVIDIA Jetson, inclusi i dispositivi più recenti e quelli legacy.

Link to this sectionCos'è NVIDIA Jetson?#

NVIDIA Jetson è una serie di schede di calcolo embedded progettate per portare il calcolo AI (intelligenza artificiale) accelerato ai dispositivi edge. Questi dispositivi compatti e potenti sono costruiti attorno all'architettura GPU di NVIDIA e possono eseguire algoritmi AI complessi e modelli di deep learning direttamente sul dispositivo, senza fare affidamento su 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 AI deve essere eseguita localmente con bassa latenza ed elevata efficienza. Inoltre, queste schede sono basate sull'architettura ARM64 e consumano meno energia rispetto ai dispositivi di calcolo GPU tradizionali.

Link to this sectionConfronto della serie NVIDIA Jetson#

NVIDIA Jetson AGX Thor è l'ultima iterazione della famiglia NVIDIA Jetson basata sull'architettura NVIDIA Blackwell che apporta prestazioni AI drasticamente migliorate rispetto alle generazioni precedenti. La tabella sottostante confronta alcuni dei dispositivi Jetson nell'ecosistema.

Jetson AGX Thor(T5000)Jetson AGX Orin 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
Prestazioni AI2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPUGPU con architettura NVIDIA Blackwell a 2560 core con 96 Tensor CoreGPU con architettura NVIDIA Ampere a 2048 core con 64 Tensor CoreGPU con architettura NVIDIA Ampere a 1024 core con 32 Tensor CoreGPU con architettura NVIDIA Ampere a 1024 core con 32 Tensor CoreGPU con architettura NVIDIA Volta a 512 core con 64 Tensor CoreGPU con architettura NVIDIA Volta™ a 384 core con 48 Tensor CoreGPU con architettura NVIDIA Maxwell™ a 128 core
Frequenza massima GPU1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPUCPU Arm® Neoverse®-V3AE 64-bit a 14 core, 1MB L2 + 16MB L3CPU NVIDIA Arm® Cortex A78AE v8.2 64-bit a 12 core, 3MB L2 + 6MB L3CPU NVIDIA Arm® Cortex A78AE v8.2 64-bit a 8 core, 2MB L2 + 4MB L3CPU Arm® Cortex®-A78AE v8.2 64-bit a 6 core, 1.5MB L2 + 4MB L3CPU NVIDIA Carmel Arm®v8.2 64-bit a 8 core, 8MB L2 + 4MB L3CPU NVIDIA Carmel Arm®v8.2 64-bit a 6 core, 6MB L2 + 4MB L3Processore Quad-Core Arm® Cortex®-A57 MPCore
Frequenza massima CPU2.6 GHz2.2 GHz2.0 GHz1.7 GHz2.2 GHz1.9 GHz1.43GHz
Memoria128GB 256-bit LPDDR5X 273GB/s64GB 256-bit LPDDR5 204.8GB/s16GB 128-bit LPDDR5 102.4GB/s8GB 128-bit LPDDR5 102 GB/s32GB 256-bit LPDDR4x 136.5GB/s8GB 128-bit LPDDR4x 59.7GB/s4GB 64-bit LPDDR4 25.6GB/s

Per una tabella di confronto più dettagliata, visita la sezione Compare Specifications della pagina ufficiale NVIDIA Jetson.

Link to this sectionCos'è NVIDIA JetPack?#

NVIDIA JetPack SDK che alimenta i moduli Jetson è la soluzione più completa e fornisce un ambiente di sviluppo completo per creare applicazioni AI accelerate end-to-end e abbreviare il time-to-market. JetPack include Jetson Linux con bootloader, kernel Linux, ambiente desktop Ubuntu e una serie completa di librerie per l'accelerazione del calcolo GPU, multimedia, grafica e computer vision. Include anche 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'AI conversazionale.

Link to this sectionFlash di JetPack su NVIDIA Jetson#

Il primo passo dopo aver messo le mani su un dispositivo NVIDIA Jetson è flashare NVIDIA JetPack sul dispositivo. Esistono diversi modi per flashare i dispositivi NVIDIA Jetson.

  1. Se possiedi un Development Kit ufficiale NVIDIA come il Jetson AGX Thor Developer Kit, puoi scaricare un'immagine e preparare una chiavetta USB avviabile per flashare JetPack sull'SSD incluso.
  2. Se possiedi un Development Kit ufficiale NVIDIA come il Jetson Orin Nano Developer Kit, puoi scaricare un'immagine e preparare una scheda SD con JetPack per avviare il dispositivo.
  3. Se possiedi qualsiasi altro Development Kit NVIDIA, puoi flashare JetPack sul dispositivo utilizzando SDK Manager.
  4. Se possiedi un dispositivo Seeed Studio reComputer J4012, puoi flashare JetPack sull'SSD incluso e se possiedi un dispositivo Seeed Studio reComputer J1020 v2, puoi flashare JetPack su eMMC/SSD.
  5. Se possiedi qualsiasi altro dispositivo di terze parti alimentato dal modulo NVIDIA Jetson, si consiglia di seguire il flashing da riga di comando.
Nota

Per i metodi 1, 4 e 5 sopra indicati, dopo aver flashato il sistema e avviato il dispositivo, inserisci "sudo apt update && sudo apt install nvidia-jetpack -y" sul terminale del dispositivo per installare tutti i componenti JetPack rimanenti necessari.

Link to this sectionSupporto JetPack basato sul dispositivo Jetson#

La tabella sottostante evidenzia le versioni di NVIDIA JetPack supportate dai diversi dispositivi 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

Link to this sectionAvvio rapido con Docker#

Il modo più veloce per iniziare con Ultralytics YOLO26 su NVIDIA Jetson è utilizzare le immagini docker pre-costruite per Jetson. Fai riferimento alla tabella sopra e scegli la versione di JetPack in base al dispositivo Jetson in tuo possesso.

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

Una volta fatto, passa alla sezione Usa TensorRT su NVIDIA Jetson.

Link to this sectionInizia con l'installazione nativa#

Per un'installazione nativa senza Docker, fai riferimento ai passaggi seguenti.

Link to this sectionEsegui su JetPack 7.0#

Link to this sectionInstalla il pacchetto Ultralytics#

Qui installeremo il pacchetto Ultralytics sul Jetson con dipendenze opzionali in modo da poter esportare i modelli PyTorch in altri formati diversi. Ci concentreremo principalmente sulle esportazioni NVIDIA TensorRT perché TensorRT garantirà di ottenere le massime prestazioni dai dispositivi Jetson.

  1. Aggiorna l'elenco dei pacchetti, installa pip ed esegui l'aggiornamento all'ultima versione

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installa il pacchetto pip ultralytics con dipendenze opzionali

    pip install ultralytics[export]
  3. Riavvia il dispositivo

    sudo reboot

Link to this sectionInstalla PyTorch e Torchvision#

L'installazione di ultralytics di cui sopra installerà Torch e Torchvision. Tuttavia, questi 2 pacchetti installati tramite pip non sono compatibili per l'esecuzione su Jetson AGX Thor che viene fornito con JetPack 7.0 e CUDA 13. Pertanto, dobbiamo installarli manualmente.

Installa torch e torchvision in base a JP7.0

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

Link to this sectionInstalla onnxruntime-gpu#

Il pacchetto onnxruntime-gpu ospitato in PyPI non dispone di binari aarch64 per il Jetson. Quindi dobbiamo installare manualmente questo pacchetto. Questo pacchetto è necessario per alcune delle esportazioni.

Qui scaricheremo e installeremo onnxruntime-gpu 1.24.0 con supporto per Python3.12.

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

Link to this sectionEsegui su JetPack 6.1#

Link to this sectionInstalla il pacchetto Ultralytics#

Qui installeremo il pacchetto Ultralytics sul Jetson con dipendenze opzionali in modo da poter esportare i modelli PyTorch in altri formati diversi. Ci concentreremo principalmente sulle esportazioni NVIDIA TensorRT perché TensorRT garantirà di ottenere le massime prestazioni dai dispositivi Jetson.

  1. Aggiorna l'elenco dei pacchetti, installa pip ed esegui l'aggiornamento all'ultima versione

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installa il pacchetto pip ultralytics con dipendenze opzionali

    pip install ultralytics[export]
  3. Riavvia il dispositivo

    sudo reboot

Link to this sectionInstalla PyTorch e Torchvision#

L'installazione di Ultralytics di cui sopra installerà Torch e Torchvision. Tuttavia, questi due pacchetti installati tramite pip non sono compatibili con la piattaforma Jetson, che si basa sull'architettura ARM64. Pertanto, dobbiamo installare manualmente un wheel pip di PyTorch pre-compilato e compilare o installare Torchvision dal codice sorgente.

Installa torch 2.10.0 e torchvision 0.25.0 in base a 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.whl
Nota

Visita la pagina di PyTorch per Jetson per accedere a tutte le diverse versioni di PyTorch per le diverse versioni di JetPack. Per un elenco più dettagliato sulla compatibilità di PyTorch e Torchvision, visita la pagina di compatibilità di PyTorch e Torchvision.

Installa cuDSS per risolvere un problema di dipendenza con 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 cudss

Link to this sectionInstalla onnxruntime-gpu#

Il pacchetto onnxruntime-gpu ospitato in PyPI non dispone di binari aarch64 per il Jetson. Quindi dobbiamo installare manualmente questo pacchetto. Questo pacchetto è necessario per alcune delle esportazioni.

Puoi trovare tutti i pacchetti onnxruntime-gpu disponibili—organizzati per versione di JetPack, versione di Python e altri dettagli di compatibilità—nella matrice di compatibilità ONNX Runtime di Jetson Zoo.

Per JetPack 6 con supporto per Python 3.10, puoi installare 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.whl

In alternativa, per 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.whl

Link to this sectionEsegui su JetPack 5.1.2#

Link to this sectionInstalla il pacchetto Ultralytics#

Qui installeremo il pacchetto Ultralytics su Jetson con dipendenze opzionali, in modo da poter esportare i modelli PyTorch in altri formati. Ci concentreremo principalmente sulle esportazioni NVIDIA TensorRT perché TensorRT ci garantirà di ottenere le massime prestazioni dai dispositivi Jetson.

  1. Aggiorna l'elenco dei pacchetti, installa pip ed esegui l'aggiornamento all'ultima versione

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Installa il pacchetto pip ultralytics con dipendenze opzionali

    pip install ultralytics[export]
  3. Riavvia il dispositivo

    sudo reboot

Link to this sectionInstalla PyTorch e Torchvision#

L'installazione di Ultralytics di cui sopra installerà Torch e Torchvision. Tuttavia, questi due pacchetti installati tramite pip non sono compatibili con la piattaforma Jetson, che si basa sull'architettura ARM64. Pertanto, dobbiamo installare manualmente un wheel pip di PyTorch pre-compilato e compilare o installare Torchvision dal codice sorgente.

  1. Disinstalla PyTorch e Torchvision correntemente installati

    pip uninstall torch torchvision
  2. Installa torch 2.1.0 e torchvision 0.16.2 in base a JP5.1.2

    pip 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
Nota

Visita la pagina di PyTorch per Jetson per accedere a tutte le diverse versioni di PyTorch per le diverse versioni di JetPack. Per un elenco più dettagliato sulla compatibilità di PyTorch e Torchvision, visita la pagina di compatibilità di PyTorch e Torchvision.

Link to this sectionInstalla onnxruntime-gpu#

Il pacchetto onnxruntime-gpu ospitato in PyPI non dispone di binari aarch64 per il Jetson. Quindi dobbiamo installare manualmente questo pacchetto. Questo pacchetto è necessario per alcune delle esportazioni.

Puoi trovare tutti i pacchetti onnxruntime-gpu disponibili—organizzati per versione di JetPack, versione di Python e altri dettagli di compatibilità—nella matrice di compatibilità ONNX Runtime di Jetson Zoo. Qui scaricheremo e installeremo onnxruntime-gpu 1.17.0 con supporto per 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.whl
Nota

onnxruntime-gpu riporterà automaticamente la versione di NumPy all'ultima. Quindi dobbiamo reinstallare NumPy alla 1.23.5 per risolvere un problema eseguendo:

pip install numpy==1.23.5

Link to this sectionUsa TensorRT su NVIDIA Jetson#

Tra tutti i formati di esportazione del modello supportati da Ultralytics, TensorRT offre le prestazioni di inferenza più elevate sui dispositivi NVIDIA Jetson, rendendolo la nostra raccomandazione principale per le implementazioni Jetson. Per istruzioni di configurazione e utilizzo avanzato, consulta la nostra guida dedicata all'integrazione TensorRT.

Link to this sectionConverti il modello in TensorRT ed esegui l'inferenza#

Il modello YOLO26n in formato PyTorch viene convertito in TensorRT per eseguire l'inferenza con il modello esportato.

Esempio
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")
Nota

Visita la pagina di esportazione per accedere ad argomenti aggiuntivi quando esporti modelli in diversi formati

Link to this sectionUsa NVIDIA Deep Learning Accelerator (DLA)#

NVIDIA Deep Learning Accelerator (DLA) è un componente hardware specializzato integrato nei dispositivi NVIDIA Jetson che ottimizza l'inferenza di deep learning per l'efficienza energetica e le prestazioni. Scaricando i compiti dalla GPU (liberandola per processi più intensivi), il DLA consente ai modelli di funzionare con un minor consumo energetico mantenendo al contempo un throughput elevato, ideale per sistemi embedded e applicazioni AI in tempo reale.

I seguenti dispositivi Jetson sono dotati di hardware DLA:

Dispositivo JetsonCore DLAFrequenza massima DLA
Serie Jetson AGX Orin21.6 GHz
Jetson Orin NX 16GB2614 MHz
Jetson Orin NX 8GB1614 MHz
Serie Jetson AGX Xavier21.4 GHz
Serie Jetson Xavier NX21.1 GHz
Esempio
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", half=True)  # 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")
Nota

Quando si utilizzano le esportazioni DLA, alcuni livelli potrebbero non essere supportati per l'esecuzione su DLA e torneranno alla GPU per l'esecuzione. Questo fallback può introdurre latenza aggiuntiva e influire sulle prestazioni complessive dell'inferenza. Pertanto, il DLA non è progettato principalmente per ridurre la latenza di inferenza rispetto a TensorRT in esecuzione interamente sulla GPU. Al contrario, il suo scopo principale è aumentare il throughput e migliorare l'efficienza energetica.

Link to this sectionBenchmark NVIDIA Jetson YOLO11/ YOLO26#

I benchmark di YOLO11/ YOLO26 sono stati eseguiti dal team di Ultralytics su 11 diversi formati di modello misurando velocità e accuratezza: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. I benchmark sono stati eseguiti su NVIDIA Jetson AGX Thor Developer Kit, NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit e Seeed Studio reComputer J4012 basato su dispositivo Jetson Orin NX 16GB a precisione FP32 con dimensione predefinita dell'immagine di input di 640.

Link to this sectionGrafici di confronto#

Anche se tutte le esportazioni di modelli funzionano su NVIDIA Jetson, abbiamo incluso solo PyTorch, TorchScript, TensorRT per il grafico di confronto seguente perché utilizzano la GPU su Jetson e garantiscono i migliori risultati. Tutte le altre esportazioni utilizzano solo la CPU e le prestazioni non sono buone come quelle dei tre precedenti. Puoi trovare i benchmark per tutte le esportazioni nella sezione successiva a questo grafico.

Link to this sectionNVIDIA Jetson AGX Thor Developer Kit#

Jetson AGX Thor Benchmarks
Benchmarked with Ultralytics 8.3.226

Link to this sectionNVIDIA Jetson AGX Orin Developer Kit (64GB)#

Jetson AGX Orin Benchmarks
Benchmarked with Ultralytics 8.4.32

Link to this sectionNVIDIA Jetson Orin Nano Super Developer Kit#

Jetson Orin Nano Super Benchmarks
Benchmarked with Ultralytics 8.4.33

Link to this sectionNVIDIA Jetson Orin NX 16GB#

Jetson Orin NX 16GB Benchmarks
Benchmarked with Ultralytics 8.4.33

Link to this sectionTabelle di confronto dettagliate#

La tabella seguente rappresenta i risultati dei benchmark per cinque diversi modelli (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) in 11 formati diversi (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), fornendo stato, dimensione, metrica mAP50-95(B) e tempo di inferenza per ogni combinazione.

Link to this sectionNVIDIA Jetson AGX Thor Developer Kit#

Performance
FormatoStatoDimensione su disco (MB)mAP50-95(B)Tempo di inferenza (ms/im)
PyTorch5.30.47987.39
TorchScript9.80.47894.21
ONNX9.50.47676.58
OpenVINO10.10.479417.50
TensorRT (FP32)13.90.47911.90
TensorRT (FP16)7.60.47971.39
TensorRT (INT8)6.50.42731.52
TF SavedModel25.70.476447.24
TF GraphDef9.50.476445.98
TF Lite9.90.4764182.04
MNN9.40.478421.83

Test effettuato con Ultralytics 8.4.7

Nota

Il tempo di inferenza non include il pre/post-processing.

Link to this sectionNVIDIA Jetson AGX Orin Developer Kit (64GB)#

Performance
FormatoStatoDimensione su disco (MB)mAP50-95(B)Tempo di inferenza (ms/im)
PyTorch5.30.479011.58
TorchScript9.80.47704.60
ONNX9.50.47709.87
OpenVINO9.60.482028.80
TensorRT (FP32)11.50.04504.18
TensorRT (FP16)7.90.04502.62
TensorRT (INT8)5.40.46402.30
TF SavedModel24.60.476071.10
TF GraphDef9.50.476070.02
TF Lite9.90.4760227.94
MNN9.40.476032.46
NCNN9.30.481029.93

Testato con Ultralytics 8.4.32

Nota

Il tempo di inferenza non include il pre/post-processing.

Link to this sectionNVIDIA Jetson Orin Nano Super Developer Kit#

Performance
FormatoStatoDimensione su disco (MB)mAP50-95(B)Tempo di inferenza (ms/im)
PyTorch5.30.479015.60
TorchScript9.80.477012.60
ONNX9.50.476015.76
OpenVINO9.60.482056.23
TensorRT (FP32)11.30.47707.53
TensorRT (FP16)8.10.48004.57
TensorRT (INT8)5.30.44903.80
TF SavedModel24.60.4760118.33
TF GraphDef9.50.4760116.30
TF Lite9.90.4760286.00
MNN9.40.476068.77
NCNN9.30.481047.50

Testato con Ultralytics 8.4.33

Nota

Il tempo di inferenza non include il pre/post-processing.

Link to this sectionNVIDIA Jetson Orin NX 16GB#

Performance
FormatoStatoDimensione su disco (MB)mAP50-95(B)Tempo di inferenza (ms/im)
PyTorch5.30.479913.90
TorchScript9.80.478711.60
ONNX9.50.476314.18
OpenVINO9.60.481940.19
TensorRT (FP32)11.40.47707.01
TensorRT (FP16)8.00.47894.13
TensorRT (INT8)5.50.44893.49
TF SavedModel24.60.476492.34
TF GraphDef9.50.476492.06
TF Lite9.90.4764254.43
MNN9.40.476048.55
NCNN9.30.480534.31

Testato con Ultralytics 8.4.33

Nota

Il tempo di inferenza non include il pre/post-processing.

Esplora ulteriori tentativi di benchmarking di Seeed Studio eseguiti su diverse versioni dell'hardware NVIDIA Jetson.

Link to this sectionRiproduci i nostri risultati#

Per riprodurre i benchmark di Ultralytics qui sopra su tutti i formati di esportazione, esegui questo codice:

Esempio
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)

Tieni presente che i risultati del benchmarking possono variare in base all'esatta configurazione hardware e software di un sistema, così come al carico di lavoro corrente del sistema al momento dell'esecuzione dei benchmark. Per risultati più affidabili, utilizza un dataset con un gran numero di immagini, ad esempio data='coco.yaml' (5000 immagini di validazione).

Link to this sectionBest practice durante l'utilizzo di NVIDIA Jetson#

Quando utilizzi NVIDIA Jetson, ci sono un paio di best practice da seguire per abilitare le massime prestazioni su NVIDIA Jetson con YOLO26 in esecuzione.

  1. Abilita la modalità MAX Power

    Abilitare la modalità MAX Power sul Jetson assicurerà che tutti i core CPU e GPU siano attivati.

    sudo nvpmodel -m 0
  2. Abilita Jetson Clocks

    Abilitare Jetson Clocks assicurerà che tutti i core CPU e GPU siano impostati alla loro frequenza massima.

    sudo jetson_clocks
  3. Installa l'applicazione Jetson Stats

    Puoi utilizzare l'applicazione jetson stats per monitorare le temperature dei componenti di sistema e controllare altri dettagli, come visualizzare l'utilizzo di CPU, GPU e RAM, modificare le modalità di alimentazione, impostare i clock al massimo e verificare le informazioni di JetPack.

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

Link to this sectionSuggerimenti per l'ottimizzazione della memoria per NVIDIA Jetson#

La memoria disponibile è spesso il fattore limitante sui dispositivi Jetson, in particolare sulle varianti con meno memoria come Jetson Orin Nano (8 GB) o Orin NX 8 GB. I suggerimenti seguenti sono modifiche pratiche e a basso rischio che possono liberare collettivamente diverse centinaia di megabyte e permetterti di eseguire modelli YOLO più grandi o supportare ulteriori carichi di lavoro paralleli. Per un trattamento completo, consulta il blog di NVIDIA sulla massimizzazione dell'efficienza della memoria su Jetson.

Link to this sectionPassa all'avvio Headless (senza GUI)#

Se il tuo Jetson è connesso tramite SSH o è in esecuzione come appliance di produzione senza un display collegato, eliminare l'ambiente desktop e il server di visualizzazione può recuperare fino a 865 MB di RAM:

sudo systemctl set-default multi-user.target
sudo reboot

Per ripristinare il desktop in seguito:

sudo systemctl set-default graphical.target
sudo reboot

Link to this sectionDisabilita i servizi di sistema inutilizzati#

I servizi in background non essenziali (Bluetooth, gestori di connettività, daemon hardware inutilizzati) consumano circa 32 MB in totale. Elenca i servizi attivi e disabilita tutto ciò che non è richiesto dal tuo deployment:

# List running services
systemctl list-units --type=service --state=running

# Disable a service
sudo systemctl disable SERVICE_NAME

Link to this sectionProfila l'utilizzo della memoria#

Prima di ottimizzare, identifica quali processi stanno effettivamente consumando RAM. procrank ordina i processi per PSS (Proportional Set Size), che riflette l'impronta di memoria reale per processo in modo più accurato rispetto a RSS (Resident Set Size, il totale delle pagine RAM fisiche mappate da un processo, incluse le pagine condivise con altri processi):

git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrank

Per vedere le allocazioni GPU e NvMap (CUDA/pipeline video) per processo:

sudo cat /sys/kernel/debug/nvmap/iovmm/clients

Link to this sectionEsegui l'inferenza senza display in produzione#

Per pipeline di inferenza che non richiedono un'anteprima live, disabilitare i componenti relativi al display (Tiler, OSD, DisplaySink) può far risparmiare 200+ MB dalla sola pipeline. Con Ultralytics YOLO, sopprimi il visualizzatore e scrivi i risultati su disco:

Esempio
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)

Link to this sectionImpatto cumulativo#

OttimizzazioneMemoria approssimativa risparmiata
Disabilita GUI desktop~865 MB
Disabilita servizi OS inutilizzati~32 MB
Pipeline di inferenza headless (senza display)~200+ MB
Totale (vantaggi facili)~1 GB+

Combinare queste modifiche è particolarmente utile quando si utilizzano modelli TensorRT INT8 su dispositivi con memoria limitata: può fare la differenza tra riuscire o meno a far stare un modello più grande nella memoria.

Link to this sectionPassaggi successivi#

Per ulteriori approfondimenti e supporto, consulta la Documentazione di Ultralytics YOLO26.

Link to this sectionFAQ#

Link to this sectionCome posso distribuire Ultralytics YOLO26 su dispositivi NVIDIA Jetson?#

Distribuire Ultralytics YOLO26 su dispositivi NVIDIA Jetson è un processo semplice. Per prima cosa, installa l'immagine sul tuo dispositivo Jetson con NVIDIA JetPack SDK. Successivamente, utilizza un'immagine Docker preconfigurata per una configurazione rapida oppure installa manualmente i pacchetti necessari. I passaggi dettagliati per ciascun approccio sono disponibili nelle sezioni Avvio rapido con Docker e Inizia con l'installazione nativa.

Link to this sectionQuali benchmark di prestazioni posso aspettarmi dai modelli YOLO11 sui dispositivi NVIDIA Jetson?#

I modelli YOLO11 sono stati testati su vari dispositivi NVIDIA Jetson, mostrando miglioramenti significativi nelle prestazioni. Ad esempio, il formato TensorRT offre le migliori prestazioni di inferenza. La tabella nella sezione Tabelle di confronto dettagliate fornisce una visione completa delle metriche di performance come mAP50-95 e i tempi di inferenza per i diversi formati di modello.

Link to this sectionPerché dovrei usare TensorRT per distribuire YOLO26 su NVIDIA Jetson?#

TensorRT è vivamente consigliato per la distribuzione di modelli YOLO26 su NVIDIA Jetson grazie alle sue prestazioni ottimali. Accelera l'inferenza sfruttando le capacità della GPU di Jetson, garantendo massima efficienza e velocità. Scopri di più su come convertire in TensorRT ed eseguire l'inferenza nella sezione Usa TensorRT su NVIDIA Jetson.

Link to this sectionCome posso installare PyTorch e Torchvision su NVIDIA Jetson?#

Per installare PyTorch e Torchvision su NVIDIA Jetson, disinstalla prima qualsiasi versione esistente che potrebbe essere stata installata tramite pip. Quindi, installa manualmente le versioni di PyTorch e Torchvision compatibili con l'architettura ARM64 di Jetson. Le istruzioni dettagliate per questo processo sono fornite nella sezione Installa PyTorch e Torchvision.

Link to this sectionQuali sono le migliori pratiche per massimizzare le prestazioni su NVIDIA Jetson quando si utilizza YOLO26?#

Per massimizzare le prestazioni su NVIDIA Jetson con YOLO26, segui queste migliori pratiche:

  1. Abilita la modalità MAX Power per utilizzare tutti i core della CPU e della GPU.
  2. Abilita Jetson Clocks per far girare tutti i core alla loro frequenza massima.
  3. Installa l'applicazione Jetson Stats per monitorare le metriche di sistema.

Per i comandi e ulteriori dettagli, fai riferimento alla sezione Migliori pratiche quando si usa NVIDIA Jetson.

Link to this sectionCome posso liberare memoria su NVIDIA Jetson per eseguire modelli YOLO più grandi?#

La RAM disponibile è spesso il collo di bottiglia sui dispositivi Jetson con meno memoria. Tre soluzioni facili che insieme possono recuperare oltre 1 GB:

  1. Passa all'avvio headless (sudo systemctl set-default multi-user.target) per eliminare la GUI desktop (~865 MB risparmiati).
  2. Disabilita i servizi inutilizzati come Bluetooth o gestori di connettività (~32 MB risparmiati).
  3. Esegui l'inferenza senza display impostando show=False nella tua chiamata predict di YOLO, il che evita di allocare memoria per la pipeline del display (~200+ MB risparmiati).

Usa procrank per profilare l'utilizzo della RAM per processo e sudo cat /sys/kernel/debug/nvmap/iovmm/clients per ispezionare le allocazioni GPU. Consulta la sezione Suggerimenti per l'ottimizzazione della memoria per i dettagli completi.

Link to this sectionPerché la mia esportazione TensorRT INT8 disabilita end2end su JetPack 6?#

TensorRT 10.3.0 distribuito con JetPack 6 presenta un problema noto che impedisce la creazione di motori INT8 quando end2end=True è abilitato. Quando Ultralytics rileva questa combinazione, disabilita automaticamente il ramo end2end per garantire che l'esportazione abbia successo.

Per ripristinare le esportazioni INT8 end2end, aggiorna TensorRT a una versione più recente (es. 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 tensorrt

Dopo l'aggiornamento, riesegui l'esportazione. Per ulteriori dettagli, vedi GitHub issue #23841.

Commenti