Ultralytics YOLO27:

Guía de inicio rápido: NVIDIA Jetson con Ultralytics YOLO26#

Esta guía completa ofrece un recorrido detallado 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 nuevo NVIDIA Jetson AGX Thor Developer Kit, que ofrece hasta 2070 TFLOPS FP4 de capacidad de cálculo de IA y 128 GB de memoria, con una potencia configurable entre 40 W y 130 W. Ofrece más de 7,5 veces la capacidad de cálculo de IA de NVIDIA Jetson AGX Orin, con una eficiencia energética 3,5 veces superior 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 NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) y NVIDIA Jetson AGX Orin Developer Kit (64GB) con la versión estable más reciente de JetPack 7.2, NVIDIA Jetson Orin Nano Super Developer Kit con la versión de JetPack JP6.1, Seeed Studio reComputer J4012, basado en NVIDIA Jetson Orin NX 16GB, con la versión de JetPack JP6.0/ la versión de JetPack JP5.1.3, y Seeed Studio reComputer J1020 v2, basado en NVIDIA Jetson Nano 4GB, con la versión de JetPack JP4.6.1. Se espera que funcione en toda la gama de hardware NVIDIA Jetson, incluidos los dispositivos más recientes y los antiguos.

¿Qué es NVIDIA Jetson?#

NVIDIA Jetson es una serie de placas de computación integradas diseñadas para llevar la computación acelerada de IA (inteligencia artificial) a dispositivos periféricos. Estos dispositivos compactos y potentes se basan en la arquitectura de GPU de NVIDIA y pueden ejecutar algoritmos complejos de IA y modelos de aprendizaje profundo directamente en el dispositivo, sin depender de recursos de computación en la nube. Las placas Jetson se utilizan a menudo en robótica, vehículos autónomos, automatización industrial y otras aplicaciones en las que la inferencia de IA debe realizarse localmente, con baja latencia y alta eficiencia. Además, estas placas se basan en la arquitectura ARM64 y funcionan con un consumo menor que los dispositivos tradicionales de computación con GPU.

Comparativa de la serie NVIDIA Jetson#

NVIDIA Jetson AGX Thor es la última generación de la familia NVIDIA Jetson, basada en la arquitectura NVIDIA Blackwell, que ofrece un rendimiento de IA considerablemente superior al de las generaciones anteriores. La tabla siguiente compara algunos 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 la GPU1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPUCPU Arm® Neoverse®-V3AE de 14 núcleos y 64 bits, 1MB L2 + 16MB L3CPU NVIDIA Arm® Cortex A78AE v8.2 de 12 núcleos y 64 bits, 3MB L2 + 6MB L3CPU NVIDIA Arm® Cortex A78AE v8.2 de 8 núcleos y 64 bits, 2MB L2 + 4MB L3CPU Arm® Cortex®-A78AE v8.2 de 6 núcleos y 64 bits, 1.5MB L2 + 4MB L3CPU NVIDIA Carmel Arm®v8.2 de 8 núcleos y 64 bits, 8MB L2 + 4MB L3CPU NVIDIA Carmel Arm®v8.2 de 6 núcleos y 64 bits, 6MB L2 + 4MB L3Procesador Quad-Core Arm® Cortex®-A57 MPCore
Frecuencia máxima de la CPU2.6 GHz2.2 GHz2.0 GHz1.7 GHz2.2 GHz1.9 GHz1.43GHz
Memoria128GB LPDDR5X de 256 bits, 273GB/s64GB LPDDR5 de 256 bits, 204.8GB/s16GB LPDDR5 de 128 bits, 102.4GB/s8GB LPDDR5 de 128 bits, 102 GB/s32GB LPDDR4x de 256 bits, 136.5GB/s8GB LPDDR4x de 128 bits, 59.7GB/s4GB LPDDR4 de 64 bits, 25.6GB/s

Para consultar una tabla comparativa más detallada, visita la sección Compare Specifications de la página oficial de NVIDIA Jetson.

¿Qué es NVIDIA JetPack?#

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, además de reducir 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 bibliotecas para acelerar la computación con GPU, los contenidos multimedia, los gráficos y la visión por computador. También incluye ejemplos, documentación y herramientas de desarrollo tanto para el ordenador anfitrión como para el kit de desarrollo, y es compatible con SDK de nivel superior como DeepStream para el análisis de vídeo en streaming, Isaac para robótica y Riva para IA conversacional.

Instalar JetPack en NVIDIA Jetson#

