YOLO Vision 2026:

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.

Compatibilidad con nuevos productos

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
NVIDIA Jetson Ecosystem
Nota

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 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
Rendimiento de IA2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPUGPU con arquitectura NVIDIA Blackwell de 2560 núcleos y 96 Tensor CoresGPU con arquitectura NVIDIA Ampere de 2048 núcleos y 64 Tensor CoresGPU con arquitectura NVIDIA Ampere de 1024 núcleos y 32 Tensor CoresGPU con arquitectura NVIDIA Ampere de 1024 núcleos y 32 Tensor CoresGPU con arquitectura NVIDIA Volta de 512 núcleos y 64 Tensor CoresGPU con arquitectura NVIDIA Volta™ de 384 núcleos y 48 Tensor CoresGPU con arquitectura NVIDIA Maxwell™ de 128 núcleos
Frecuencia máxima de GPU1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPUCPU Arm® Neoverse®-V3AE de 64 bits de 14 núcleos, 1 MB L2 + 16 MB L3CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits de 12 núcleos, 3 MB L2 + 6 MB L3CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits de 8 núcleos, 2 MB L2 + 4 MB L3CPU Arm® Cortex®-A78AE v8.2 de 64 bits de 6 núcleos, 1,5 MB L2 + 4 MB L3CPU NVIDIA Carmel Arm®v8.2 de 64 bits de 8 núcleos, 8 MB L2 + 4 MB L3CPU NVIDIA Carmel Arm®v8.2 de 64 bits de 6 núcleos, 6 MB L2 + 4 MB L3Procesador Quad-Core Arm® Cortex®-A57 MPCore
Frecuencia máxima de CPU2.6 GHz2.2 GHz2.0 GHz1.7 GHz2.2 GHz1.9 GHz1.43GHz
Memoria128 GB LPDDR5X de 256 bits, 273 GB/s64 GB LPDDR5 de 256 bits, 204,8 GB/s16 GB LPDDR5 de 128 bits, 102,4 GB/s8 GB LPDDR5 de 128 bits, 102 GB/s32 GB LPDDR4x de 256 bits, 136,5 GB/s8 GB LPDDR4x de 128 bits, 59,7 GB/s4 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.

  1. 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.
  2. 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.
  3. Si tienes cualquier otro kit de desarrollo de NVIDIA, puedes flashear JetPack en el dispositivo usando SDK Manager.
  4. 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.
  5. Si tienes cualquier otro dispositivo de terceros impulsado por el módulo NVIDIA Jetson, se recomienda seguir el flasheo por línea de comandos.
Nota

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

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 $t
Alcance de Docker en JetPack 7

La 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.

  1. 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
  2. Instala el paquete pip ultralytics

    pip install ultralytics
  3. 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/cu130

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.

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.whl

Ejecutar 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.

  1. 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
  2. Instala el paquete pip ultralytics

    pip install ultralytics
  3. 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.whl
Nota

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 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 cudss

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.

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.whl

Como 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.whl

Ejecutar 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.

  1. 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
  2. Instala el paquete pip ultralytics

    pip install ultralytics
  3. 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.

  1. Desinstala PyTorch y Torchvision instalados actualmente

    pip uninstall torch torchvision
  2. Instala torch 2.1.0 y torchvision 0.16.2 según 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 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.whl
Nota

onnxruntime-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.

Los motores TensorRT son específicos para cada dispositivo

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.

Ejemplo
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 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.

TensorRT 11.0 y DLA

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 JetsonNúcleos DLAFrecuencia máxima de 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
Ejemplo
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")
Nota

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#

Jetson AGX Thor Benchmarks
Benchmarked with Ultralytics 8.3.226

NVIDIA Jetson AGX Orin Developer Kit (64GB)#

Jetson AGX Orin Benchmarks
Benchmarked with Ultralytics 8.4.32

NVIDIA Jetson Orin Nano Super Developer Kit#

Jetson Orin Nano Super Benchmarks
Benchmarked with Ultralytics 8.4.33

NVIDIA Jetson Orin NX 16GB#

Jetson Orin NX 16GB Benchmarks
Benchmarked with Ultralytics 8.4.33

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#

Rendimiento
FormatoEstadoTamaño en disco (MB)mAP50-95(B)Tiempo de inferencia (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

Evaluado con Ultralytics 8.4.7

Nota

El tiempo de inferencia no incluye el pre/post-procesamiento.

NVIDIA Jetson AGX Orin Developer Kit (64GB)#

Rendimiento
FormatoEstadoTamaño en disco (MB)mAP50-95(B)Tiempo de inferencia (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

Evaluado con Ultralytics 8.4.32

Nota

El tiempo de inferencia no incluye el pre/post-procesamiento.

NVIDIA Jetson Orin Nano Super Developer Kit#

Rendimiento
FormatoEstadoTamaño en disco (MB)mAP50-95(B)Tiempo de inferencia (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

Evaluado con Ultralytics 8.4.33

Nota

El tiempo de inferencia no incluye el pre/post-procesamiento.

NVIDIA Jetson Orin NX 16GB#

Rendimiento
FormatoEstadoTamaño en disco (MB)mAP50-95(B)Tiempo de inferencia (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

Evaluado con Ultralytics 8.4.33

Nota

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:

Ejemplo
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.

  1. 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
  2. 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
  3. 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
Jetson Stats

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 reboot

Para restaurar el escritorio más tarde:

sudo systemctl set-default graphical.target
sudo reboot

2. 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_NAME

3. 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 ./procrank

Para ver las asignaciones de GPU y NvMap (CUDA/pipeline de vídeo) por proceso:

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

4. 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:

Ejemplo
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ónMemoria 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:

    1. Habilita el modo MAX Power para utilizar todos los núcleos de la CPU y GPU.
    2. Habilita los relojes de Jetson (Jetson Clocks) para ejecutar todos los núcleos a su frecuencia máxima.
    3. 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:

    1. 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).
    2. Deshabilitar servicios no utilizados, como Bluetooth o gestores de conectividad (~32 MB ahorrados).
    3. Ejecuta la inferencia sin pantalla configurando show=False en tu llamada de YOLO predict, lo que evita asignar memoria para la canalización de visualización (~200+ MB ahorrados).

    Utiliza 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 Memory Optimization Tips para obtener todos los detalles.

  • TensorRT 10.3.0 incluido con JetPack 6 tiene un problema conocido que impide la compilación de motores INT8 cuando end2end=True está 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 tensorrt

    Después de actualizar, vuelve a ejecutar tu exportación. Para obtener más detalles, consulta el GitHub issue #23841.

Comentarios