Guía de inicio rápido: NVIDIA Jetson con Ultralytics YOLO26
Esta guía exhaustiva ofrece un tutorial detallado para implementar Ultralytics YOLO26 en dispositivos NVIDIA Jetson. Además, muestra comparativas de rendimiento para demostrar las capacidades de YOLO26 en estos dispositivos pequeños y potentes.
Hemos actualizado esta guía con el último NVIDIA Jetson AGX Thor Developer Kit, que ofrece hasta 2070 FP4 TFLOPS de computación de IA y 128 GB de memoria con una potencia configurable entre 40 W y 130 W. Proporciona más de 7,5 veces más computación de IA que NVIDIA Jetson AGX Orin, con 3,5 veces mejor eficiencia energética para ejecutar sin problemas los modelos de IA más populares.
Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices

Esta guía ha sido probada con el NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) ejecutando la última versión estable de JetPack JP7.0, el NVIDIA Jetson AGX Orin Developer Kit (64GB) ejecutando la versión de JetPack JP6.2, el NVIDIA Jetson Orin Nano Super Developer Kit ejecutando la versión de JetPack JP6.1, el Seeed Studio reComputer J4012 basado en NVIDIA Jetson Orin NX 16GB ejecutando la versión de JetPack JP6.0/ la versión de JetPack JP5.1.3 y el Seeed Studio reComputer J1020 v2 basado en NVIDIA Jetson Nano 4GB ejecutando la versión de JetPack JP4.6.1. Se espera que funcione en toda la línea de hardware de NVIDIA Jetson, incluyendo los dispositivos más recientes y los antiguos.
¿Qué es NVIDIA Jetson?
NVIDIA Jetson es una serie de placas de computación embebida diseñadas para llevar la computación de IA (inteligencia artificial) acelerada a los dispositivos de borde (edge). Estos dispositivos compactos y potentes están construidos sobre la arquitectura GPU de NVIDIA y pueden ejecutar algoritmos de IA complejos y modelos de deep learning directamente en el dispositivo, sin depender de recursos de cloud computing. Las placas Jetson se utilizan a menudo en robótica, vehículos autónomos, automatización industrial y otras aplicaciones donde la inferencia de IA necesita realizarse localmente con baja latencia y alta eficiencia. Además, estas placas se basan en la arquitectura ARM64 y consumen menos energía en comparación con los dispositivos de computación GPU tradicionales.
Comparativa de la serie NVIDIA Jetson
NVIDIA Jetson AGX Thor es la última iteración de la familia NVIDIA Jetson basada en la arquitectura Blackwell de NVIDIA, que aporta una mejora drástica en el rendimiento de IA en comparación con las generaciones anteriores. La siguiente tabla compara algunos de los dispositivos Jetson del ecosistema.
| Jetson AGX Thor(T5000) | Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| Rendimiento de IA | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | GPU con arquitectura Blackwell de NVIDIA de 2560 núcleos y 96 núcleos Tensor | GPU con arquitectura Ampere de NVIDIA de 2048 núcleos y 64 núcleos Tensor | GPU con arquitectura Ampere de NVIDIA de 1024 núcleos y 32 núcleos Tensor | GPU con arquitectura Ampere de NVIDIA de 1024 núcleos y 32 núcleos Tensor | GPU con arquitectura Volta de NVIDIA de 512 núcleos y 64 núcleos Tensor | GPU con arquitectura Volta™ de NVIDIA de 384 núcleos y 48 núcleos Tensor | GPU con arquitectura Maxwell™ de NVIDIA de 128 núcleos |
| Frecuencia máxima de GPU | 1,57 GHz | 1,3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921 MHz |
| CPU | CPU Arm® Neoverse®-V3AE de 64 bits y 14 núcleos, 1 MB L2 + 16 MB L3 | CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits y 12 núcleos, 3 MB L2 + 6 MB L3 | CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits y 8 núcleos, 2 MB L2 + 4 MB L3 | CPU Arm® Cortex®-A78AE v8.2 de 64 bits y 6 núcleos, 1,5 MB L2 + 4 MB L3 | CPU NVIDIA Carmel Arm®v8.2 de 64 bits y 8 núcleos, 8 MB L2 + 4 MB L3 | CPU NVIDIA Carmel Arm®v8.2 de 64 bits y 6 núcleos, 6 MB L2 + 4 MB L3 | Procesador de cuatro núcleos Arm® Cortex®-A57 MPCore |
| Frecuencia máxima de CPU | 2,6 GHz | 2,2 GHz | 2,0 GHz | 1,7 GHz | 2,2 GHz | 1,9 GHz | 1,43 GHz |
| Memoria | 128 GB LPDDR5X de 256 bits, 273 GB/s | 64 GB LPDDR5 de 256 bits, 204,8 GB/s | 16 GB LPDDR5 de 128 bits, 102,4 GB/s | 8 GB LPDDR5 de 128 bits, 102 GB/s | 32 GB LPDDR4x de 256 bits, 136,5 GB/s | 8 GB LPDDR4x de 128 bits, 59,7 GB/s | 4 GB LPDDR4 de 64 bits, 25,6 GB/s |
Para ver una tabla comparativa más detallada, visita la sección Compare Specifications de la página oficial de NVIDIA Jetson.
¿Qué es NVIDIA JetPack?
El NVIDIA JetPack SDK que impulsa los módulos Jetson es la solución más completa y proporciona un entorno de desarrollo completo para crear aplicaciones de IA acelerada de extremo a extremo, reduciendo el tiempo de comercialización. JetPack incluye Jetson Linux con cargador de arranque, kernel de Linux, entorno de escritorio Ubuntu y un conjunto completo de librerías para la aceleración de computación GPU, multimedia, gráficos y computer vision. También incluye ejemplos, documentación y herramientas de desarrollo tanto para el ordenador anfitrión como para el kit de desarrollo, y admite SDKs de nivel superior como DeepStream para analítica de vídeo en streaming, Isaac para robótica y Riva para IA conversacional.
Instalar JetPack en NVIDIA Jetson mediante flasheo
El primer paso tras conseguir un dispositivo NVIDIA Jetson es flashear NVIDIA JetPack en él. Hay varias formas diferentes de flashear los dispositivos NVIDIA Jetson.
- Si tienes un kit de desarrollo oficial de NVIDIA, como el Jetson AGX Thor Developer Kit, puedes descargar una imagen y preparar un USB de arranque para flashear JetPack en el SSD incluido.
- Si tienes un kit de desarrollo oficial de NVIDIA, como el Jetson Orin Nano Developer Kit, puedes descargar una imagen y preparar una tarjeta SD con JetPack para arrancar el dispositivo.
- Si tienes cualquier otro kit de desarrollo de NVIDIA, puedes flashear JetPack en el dispositivo usando SDK Manager.
- Si tienes un dispositivo Seeed Studio reComputer J4012, puedes flashear JetPack en el SSD incluido y, si tienes un dispositivo Seeed Studio reComputer J1020 v2, puedes flashear JetPack en la eMMC/SSD.
- Si tienes cualquier otro dispositivo de terceros con un módulo NVIDIA Jetson, se recomienda seguir el flasheo mediante línea de comandos.
Para los métodos 1, 4 y 5 anteriores, después de flashear el sistema y arrancar el dispositivo, escribe "sudo apt update && sudo apt install nvidia-jetpack -y" en el terminal del dispositivo para instalar todos los componentes restantes de JetPack necesarios.
Soporte de JetPack según el dispositivo Jetson
La siguiente tabla destaca las versiones de NVIDIA JetPack compatibles con los diferentes dispositivos 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 | ❌ | ❌ | ❌ | ✅ |
Inicio rápido con Docker
La forma más rápida de empezar con Ultralytics YOLO26 en NVIDIA Jetson es ejecutarlo con imágenes Docker preconstruidas para Jetson. Consulta la tabla anterior y elige la versión de JetPack según el dispositivo Jetson que tengas.
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tUna vez hecho esto, pasa directamente a la sección Usa TensorRT en NVIDIA Jetson.
Empezar con la instalación nativa
Para una instalación nativa sin Docker, consulta los pasos a continuación.
Ejecutar en JetPack 7.0
Instalar el paquete Ultralytics
Aquí instalaremos el paquete Ultralytics en Jetson con dependencias opcionales para poder exportar los modelos de PyTorch a otros formatos diferentes. Nos centraremos principalmente en exportaciones a NVIDIA TensorRT porque TensorRT garantiza que podamos obtener el máximo rendimiento de los dispositivos Jetson.
-
Actualiza la lista de paquetes, instala pip y actualiza a la última versión
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Instala el paquete
ultralyticsde pip con dependencias opcionalespip install ultralytics[export] -
Reinicia el dispositivo
sudo reboot
Instalar PyTorch y Torchvision
La instalación anterior de ultralytics instalará Torch y Torchvision. Sin embargo, estos 2 paquetes instalados vía pip no son compatibles para ejecutarse en Jetson AGX Thor, que viene con JetPack 7.0 y CUDA 13. Por lo tanto, debemos instalarlos manualmente.
Instala torch y torchvision según JP7.0
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130Instalar onnxruntime-gpu
El paquete onnxruntime-gpu alojado en PyPI no tiene binarios aarch64 para Jetson. Por eso, necesitamos instalar manualmente este paquete. Este paquete es necesario para algunas de las exportaciones.
Aquí descargaremos e instalaremos onnxruntime-gpu 1.24.0 con soporte para Python3.12.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whlEjecutar en JetPack 6.1
Instalar el paquete Ultralytics
Aquí instalaremos el paquete Ultralytics en Jetson con dependencias opcionales para poder exportar los modelos de PyTorch a otros formatos diferentes. Nos centraremos principalmente en exportaciones a NVIDIA TensorRT porque TensorRT garantiza que podamos obtener el máximo rendimiento de los dispositivos Jetson.
-
Actualiza la lista de paquetes, instala pip y actualiza a la última versión
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Instala el paquete
ultralyticsde pip con dependencias opcionalespip install ultralytics[export] -
Reinicia el dispositivo
sudo reboot
Instalar PyTorch y Torchvision
La instalación anterior de ultralytics instalará Torch y Torchvision. Sin embargo, estos dos paquetes instalados vía pip no son compatibles con la plataforma Jetson, que se basa en la arquitectura ARM64. Por lo tanto, debemos instalar manualmente una rueda (wheel) de PyTorch preconstruida mediante pip y compilar o instalar Torchvision desde el código fuente.
Instala torch 2.10.0 y torchvision 0.25.0 según 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.whlVisita la página de PyTorch para Jetson para acceder a todas las versiones diferentes de PyTorch para las distintas versiones de JetPack. Para obtener una lista más detallada sobre la compatibilidad de PyTorch y Torchvision, visita la página de compatibilidad de PyTorch y Torchvision.
Instala cuDSS para solucionar un problema de dependencia 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 cudssInstalar onnxruntime-gpu
El paquete onnxruntime-gpu alojado en PyPI no tiene binarios aarch64 para Jetson. Por eso, necesitamos instalar manualmente este paquete. Este paquete es necesario para algunas de las exportaciones.
Puedes encontrar todos los paquetes disponibles de onnxruntime-gpu, organizados por versión de JetPack, versión de Python y otros detalles de compatibilidad, en la matriz de compatibilidad de ONNX Runtime para Jetson Zoo.
Para JetPack 6 con soporte para Python 3.10, puedes instalar 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.whlAlternativamente, para 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.whlEjecutar en JetPack 5.1.2
Instalar el paquete Ultralytics
Aquí instalaremos el paquete Ultralytics en Jetson con dependencias opcionales para poder exportar los modelos de PyTorch a otros formatos diferentes. Nos centraremos principalmente en exportaciones a NVIDIA TensorRT porque TensorRT garantiza que podamos obtener el máximo rendimiento de los dispositivos Jetson.
-
Actualiza la lista de paquetes, instala pip y actualiza a la última versión
sudo apt update sudo apt install python3-pip -y pip install -U pip -
Instala el paquete
ultralyticsde pip con dependencias opcionalespip install ultralytics[export] -
Reinicia el dispositivo
sudo reboot
Instalar PyTorch y Torchvision
La instalación anterior de ultralytics instalará Torch y Torchvision. Sin embargo, estos dos paquetes instalados vía pip no son compatibles con la plataforma Jetson, que se basa en la arquitectura ARM64. Por lo tanto, debemos instalar manualmente una rueda (wheel) de PyTorch preconstruida mediante pip y compilar o instalar Torchvision desde el código fuente.
-
Desinstala PyTorch y Torchvision instalados actualmente
pip uninstall torch torchvision -
Instala
torch 2.1.0ytorchvision 0.16.2según 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
Visita la página de PyTorch para Jetson para acceder a todas las versiones diferentes de PyTorch para las distintas versiones de JetPack. Para obtener una lista más detallada sobre la compatibilidad de PyTorch y Torchvision, visita la página de compatibilidad de PyTorch y Torchvision.
Instalar onnxruntime-gpu
El paquete onnxruntime-gpu alojado en PyPI no tiene binarios aarch64 para Jetson. Por eso, necesitamos instalar manualmente este paquete. Este paquete es necesario para algunas de las exportaciones.
Puedes encontrar todos los paquetes de onnxruntime-gpu disponibles, organizados por versión de JetPack, versión de Python y otros detalles de compatibilidad, en la matriz de compatibilidad de ONNX Runtime de Jetson Zoo. Aquí descargaremos e instalaremos onnxruntime-gpu 1.17.0 con soporte para 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 revertirá automáticamente la versión de NumPy a la más reciente. Por tanto, debemos reinstalar NumPy a la 1.23.5 para solucionar este problema ejecutando:
pip install numpy==1.23.5
Usa TensorRT en NVIDIA Jetson
De todos los formatos de exportación de modelos soportados por Ultralytics, TensorRT ofrece el mayor rendimiento de inferencia en dispositivos NVIDIA Jetson, lo que lo convierte en nuestra principal recomendación para despliegues en Jetson. Para instrucciones de configuración y uso avanzado, consulta nuestra guía de integración dedicada de TensorRT.
Convertir modelo a TensorRT y ejecutar inferencia
El modelo YOLO26n en formato PyTorch se convierte a TensorRT para ejecutar la inferencia con el modelo exportado.
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")Visita la página de exportación para acceder a argumentos adicionales al exportar modelos a diferentes formatos de modelo
Usa el acelerador de aprendizaje profundo de NVIDIA (DLA)
El acelerador de aprendizaje profundo de NVIDIA (DLA) es un componente de hardware especializado integrado en los dispositivos NVIDIA Jetson que optimiza la inferencia de aprendizaje profundo para mejorar la eficiencia energética y el rendimiento. Al descargar tareas de la GPU (liberándola para procesos más intensivos), el DLA permite que los modelos se ejecuten con un menor consumo de energía manteniendo un alto rendimiento, lo cual es ideal para sistemas integrados y aplicaciones de IA en tiempo real.
Los siguientes dispositivos Jetson están equipados con hardware DLA:
| Dispositivo Jetson | Núcleos DLA | Frecuencia máxima DLA |
|---|---|---|
| Serie Jetson AGX Orin | 2 | 1.6 GHz |
| Jetson Orin NX 16GB | 2 | 614 MHz |
| Jetson Orin NX 8GB | 1 | 614 MHz |
| Serie Jetson AGX Xavier | 2 | 1.4 GHz |
| Serie 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", 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")Al usar exportaciones DLA, es posible que algunas capas no sean compatibles con DLA y se ejecuten en la GPU. Este cambio puede introducir latencia adicional y afectar el rendimiento general de la inferencia. Por lo tanto, el DLA no está diseñado principalmente para reducir la latencia de inferencia en comparación con TensorRT ejecutándose totalmente en la GPU. En su lugar, su objetivo principal es aumentar el rendimiento y mejorar la eficiencia energética.
Benchmarks de YOLO11/ YOLO26 en NVIDIA Jetson
El equipo de Ultralytics ejecutó benchmarks de YOLO11/ YOLO26 en 11 formatos de modelo diferentes para medir la velocidad y la precisión: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN y ExecuTorch. Los benchmarks se realizaron en los kits de desarrollo NVIDIA Jetson AGX Thor, NVIDIA Jetson AGX Orin (64GB), NVIDIA Jetson Orin Nano Super y el dispositivo Seeed Studio reComputer J4012 con Jetson Orin NX 16GB, utilizando una precisión FP32 con un tamaño de imagen de entrada predeterminado de 640.
Gráficos de comparación
Aunque todas las exportaciones de modelos funcionan en NVIDIA Jetson, solo hemos incluido PyTorch, TorchScript y TensorRT en el gráfico de comparación a continuación, ya que utilizan la GPU de Jetson y garantizan los mejores resultados. Todas las demás exportaciones solo utilizan la CPU y su rendimiento no es tan bueno como el de los tres anteriores. Puedes encontrar benchmarks de todas las exportaciones en la sección después de este gráfico.
Kit de desarrollo NVIDIA Jetson AGX Thor
Kit de desarrollo NVIDIA Jetson AGX Orin (64GB)
Kit de desarrollo NVIDIA Jetson Orin Nano Super
NVIDIA Jetson Orin NX 16GB
Tablas detalladas de comparación
La siguiente tabla muestra los resultados de los benchmarks para cinco modelos diferentes (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) en 11 formatos diferentes (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), indicando el estado, tamaño, métrica mAP50-95(B) y tiempo de inferencia para cada combinación.
Kit de desarrollo NVIDIA Jetson AGX Thor
| Formato | Estado | Tamaño en disco (MB) | mAP50-95(B) | Tiempo de inferencia (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 |
Evaluado con Ultralytics 8.4.7
El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.
Kit de desarrollo NVIDIA Jetson AGX Orin (64GB)
| Formato | Estado | Tamaño en disco (MB) | mAP50-95(B) | Tiempo de inferencia (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 |
Evaluado con Ultralytics 8.4.32
El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.
Kit de desarrollo NVIDIA Jetson Orin Nano Super
| Formato | Estado | Tamaño en disco (MB) | mAP50-95(B) | Tiempo de inferencia (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 |
Evaluado con Ultralytics 8.4.33
El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.
NVIDIA Jetson Orin NX 16GB
| Formato | Estado | Tamaño en disco (MB) | mAP50-95(B) | Tiempo de inferencia (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 |
Evaluado con Ultralytics 8.4.33
El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.
Explora más iniciativas de evaluación comparativa de Seeed Studio ejecutadas en diferentes versiones de hardware NVIDIA Jetson.
Reproduce nuestros resultados
Para reproducir los benchmarks de Ultralytics anteriores en todos los formatos de exportación, ejecuta este código:
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)Ten en cuenta que los resultados de las pruebas de rendimiento pueden variar según la configuración exacta del hardware y software de un sistema, así como de la carga de trabajo actual del sistema en el momento en que se ejecutan las pruebas. Para obtener los resultados más fiables, utiliza un conjunto de datos con una gran cantidad de imágenes, por ejemplo, data='coco.yaml' (5000 imágenes de validación).
Mejores prácticas al usar NVIDIA Jetson
Cuando uses NVIDIA Jetson, hay un par de buenas prácticas a seguir para permitir el máximo rendimiento en la NVIDIA Jetson ejecutando YOLO26.
-
Activa el modo de energía MAX
Activar el modo de energía MAX en la Jetson asegurará que todos los núcleos de CPU y GPU estén encendidos.
sudo nvpmodel -m 0 -
Activa los relojes de Jetson
Activar los relojes de Jetson asegurará que todos los núcleos de CPU y GPU funcionen a su frecuencia máxima.
sudo jetson_clocks -
Instala la aplicación Jetson Stats
Podemos usar la aplicación jetson stats para monitorizar las temperaturas de los componentes del sistema y comprobar otros detalles del sistema, tales como ver la utilización de CPU, GPU, RAM, cambiar los modos de energía, establecer los relojes al máximo y comprobar la información de JetPack.
sudo apt update sudo pip install jetson-stats sudo reboot jtop
Consejos de optimización de memoria para NVIDIA Jetson
La memoria disponible suele ser el factor limitante en los dispositivos Jetson, particularmente en variantes con menos memoria como Jetson Orin Nano (8 GB) u Orin NX 8 GB. Los siguientes consejos son cambios prácticos y de bajo riesgo que pueden liberar colectivamente varios cientos de megabytes y permitirte ejecutar modelos YOLO más grandes o soportar cargas de trabajo paralelas adicionales. Para un tratamiento exhaustivo, consulta el blog de NVIDIA sobre cómo maximizar la eficiencia de memoria en Jetson.
1. Cambia a arranque sin cabecera (No-GUI)
Si tu Jetson está conectada a través de SSH o ejecutándose como un dispositivo de producción sin una pantalla conectada, eliminar el entorno de escritorio y el servidor de pantalla puede recuperar hasta 865 MB de RAM:
sudo systemctl set-default multi-user.target
sudo rebootPara restaurar el escritorio más tarde:
sudo systemctl set-default graphical.target
sudo reboot2. Desactiva los servicios del sistema no utilizados
Los servicios en segundo plano no esenciales (Bluetooth, gestores de conectividad, daemons de hardware no utilizados) consumen alrededor de 32 MB en conjunto. Enumera los servicios activos y desactiva todo lo que tu despliegue no necesite:
# List running services
systemctl list-units --type=service --state=running
# Disable a service
sudo systemctl disable <service-name>3. Perfila el uso de memoria
Antes de optimizar, identifica qué procesos están consumiendo RAM realmente. procrank ordena los procesos por PSS (Proportional Set Size), que refleja la huella de memoria real por proceso con mayor precisión que RSS (Resident Set Size, el total de páginas de RAM física mapeadas por un proceso, incluyendo páginas compartidas con otros procesos):
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrankPara ver las asignaciones de GPU y NvMap (CUDA/pipeline de vídeo) por proceso:
sudo cat /sys/kernel/debug/nvmap/iovmm/clients4. Ejecuta la inferencia sin pantalla en producción
Para pipelines de inferencia que no tienen requisitos de vista previa en vivo, desactivar los componentes relacionados con la pantalla (Tiler, OSD, DisplaySink) puede ahorrar más de 200 MB solo del pipeline. Con Ultralytics YOLO, suprime el visor y escribe los resultados en el disco:
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)Impacto acumulativo
| Optimización | Memoria aprox. ahorrada |
|---|---|
| Desactivar la GUI del escritorio | ~865 MB |
| Desactivar servicios del SO no utilizados | ~32 MB |
| Pipeline de inferencia sin cabecera (sin pantalla) | ~200+ MB |
| Total (victorias fáciles) | ~1 GB+ |
Combinar estos cambios es especialmente valioso cuando se apunta a modelos TensorRT INT8 en dispositivos con memoria limitada; puede ser la diferencia entre que quepa o no una variante de modelo más grande en la memoria.
Próximos pasos
Para seguir aprendiendo y obtener ayuda, consulta la Documentación de Ultralytics YOLO26.
Preguntas frecuentes
¿Cómo despliego Ultralytics YOLO26 en dispositivos NVIDIA Jetson?
Desplegar Ultralytics YOLO26 en dispositivos NVIDIA Jetson es un proceso sencillo. Primero, flashea tu dispositivo Jetson con el NVIDIA JetPack SDK. Luego, utiliza una imagen de Docker precompilada para una configuración rápida o instala manualmente los paquetes necesarios. Encontrarás pasos detallados para cada enfoque en las secciones Inicio rápido con Docker e Inicio con instalación nativa.
¿Qué benchmarks de rendimiento puedo esperar de los modelos YOLO11 en dispositivos NVIDIA Jetson?
Los modelos YOLO11 han sido evaluados en varios dispositivos NVIDIA Jetson, mostrando mejoras significativas en el rendimiento. Por ejemplo, el formato TensorRT ofrece el mejor rendimiento de inferencia. La tabla en la sección Tablas comparativas detalladas proporciona una vista completa de las métricas de rendimiento como mAP50-95 y el tiempo de inferencia entre diferentes formatos de modelo.
¿Por qué debería usar TensorRT para desplegar YOLO26 en NVIDIA Jetson?
TensorRT es altamente recomendado para desplegar modelos YOLO26 en NVIDIA Jetson debido a su rendimiento óptimo. Acelera la inferencia aprovechando las capacidades de la GPU de la Jetson, asegurando la máxima eficiencia y velocidad. Aprende más sobre cómo convertir a TensorRT y ejecutar la inferencia en la sección Usar TensorRT en NVIDIA Jetson.
¿Cómo puedo instalar PyTorch y Torchvision en NVIDIA Jetson?
Para instalar PyTorch y Torchvision en NVIDIA Jetson, primero desinstala cualquier versión existente que pueda haberse instalado mediante pip. Luego, instala manualmente las versiones compatibles de PyTorch y Torchvision para la arquitectura ARM64 de la Jetson. En la sección Instalar PyTorch y Torchvision se proporcionan instrucciones detalladas para este proceso.
¿Cuáles son las mejores prácticas para maximizar el rendimiento en NVIDIA Jetson al usar YOLO26?
Para maximizar el rendimiento en NVIDIA Jetson con YOLO26, sigue estas mejores prácticas:
- Activa el modo de energía MAX para utilizar todos los núcleos de CPU y GPU.
- Activa los relojes de Jetson para que todos los núcleos funcionen a su frecuencia máxima.
- Instala la aplicación Jetson Stats para monitorizar las métricas del sistema.
Para comandos y detalles adicionales, consulta la sección Mejores prácticas al usar NVIDIA Jetson.
¿Cómo libero memoria en NVIDIA Jetson para ejecutar modelos YOLO más grandes?
La RAM disponible suele ser el cuello de botella en los dispositivos Jetson con menos memoria. Tres victorias fáciles que juntas pueden recuperar más de 1 GB:
- Cambia a arranque sin cabecera (
sudo systemctl set-default multi-user.target) para eliminar la GUI del escritorio (~865 MB ahorrados). - Desactiva servicios no utilizados como Bluetooth o gestores de conectividad (~32 MB ahorrados).
- Ejecuta la inferencia sin pantalla configurando
show=Falseen tu llamadapredictde YOLO, lo que evita asignar memoria del pipeline de pantalla (~200+ MB ahorrados).
Usa procrank para perfilar el uso de RAM por proceso y sudo cat /sys/kernel/debug/nvmap/iovmm/clients para inspeccionar las asignaciones de GPU. Consulta la sección Consejos de optimización de memoria para obtener todos los detalles.
¿Por qué mi exportación TensorRT INT8 desactiva end2end en JetPack 6?
TensorRT 10.3.0 incluido en JetPack 6 tiene un problema conocido que impide las compilaciones del motor INT8 cuando end2end=True está habilitado. Cuando Ultralytics detecta esta combinación, desactiva automáticamente la rama end2end para asegurar que la exportación tenga éxito.
Para restaurar las exportaciones INT8 end2end, actualiza TensorRT a una versión más reciente (por ejemplo, 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 tensorrtDespués de actualizar, vuelve a ejecutar tu exportación. Para más detalles, consulta el problema de GitHub #23841.