El primer paso tras adquirir un dispositivo NVIDIA Jetson es instalar NVIDIA JetPack en el dispositivo. Hay varias formas de instalar JetPack en dispositivos NVIDIA Jetson.

  1. Para JetPack 7.2 en un Jetson AGX Thor, AGX Orin u Orin Nano Developer Kit oficial, descarga la ISO unificada de Jetson, escríbela en una unidad USB y sigue la guía de inicio rápido específica del dispositivo para AGX Thor, AGX Orin u Orin Nano. A partir de JetPack 7.2, Orin Nano ya no utiliza una imagen descargable para tarjeta SD; la ISO en USB instala Jetson Linux en la tarjeta microSD o el SSD NVMe del dispositivo.
  2. Si utilizas deliberadamente JetPack 6 en un Jetson Orin Nano Developer Kit, sigue las instrucciones de NVIDIA para actualizar JetPack 6.x y usar la tarjeta SD.
  3. Si tienes cualquier otro Development Kit de NVIDIA, puedes instalar JetPack en el dispositivo mediante SDK Manager.
  4. Si tienes un dispositivo Seeed Studio reComputer J4012, puedes instalar JetPack en el SSD incluido; si tienes un dispositivo Seeed Studio reComputer J1020 v2, puedes instalar JetPack en la eMMC/SSD.
  5. Si tienes cualquier otro dispositivo de terceros basado en el módulo NVIDIA Jetson, se recomienda seguir el procedimiento de instalación mediante la línea de comandos.
Nota

Para los métodos 1, 4 y 5 anteriores, después de instalar el sistema e iniciar el dispositivo, introduce "sudo apt update && sudo apt install nvidia-jetpack -y" en el terminal del dispositivo para instalar los componentes restantes de JetPack necesarios.

Compatibilidad de JetPack según el dispositivo Jetson#

La tabla siguiente destaca las versiones de NVIDIA JetPack compatibles con distintos 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 a utilizar Ultralytics YOLO26 en NVIDIA Jetson es ejecutarlo con imágenes Docker prediseñadas para Jetson. Consulta la tabla anterior y elige la versión de JetPack correspondiente al dispositivo Jetson que tengas.

t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
Compatibilidad con JetPack 7 Docker y TensorRT

La imagen latest-nvidia-arm64 utiliza NVIDIA PyTorch 26.08, incluyendo CUDA 13.4 y TensorRT 11.2. NVIDIA enumera JetPack 7.1 para PyTorch en su tabla de compatibilidad, pero TensorRT 11.2.1 no es compatible con JetPack, incluyendo Thor. Utiliza esta imagen solo para cargas de trabajo de PyTorch en un host compatible. Para exportaciones de TensorRT en Jetson, utiliza la instalación nativa a continuación con el entorno de ejecución de TensorRT 10.x compatible con tu versión de JetPack. JetPack 7.2 en Thor u Orin requiere validación de contenedores por separado. Reconstruye los motores para la GPU de destino y la versión de TensorRT.

Para las imágenes de JetPack 4, 5 y 6, continúa en Usar TensorRT en NVIDIA Jetson. La imagen de JetPack 7.1 anterior es solo para cargas de trabajo de PyTorch.

Comienza con la instalación nativa#

Para realizar una instalación nativa sin Docker, sigue los pasos que se indican a continuación.

Ejecutar en JetPack 7.2#

Instalar el paquete de Ultralytics#

Aquí instalaremos el paquete de Ultralytics en 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 las exportaciones a NVIDIA TensorRT, ya que TensorRT garantiza que podamos obtener el máximo rendimiento de los dispositivos Jetson.

  1. Actualizar la lista de paquetes, instalar pip y actualizarlo a la última versión

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Instalar el paquete pip ultralytics

    pip install ultralytics
  3. Reiniciar 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 los dispositivos JetPack 7.2 que utilizan CUDA 13. Por tanto, debemos instalarlos manualmente.

Instalar torch y torchvision según JP7.2

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

Instalar onnxruntime-gpu#

Utiliza un wheel de GPU de ONNX Runtime adaptado a tus versiones de JetPack, Python y CUDA. Las versiones actuales de PyPI incluyen wheels ARM64, pero no reemplazan los paquetes específicos del dispositivo para cada versión de JetPack.

Aquí descargaremos e instalaremos onnxruntime-gpu 1.24.0 con compatibilidad con 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 de Ultralytics#

