Guía de inicio rápido: NVIDIA Jetson con Ultralytics YOLO26#
Esta guía completa ofrece una descripción detallada paso a paso para desplegar Ultralytics YOLO26 en dispositivos NVIDIA Jetson. Además, muestra pruebas 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, el cual ofrece hasta 2070 TFLOPS en FP4 de cálculo de IA y 128 GB de memoria con un consumo configurable entre 40 W y 130 W. Proporciona más de 7,5 veces más potencia de cálculo de IA que el NVIDIA Jetson AGX Orin, con una eficiencia energética 3,5 veces mejor para ejecutar sin problemas los modelos de IA más populares.
Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices

Esta guía se ha probado con el NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) y el NVIDIA Jetson AGX Orin Developer Kit (64GB) ejecutando el último JetPack 7.2 estable, 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 gama de hardware de NVIDIA Jetson, incluidos los dispositivos más recientes y heredados.
¿Qué es NVIDIA Jetson?#
NVIDIA Jetson es una serie de placas de computación integrada diseñadas para llevar la computación de IA (inteligencia artificial) acelerada a los dispositivos de borde. Estos dispositivos compactos y potentes están construidos en torno a la arquitectura de GPU de NVIDIA y pueden ejecutar algoritmos complejos de IA 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 debe realizarse de forma local con baja latencia y alta eficiencia. Además, estas placas se basan en la arquitectura ARM64 y funcionan a menor potencia en comparación con los dispositivos de computación con 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 NVIDIA Blackwell, la cual aporta un rendimiento de IA drásticamente mejorado en comparación con las generaciones anteriores. La tabla siguiente 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 NVIDIA Blackwell de 2560 núcleos y 96 Tensor Cores | GPU con arquitectura NVIDIA Ampere de 2048 núcleos y 64 Tensor Cores | GPU con arquitectura NVIDIA Ampere de 1024 núcleos y 32 Tensor Cores | GPU con arquitectura NVIDIA Ampere de 1024 núcleos y 32 Tensor Cores | GPU con arquitectura NVIDIA Volta de 512 núcleos y 64 Tensor Cores | GPU con arquitectura NVIDIA Volta™ de 384 núcleos y 48 Tensor Cores | GPU con arquitectura NVIDIA Maxwell™ de 128 núcleos |
| Frecuencia máxima de GPU | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | CPU Arm® Neoverse®-V3AE de 64 bits de 14 núcleos, 1 MB L2 + 16 MB L3 | CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits de 12 núcleos, 3 MB L2 + 6 MB L3 | CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits de 8 núcleos, 2 MB L2 + 4 MB L3 | CPU Arm® Cortex®-A78AE v8.2 de 64 bits de 6 núcleos, 1,5 MB L2 + 4 MB L3 | CPU NVIDIA Carmel Arm®v8.2 de 64 bits de 8 núcleos, 8 MB L2 + 4 MB L3 | CPU NVIDIA Carmel Arm®v8.2 de 64 bits de 6 núcleos, 6 MB L2 + 4 MB L3 | Procesador Quad-Core 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.43GHz |
| 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 integral para crear aplicaciones de IA aceleradas de extremo a extremo y reducir el tiempo de comercialización. JetPack incluye Jetson Linux con gestor de arranque, kernel de Linux, entorno de escritorio Ubuntu y un conjunto completo de bibliotecas para la aceleración de computación en GPU, multimedia, gráficos y computer vision. También incluye ejemplos, documentación y herramientas para desarrolladores tanto para el equipo anfitrión como para el kit de desarrollo, y es compatible con SDKs de nivel superior como DeepStream para análisis de vídeo en streaming, Isaac para robótica y Riva para IA conversacional.
Instalar JetPack en NVIDIA Jetson#
El primer paso después de tener en tus manos un dispositivo NVIDIA Jetson es instalar NVIDIA JetPack en él. Existen varias formas diferentes de instalarlo en dispositivos NVIDIA Jetson.
- Para JetPack 7.2 en un kit de desarrollo oficial de Jetson AGX Thor, AGX Orin o Orin Nano, descarga la imagen ISO unificada de Jetson, grábala en una unidad flash USB y sigue la guía de inicio rápido específica del dispositivo para AGX Thor, AGX Orin o Orin Nano. A partir de JetPack 7.2, Orin Nano ya no utiliza una imagen de tarjeta SD descargable; el USB con la ISO instala Jetson Linux en la tarjeta microSD o SSD NVMe del dispositivo.
- Si utilizas intencionadamente JetPack 6 en un kit de desarrollo Jetson Orin Nano, sigue las instrucciones de actualización y tarjeta SD de JetPack 6.x de NVIDIA.
- Si tienes cualquier otro kit de desarrollo de NVIDIA, puedes flashear JetPack en el dispositivo usando SDK Manager.
- Si posees un dispositivo Seeed Studio reComputer J4012, puedes flashear JetPack en el SSD incluido y, si posees un dispositivo Seeed Studio reComputer J1020 v2, puedes flashear JetPack en la eMMC/SSD.
- Si tienes cualquier otro dispositivo de terceros impulsado por el módulo NVIDIA Jetson, se recomienda seguir el flasheo por línea de comandos.
Para los métodos 1, 4 y 5 anteriores, después de instalar el sistema y arrancar el dispositivo, introduce "sudo apt update && sudo apt install nvidia-jetpack -y" en el terminal del dispositivo para instalar todos los componentes restantes de JetPack necesarios.
Compatibilidad de JetPack según el dispositivo Jetson#
La siguiente tabla destaca las versiones de NVIDIA JetPack compatibles con 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 de Docker preconfiguradas para Jetson. Consulta la tabla anterior y elige la versión de JetPack correspondiente al dispositivo Jetson que poseas.
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tLa imagen pública latest-nvidia-arm64 actualmente solo incluye la ruta para JetPack 7.0 Thor/DGX Spark. Para JetPack 7.2 en Thor u Orin, usa la instalación nativa que se indica a continuación hasta que la imagen pública se valide y actualice explícitamente para esas combinaciones.
Una vez hecho esto, pasa a la sección Use TensorRT on NVIDIA Jetson.
Empezar con la instalación nativa#
Para una instalación nativa sin Docker, consulta los pasos siguientes.
Ejecutar en JetPack 7.2#
Instalar el paquete Ultralytics#
Aquí instalaremos el paquete Ultralytics en la Jetson. Las dependencias de exportación se instalan automáticamente la primera vez que exportas un modelo, por lo que aquí solo se necesita el paquete base. Nos centraremos principalmente en NVIDIA TensorRT exports porque TensorRT garantizará 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 pip
ultralyticspip install ultralytics -
Reinicia el dispositivo
sudo reboot
Instalar PyTorch y Torchvision#
La instalación de ultralytics anterior instalará Torch y Torchvision. Sin embargo, estos 2 paquetes instalados a través de pip no son compatibles para ejecutarse en dispositivos con JetPack 7.2 y CUDA 13. Por lo tanto, necesitamos instalarlos manualmente.
Instala torch y torchvision según JP7.2
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130Instala onnxruntime-gpu#
El paquete onnxruntime-gpu alojado en PyPI no tiene binarios de aarch64 para la Jetson. Por lo tanto, necesitamos instalar este paquete manualmente. 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 la Jetson. Las dependencias de exportación se instalan automáticamente la primera vez que exportas un modelo, por lo que aquí solo se necesita el paquete base. Nos centraremos principalmente en NVIDIA TensorRT exports porque TensorRT garantizará 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 pip
ultralyticspip install ultralytics -
Reinicia el dispositivo
sudo reboot
Instalar PyTorch y Torchvision#
La instalación de ultralytics anterior instalará Torch y Torchvision. Sin embargo, estos dos paquetes instalados mediante 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 precompilada 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 diferentes versiones 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 dependencias 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 cudssInstala onnxruntime-gpu#
El paquete onnxruntime-gpu alojado en PyPI no tiene binarios de aarch64 para la Jetson. Por lo tanto, necesitamos instalar este paquete manualmente. 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.whlComo alternativa, 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 la Jetson. Las dependencias de exportación se instalan automáticamente la primera vez que exportas un modelo, por lo que aquí solo se necesita el paquete base. Nos centraremos principalmente en NVIDIA TensorRT exports porque TensorRT garantizará 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 pip
ultralyticspip install ultralytics -
Reinicia el dispositivo
sudo reboot
Instalar PyTorch y Torchvision#
La instalación de ultralytics anterior instalará Torch y Torchvision. Sin embargo, estos dos paquetes instalados mediante 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 precompilada 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 diferentes versiones 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 onnxruntime-gpu#
El paquete onnxruntime-gpu alojado en PyPI no tiene binarios de aarch64 para la Jetson. Por lo tanto, necesitamos instalar este paquete manualmente. 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. 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 lo tanto, necesitamos reinstalar NumPy a 1.23.5 para solucionar un problema ejecutando:
pip install numpy==1.23.5
Usa TensorRT en NVIDIA Jetson#
De todos los formatos de exportación de modelos compatibles con 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 ver las instrucciones de configuración y el uso avanzado, consulta nuestra guía dedicada a la integración de TensorRT.
También puedes exportar desde el navegador sin configurar el entorno de compilación de manera local. En la pestaña de exportación de modelos de Ultralytics Platform, selecciona TensorRT y el destino Jetson previsto. Las selecciones para Thor están validadas en hardware Thor físico. Las seis selecciones para Orin producen actualmente motores candidatos compilados para AGX Orin; valídalos en el modelo Orin correspondiente antes del despliegue.
TensorRT perfila y ajusta un motor en la GPU donde se compila. Haz coincidir la arquitectura de la GPU del objetivo y el tiempo de ejecución de TensorRT/CUDA, y valida cada motor descargado en el dispositivo de implementación. Los SKU de Orin de la misma arquitectura no garantizan automáticamente la portabilidad, y la calibración INT8 debe utilizar el dispositivo de destino para obtener los mejores resultados.
Convierte el modelo a TensorRT y ejecuta la 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
Usa el Acelerador de Aprendizaje Profundo (DLA) de NVIDIA#
NVIDIA Deep Learning Accelerator (DLA) es un componente de hardware especializado integrado en los dispositivos NVIDIA Jetson que optimiza la inferencia de deep learning para lograr eficiencia energética y rendimiento. Al descargar de trabajo a la GPU (liberándola para procesos más intensivos), DLA permite que los modelos se ejecuten con un menor consumo de energía manteniendo un alto rendimiento, lo cual resulta ideal para sistemas embebidos y aplicaciones de IA en tiempo real.
DLA no es compatible con TensorRT 11.0 y está previsto que vuelva en una versión posterior, por lo que la exportación DLA requiere TensorRT 10.x. En JetPack 6.x/7.x, exporta con una versión de TensorRT 10.x para usar DLA, o utiliza la GPU para los motores de TensorRT 11.0.
Los siguientes dispositivos Jetson están equipados con hardware DLA:
| Dispositivo Jetson | Núcleos DLA | Frecuencia máxima de 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", quantize=16) # dla:0 or dla:1 corresponds to the DLA cores
# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")Al usar exportaciones DLA, es posible que algunas capas no sean compatibles para ejecutarse en el DLA y vuelvan a la GPU para su ejecución. Este proceso de respaldo 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 completamente en la GPU. En cambio, su objetivo principal es aumentar el rendimiento y mejorar la eficiencia energética.
Benchmarks de YOLO11/ YOLO26 en NVIDIA Jetson#
Las pruebas de rendimiento de YOLO11/ YOLO26 fueron ejecutadas por el equipo de Ultralytics en 11 formatos de modelo diferentes midiendo la velocidad y la precisión: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Las pruebas se ejecutaron en el NVIDIA Jetson AGX Thor Developer Kit, NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit y Seeed Studio reComputer J4012 impulsado por el dispositivo Jetson Orin NX 16GB a precisión FP32 con un tamaño de imagen de entrada predeterminado de 640.
Gráficos comparativos#
Aunque todas las exportaciones de modelos funcionan en NVIDIA Jetson, solo hemos incluido PyTorch, TorchScript, TensorRT en el gráfico comparativo a continuación porque utilizan la GPU en Jetson y tienen garantizado producir 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 los benchmarks de todas las exportaciones en la sección posterior a este gráfico.
NVIDIA Jetson AGX Thor Developer Kit#
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
NVIDIA Jetson Orin Nano Super Developer Kit#
NVIDIA Jetson Orin NX 16GB#
Tablas comparativas detalladas#
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), proporcionando el estado, tamaño, métrica mAP50-95(B) y el tiempo de inferencia para cada combinación.
NVIDIA Jetson AGX Thor Developer Kit#
| 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 pre/post-procesamiento.
NVIDIA Jetson AGX Orin Developer Kit (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 pre/post-procesamiento.
NVIDIA Jetson Orin Nano Super Developer Kit#
| 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 pre/post-procesamiento.
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 pre/post-procesamiento.
Explora más iniciativas de pruebas de rendimiento de Seeed Studio ejecutadas en diferentes versiones de hardware de NVIDIA Jetson.
Reproduce nuestros resultados#
Para reproducir las pruebas de rendimiento anteriores de Ultralytics 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 de hardware y software de un sistema, así como de la carga de trabajo actual del sistema en el momento en que se ejecutan dichas pruebas. Para obtener los resultados más fiables, utiliza un conjunto de datos con un gran número de imágenes, por ejemplo, data='coco.yaml' (5000 imágenes de validación).
Mejores prácticas al utilizar NVIDIA Jetson#
Al utilizar NVIDIA Jetson, existen un par de mejores prácticas a seguir para permitir el máximo rendimiento en la NVIDIA Jetson ejecutando YOLO26.
-
Habilita el modo de potencia MAX
Habilitar el modo de potencia MAX en la Jetson se asegurará de que todos los núcleos de CPU y GPU estén encendidos.
sudo nvpmodel -m 0 -
Habilita los relojes de Jetson
Habilitar los relojes de Jetson se asegurará de que todos los núcleos de CPU y GPU funcionen a su frecuencia máxima.
sudo jetson_clocks -
Instala la aplicación jetson stats
Puedes utilizar 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 y RAM, cambiar los modos de potencia, configurar 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, especialmente en variantes con menor memoria como el Jetson Orin Nano (8 GB) o el Orin NX 8 GB. Los consejos a continuación 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 admitir cargas de trabajo paralelas adicionales. Para ver un tratamiento exhaustivo, consulta el blog de NVIDIA sobre cómo maximizar la eficiencia de memoria en Jetson.
1. Cambia al arranque sin cabeza (sin GUI)#
Si tu Jetson está conectada a través de SSH o funcionando 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. Deshabilita 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 combinados. Enumera los servicios activos y deshabilita cualquier cosa que tu despliegue no requiera:
# List running services
systemctl list-units --type=service --state=running
# Disable a service
sudo systemctl disable SERVICE_NAME3. Perfila el uso de memoria#
Antes de optimizar, identifica qué procesos están consumiendo realmente memoria RAM. procrank ordena los procesos por PSS (Proportional Set Size), lo cual refleja el uso real de memoria por proceso de manera más precisa que el RSS (Resident Set Size, el total de páginas de RAM física mapeadas por un proceso, incluidas las 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 los pipelines de inferencia que no tienen requisitos de previsualización en vivo, deshabilitar los componentes relacionados con la pantalla (Tiler, OSD, DisplaySink) puede ahorrar más de 200 MB solo en el pipeline. Con Ultralytics YOLO, suprime el visor y escribe los resultados en el disco en su lugar:
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 |
|---|---|
| Deshabilitar la GUI de escritorio | ~865 MB |
| Deshabilitar servicios de SO no utilizados | ~32 MB |
| Pipeline de inferencia sin cabeza (sin pantalla) | ~200+ MB |
| Total (ganancias 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 una variante de modelo más grande en la memoria o no.
Siguientes pasos#
Para obtener más información y soporte, consulta la documentación de Ultralytics YOLO26.
FAQ#
Desplegar Ultralytics YOLO26 en dispositivos NVIDIA Jetson es un proceso sencillo. Primero, flashea tu dispositivo Jetson con el NVIDIA JetPack SDK. A continuación, utiliza una imagen de Docker precompilada para una configuración rápida o instala manualmente los paquetes necesarios. Los pasos detallados para cada enfoque se pueden encontrar en las secciones Quick Start with Docker y Start with Native Installation.
Los modelos YOLO11 se han evaluado en varios dispositivos NVIDIA Jetson mostrando mejoras de rendimiento significativas. Por ejemplo, el formato TensorRT ofrece el mejor rendimiento de inferencia. La tabla en la sección Detailed Comparison Tables proporciona una visión completa de las métricas de rendimiento como mAP50-95 y el tiempo de inferencia en diferentes formatos de modelo.
TensorRT es altamente recomendable para desplegar modelos YOLO26 en NVIDIA Jetson debido a su rendimiento óptimo. Acelera la inferencia aprovechando las capacidades de la GPU de Jetson, lo que garantiza la máxima eficiencia y velocidad. Obtén más información sobre cómo convertir a TensorRT y ejecutar la inferencia en la sección Use TensorRT on NVIDIA Jetson.
Para instalar PyTorch y Torchvision en NVIDIA Jetson, primero desinstala cualquier versión existente que pueda haberse instalado mediante pip. A continuación, instala manualmente las versiones compatibles de PyTorch y Torchvision para la arquitectura ARM64 de Jetson. Las instrucciones detalladas para este proceso se proporcionan en la sección Install PyTorch and Torchvision.
Para maximizar el rendimiento en NVIDIA Jetson con YOLO26, sigue estas mejores prácticas:
- Habilita el modo MAX Power para utilizar todos los núcleos de la CPU y GPU.
- Habilita los relojes de Jetson (Jetson Clocks) para ejecutar todos los núcleos a su frecuencia máxima.
- Instala la aplicación Jetson Stats para monitorizar las métricas del sistema.
Para ver comandos y detalles adicionales, consulta la sección Best Practices when using NVIDIA Jetson.
La memoria RAM disponible suele ser el cuello de botella en dispositivos Jetson con menos memoria. Tres victorias fáciles que pueden recuperar más de 1 GB en conjunto:
- Cambia al arranque sin interfaz gráfica (headless) (
sudo systemctl set-default multi-user.target) para eliminar la interfaz gráfica de escritorio (~865 MB ahorrados). - Deshabilitar servicios no utilizados, como Bluetooth o gestores de conectividad (~32 MB ahorrados).
- Ejecuta la inferencia sin pantalla configurando
show=Falseen tu llamada de YOLOpredict, lo que evita asignar memoria para la canalización de visualización (~200+ MB ahorrados).
Utiliza
procrankpara perfilar el uso de RAM por proceso ysudo cat /sys/kernel/debug/nvmap/iovmm/clientspara inspeccionar las asignaciones de GPU. Consulta la sección Memory Optimization Tips para obtener todos los detalles.- Cambia al arranque sin interfaz gráfica (headless) (
TensorRT 10.3.0 incluido con JetPack 6 tiene un problema conocido que impide la compilación de motores INT8 cuando
end2end=Trueestá habilitado. Cuando Ultralytics detecta esta combinación, deshabilita automáticamente la rama end2end para garantizar que la exportación se realice con éxito.Para restaurar las exportaciones INT8 end2end, actualiza TensorRT a una versión más reciente (p. ej., 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 obtener más detalles, consulta el GitHub issue #23841.