Aquí instalaremos el paquete de Ultralytics en 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 las exportaciones a NVIDIA TensorRT, ya que TensorRT garantiza que podamos obtener el máximo rendimiento de los dispositivos Jetson.

  1. Actualizar la lista de paquetes, instalar pip y actualizarlo a la última versión

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Instalar el paquete pip ultralytics

    pip install ultralytics
  3. Reiniciar 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 tanto, debemos instalar manualmente un wheel de PyTorch para pip prediseñado y compilar o instalar Torchvision desde el código fuente.

Instalar 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 versiones de PyTorch disponibles para las distintas versiones de JetPack. Para consultar una lista más detallada de compatibilidad entre 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 cudss

Instalar onnxruntime-gpu#

Utiliza un wheel de GPU de ONNX Runtime adaptado a tus versiones de JetPack, Python y CUDA. Las versiones actuales de PyPI incluyen wheels ARM64, pero no reemplazan los paquetes específicos del dispositivo para cada versión de JetPack.

Puedes encontrar todos los paquetes 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.

Para JetPack 6 con compatibilidad con 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 de Ultralytics#

Aquí instalaremos el paquete de Ultralytics en 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 las exportaciones a NVIDIA TensorRT, ya que TensorRT garantiza que podamos obtener el máximo rendimiento de los dispositivos Jetson.

  1. Actualizar la lista de paquetes, instalar pip y actualizarlo a la última versión

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
  2. Instalar el paquete pip ultralytics

    pip install ultralytics
  3. Reiniciar 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 tanto, debemos instalar manualmente un wheel de PyTorch para pip prediseñado y compilar o instalar Torchvision desde el código fuente.

  1. Desinstalar PyTorch y Torchvision instalados actualmente

    pip uninstall torch torchvision
  2. Instalar 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 versiones de PyTorch disponibles para las distintas versiones de JetPack. Para consultar una lista más detallada de compatibilidad entre PyTorch y Torchvision, visita la página de compatibilidad de PyTorch y Torchvision.

Instalar onnxruntime-gpu#

Utiliza un wheel de GPU de ONNX Runtime adaptado a tus versiones de JetPack, Python y CUDA. Las versiones actuales de PyPI incluyen wheels ARM64, pero no reemplazan los paquetes específicos del dispositivo para cada versión de JetPack.

Puedes encontrar todos los paquetes 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 compatibilidad con 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 tanto, debemos reinstalar NumPy en 1.23.5 para solucionar un problema ejecutando:

pip install numpy==1.23.5

Usar TensorRT en NVIDIA Jetson#

Entre 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. Antes de exportar, instala los enlaces de Python de TensorRT proporcionados para tu versión de JetPack y verifícalos con python3 -c "import tensorrt; print(tensorrt.__version__)". Mantén el entorno de ejecución de TensorRT 10.x compatible en JetPack 6/7; no lo reemplaces con TensorRT 11.2.1. Para obtener instrucciones de configuración y uso avanzado, consulta nuestra guía de integración dedicada de TensorRT.

También puedes exportar desde el navegador sin configurar localmente el entorno de compilación. En la pestaña Exportar modelo de Ultralytics Platform, selecciona TensorRT y el destino Jetson correspondiente. Las selecciones de Thor se validan en hardware Thor físico. Las seis selecciones de Orin generan actualmente motores candidatos compilados para AGX-Orin; valídalos en el SKU de Orin de destino antes del despliegue.

Los motores TensorRT son específicos del dispositivo

TensorRT crea perfiles y ajusta un motor en la GPU utilizada para compilarlo. Haz coincidir la arquitectura de GPU y el entorno de ejecución de TensorRT/CUDA del destino, y valida cada motor descargado en el dispositivo de despliegue. Los SKU de Orin con la misma arquitectura no garantizan automáticamente la portabilidad, y la calibración INT8 debe realizarse en el dispositivo de destino para obtener los mejores resultados.

Convertir el modelo a TensorRT y ejecutar 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 distintos formatos de modelo

Usar 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 exigentes), DLA permite ejecutar modelos con un menor consumo energético manteniendo un alto rendimiento, algo ideal para sistemas integrados y aplicaciones de IA en tiempo real.

Compatibilidad de TensorRT y DLA

NVIDIA enumera TensorRT 10.7 como la última versión con compatibilidad con DLA; TensorRT 11.0, 11.1 y 11.2 no son compatibles con DLA. Utiliza una versión de TensorRT compatible con DLA que sea compatible con tu versión de JetPack. TensorRT 11.2.1 no es compatible con JetPack, incluidas las exportaciones exclusivas para GPU.

Los siguientes dispositivos Jetson incorporan 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 a DLA, es posible que algunas capas no sean compatibles con la ejecución en DLA y vuelvan a la GPU para ejecutarse. Esta alternativa puede introducir latencia adicional y afectar al rendimiento general de la inferencia. Por tanto, DLA no está diseñado principalmente para reducir la latencia de inferencia frente a TensorRT ejecutándose íntegramente en la GPU. Su objetivo principal es aumentar el rendimiento y mejorar la eficiencia energética.

Pruebas de rendimiento de YOLO26 en NVIDIA Jetson#

El equipo de Ultralytics ejecutó las pruebas de rendimiento de 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, ExecuTorch. Las pruebas de rendimiento se ejecutaron en el kit de desarrollador NVIDIA Jetson AGX Thor, el kit de desarrollador NVIDIA Jetson AGX Orin (64 GB), el kit de desarrollador NVIDIA Jetson Orin Nano Super y el dispositivo Seeed Studio reComputer J4012 con Jetson Orin NX 16 GB a una precisión de 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 siguiente porque utilizan la GPU de Jetson y garantizan los mejores resultados. El resto de exportaciones solo utiliza la CPU y su rendimiento no es tan bueno como el de las tres anteriores. Puedes consultar 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 representa los resultados de las pruebas de rendimiento para cinco modelos diferentes (YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x) en 11 formatos diferentes (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch), lo que proporciona el estado, el tamaño, la 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

Benchmark ejecutado con Ultralytics 8.4.7

Nota

El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.

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

Benchmark ejecutado con Ultralytics 8.4.32

Nota

El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.

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

Benchmark ejecutado con Ultralytics 8.4.33

Nota

El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.

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

Benchmark ejecutado con Ultralytics 8.4.33

Nota

El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.

Explora más trabajos de benchmarking de Seeed Studio ejecutados en distintas versiones del hardware NVIDIA Jetson.

Reproduce nuestros resultados#

Para reproducir los benchmarks de Ultralytics anteriores en todos los formatos de exportación, ejecuta este código:

Ejemplo
from ultralytics import YOLO

# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")

# Benchmark YOLO26n 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 en función del hardware y la configuración de software exactos del sistema, así como de la carga de trabajo actual del sistema en el momento de realizar las pruebas. Para obtener 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).

Prácticas recomendadas al usar NVIDIA Jetson#

Al usar NVIDIA Jetson, debes seguir un par de prácticas recomendadas para lograr el máximo rendimiento en NVIDIA Jetson al ejecutar YOLO26.

  1. Activar el modo de máxima potencia

    Activar el modo de máxima potencia en Jetson garantiza que todos los núcleos de CPU y GPU estén activados.

    sudo nvpmodel -m 0
  2. Activar Jetson Clocks

    Activar Jetson Clocks garantiza que todos los núcleos de CPU y GPU funcionen a su frecuencia máxima.

    sudo jetson_clocks
  3. Instalar la aplicación Jetson Stats

    Puedes usar la aplicación jetson stats para supervisar las temperaturas de los componentes del sistema y consultar otros detalles, como el uso de la CPU, la GPU y la RAM, cambiar los modos de potencia, establecer las frecuencias máximas y consultar la información de JetPack.

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

Consejos para optimizar la memoria en NVIDIA Jetson#

La memoria disponible suele ser el factor limitante en los dispositivos Jetson, especialmente en las variantes con menos memoria, como Jetson Orin Nano (8 GB) u Orin NX 8 GB. Los consejos siguientes son cambios prácticos y de bajo riesgo que, en conjunto, pueden liberar varios cientos de megabytes y permitirte ejecutar modelos YOLO más grandes o admitir cargas de trabajo paralelas adicionales. Para obtener un análisis completo, consulta el blog de NVIDIA sobre cómo maximizar la eficiencia de la memoria en Jetson.

1. Cambiar al arranque sin interfaz gráfica#

Si tu Jetson está conectado mediante SSH o funciona como 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 adelante:

sudo systemctl set-default graphical.target
sudo reboot

2. Desactivar servicios del sistema no utilizados#

Los servicios en segundo plano no esenciales (Bluetooth, gestores de conectividad y demonios de hardware no utilizados) consumen aproximadamente 32 MB en conjunto. Enumera los servicios activos y desactiva todo lo que no requiera tu implementación:

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

# Disable a service
sudo systemctl disable SERVICE_NAME

3. Perfilar el uso de memoria#

Antes de optimizar, identifica qué procesos están consumiendo realmente la RAM. procrank ordena los procesos por PSS (tamaño proporcional del conjunto), que refleja la huella de memoria real de cada proceso con mayor precisión que RSS (tamaño del conjunto residente, el total de páginas de RAM física asignadas 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 consultar las asignaciones de GPU y NvMap (canalización de CUDA/vídeo) por proceso:

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

4. Ejecutar la inferencia sin pantalla en producción#

En las canalizaciones de inferencia que no necesitan una vista previa en directo, desactivar los componentes relacionados con la pantalla (Tiler, OSD, DisplaySink) puede ahorrar 200+ MB solo en la canalización. Con Ultralytics YOLO, oculta el visor y escribe los resultados en el disco en su lugar:

Ejemplo
from ultralytics import YOLO

model = YOLO("yolo26n.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 acumulado#

OptimizaciónMemoria ahorrada aprox.
Desactivar la interfaz gráfica del escritorio~865 MB
Desactivar servicios del sistema operativo no utilizados~32 MB
Canalización de inferencia sin interfaz gráfica (sin pantalla)~200+ MB
Total (mejoras sencillas)~1 GB+

Combinar estos cambios es especialmente útil al trabajar con modelos TensorRT INT8 en dispositivos con memoria limitada: puede marcar la diferencia entre poder cargar en memoria una variante de modelo más grande o no.

Siguientes pasos#

Para seguir aprendiendo y obtener asistencia, consulta la documentación de Ultralytics YOLO26.

Preguntas frecuentes#

  • Implementar Ultralytics YOLO26 en dispositivos NVIDIA Jetson es un proceso sencillo. Primero, instala el SDK NVIDIA JetPack en tu dispositivo Jetson. Después, utiliza una imagen de Docker prediseñada para configurarlo rápidamente o instala manualmente los paquetes necesarios. Encontrarás los pasos detallados para cada método en las secciones Inicio rápido con Docker y Comenzar con la instalación nativa.

  • Se han probado los modelos YOLO26 en varios dispositivos NVIDIA Jetson, lo que muestra mejoras significativas en el rendimiento. Por ejemplo, el formato TensorRT ofrece el mejor rendimiento de inferencia. La tabla de la sección Tablas detalladas de comparación proporciona una visión completa de las métricas de rendimiento, como mAP50-95 y el tiempo de inferencia en los diferentes formatos de modelo.

  • TensorRT es muy recomendable para implementar modelos YOLO26 en NVIDIA Jetson por su rendimiento óptimo. Acelera la inferencia aprovechando las capacidades de la GPU de Jetson, lo que garantiza la máxima eficiencia y velocidad. Descubre más información sobre cómo convertir a TensorRT y ejecutar la inferencia en la sección Usar TensorRT en NVIDIA Jetson.

  • Para instalar PyTorch y Torchvision en NVIDIA Jetson, primero desinstala las versiones existentes que puedan haberse instalado mediante pip. Después, instala manualmente las versiones compatibles de PyTorch y Torchvision para la arquitectura ARM64 de Jetson. Encontrarás instrucciones detalladas para este proceso en la sección Instalar PyTorch y Torchvision.

  • Para maximizar el rendimiento de YOLO26 en NVIDIA Jetson, sigue estas prácticas recomendadas:

    1. Activa el modo de máxima potencia para utilizar todos los núcleos de CPU y GPU.
    2. Activa Jetson Clocks para ejecutar todos los núcleos a su frecuencia máxima.
    3. Instala la aplicación Jetson Stats para supervisar las métricas del sistema.

    Para consultar comandos y más información, ve a la sección Prácticas recomendadas al usar NVIDIA Jetson.

  • La RAM disponible suele ser el cuello de botella en los dispositivos Jetson con menos memoria. Tres mejoras sencillas que, en conjunto, pueden recuperar más de 1 GB:

    1. Cambia al arranque sin interfaz gráfica (sudo systemctl set-default multi-user.target) para eliminar la interfaz gráfica del escritorio (ahorra ~865 MB).
    2. Desactiva los servicios no utilizados, como Bluetooth o los gestores de conectividad (ahorra ~32 MB).
    3. Ejecuta la inferencia sin pantalla estableciendo show=False en tu llamada predict de YOLO, lo que evita asignar memoria para la canalización de pantalla (ahorra ~200+ MB).

    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 para optimizar la memoria 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 nms=False está habilitado. Cuando Ultralytics detecta esta combinación, selecciona automáticamente la cabeza de uno a muchos para garantizar que la exportación se realice con éxito.

    Para restaurar las exportaciones INT8 sin NMS, 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 tensorrt

    Después de actualizar, vuelve a ejecutar la exportación. Para obtener más información, consulta el problema n.º 23841 de GitHub.

Comentarios