Ultralytics YOLO27:
Get Started

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

Esta guía completa ofrece instrucciones detalladas para implementar Ultralytics YOLO26 en dispositivos NVIDIA Jetson. También incluye pruebas de rendimiento que muestran 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 de computación de IA FP4 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 computación de IA de NVIDIA Jetson AGX Orin y una eficiencia energética 3,5 veces superior, lo que permite ejecutar sin problemas los modelos de IA más populares.



Ver: Cómo usar Ultralytics YOLO26 en dispositivos NVIDIA Jetson
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 última versión estable de JetPack 7.2; con NVIDIA Jetson Orin Nano Super Developer Kit con la versión JP6.1 de JetPack; con Seeed Studio reComputer J4012, basado en NVIDIA Jetson Orin NX 16GB y con la versión JP6.0 o JP5.1.3 de JetPack; y con Seeed Studio reComputer J1020 v2, basado en NVIDIA Jetson Nano 4GB y con la versión JP4.6.1 de JetPack. 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 los 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 los recursos de computación en la nube. Las placas Jetson se usan a menudo en robótica, vehículos autónomos, automatización industrial y otras aplicaciones que requieren ejecutar la inferencia de IA localmente, con baja latencia y gran eficiencia. Además, estas placas se basan en la arquitectura ARM64 y consumen menos energía que los dispositivos de computación con GPU tradicionales.

Comparativa de la serie NVIDIA Jetson#

NVIDIA Jetson AGX Thor es la versión más reciente de la familia NVIDIA Jetson y se basa en la arquitectura NVIDIA Blackwell, que mejora drásticamente el rendimiento de IA respecto a las generaciones anteriores. En la tabla siguiente se comparan algunos dispositivos del ecosistema Jetson.

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 y 2560 núcleos, con 96 Tensor CoresGPU con arquitectura NVIDIA Ampere y 2048 núcleos, con 64 Tensor CoresGPU con arquitectura NVIDIA Ampere y 1024 núcleos, con 32 Tensor CoresGPU con arquitectura NVIDIA Ampere y 1024 núcleos, con 32 Tensor CoresGPU con arquitectura NVIDIA Volta y 512 núcleos, con 64 Tensor CoresGPU con arquitectura NVIDIA Volta™ y 384 núcleos, con 48 Tensor CoresGPU con arquitectura NVIDIA Maxwell™ y 128 núcleos
Frecuencia máxima de GPU1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPUCPU Arm® Neoverse®-V3AE de 64 bits y 14 núcleos; 1 MB de L2 + 16 MB de L3CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits y 12 núcleos; 3 MB de L2 + 6 MB de L3CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits y 8 núcleos; 2 MB de L2 + 4 MB de L3CPU Arm® Cortex®-A78AE v8.2 de 64 bits y 6 núcleos, 1,5 MB de caché L2 + 4 MB de caché L3CPU NVIDIA Carmel Arm®v8.2 de 64 bits y 8 núcleos, 8 MB de caché L2 + 4 MB de caché L3CPU NVIDIA Carmel Arm®v8.2 de 64 bits y 6 núcleos, 6 MB de caché L2 + 4 MB de caché L3Procesador Arm® Cortex®-A57 MPCore de cuatro núcleos
Frecuencia máxima de la 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 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 ofrece 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 artificial. También incluye ejemplos, documentación y herramientas para desarrolladores tanto para el ordenador anfitrión como para el kit de desarrollo, y admite 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 conseguir un dispositivo NVIDIA Jetson es instalar NVIDIA JetPack en él. Hay varias formas de instalarlo en dispositivos NVIDIA Jetson.

  1. Para JetPack 7.2 en un kit de desarrollo oficial Jetson AGX Thor, AGX Orin u Orin Nano, descarga la ISO unificada de Jetson, grábala 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 de tarjeta SD descargable; la instalación desde la ISO en USB instala Jetson Linux en la tarjeta microSD o el SSD NVMe del dispositivo.
  2. Si utilizas JetPack 6 deliberadamente en un kit de desarrollo Jetson Orin Nano, sigue las instrucciones de actualización y de tarjeta SD de JetPack 6.x de NVIDIA.
  3. Si tienes otro kit de desarrollo NVIDIA, puedes instalar JetPack en el dispositivo con 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 el eMMC/ SSD.
  5. Si tienes otro dispositivo de terceros equipado con un módulo NVIDIA Jetson, te recomendamos seguir las instrucciones de instalación desde 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 muestra las versiones de NVIDIA JetPack compatibles con los 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 usar Ultralytics YOLO26 en NVIDIA Jetson es ejecutarlo con imágenes de 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 de JetPack 7 con Docker y TensorRT

La imagen latest-nvidia-arm64 utiliza NVIDIA PyTorch 26.08, que incluye CUDA 13.4 y TensorRT 11.2. NVIDIA incluye JetPack 7.1 para PyTorch en su tabla de compatibilidad, pero TensorRT 11.2.1 no es compatible con JetPack, incluido Thor. Utiliza esta imagen solo para cargas de trabajo de PyTorch en un host compatible. Para exportaciones de Jetson con TensorRT, utiliza la instalación nativa que se indica a continuación, con el entorno de ejecución TensorRT 10.x compatible con tu versión de JetPack. Los contenedores de JetPack 7.2 en Thor u Orin requieren una validación independiente. Vuelve a compilar los motores para la GPU de destino y la versión de TensorRT.

Para las imágenes de JetPack 4, 5 y 6, sigue los pasos de Uso de TensorRT en NVIDIA Jetson. La imagen de JetPack 7.1 anterior es solo para cargas de trabajo de PyTorch.

Empieza con la instalación nativa#

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

Ejecución en JetPack 7.2#

Instala el paquete Ultralytics#

Aquí instalaremos el paquete Ultralytics en Jetson. Las dependencias de exportación se instalan automáticamente la primera vez que exportas un modelo, así que aquí solo necesitas el paquete base. Nos centraremos principalmente en las exportaciones a NVIDIA TensorRT, porque TensorRT permite sacar el máximo rendimiento de los dispositivos Jetson.

  1. Actualiza la lista de paquetes, instala pip y actualízalo 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

Instala 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 con CUDA 13. Por tanto, tenemos que 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#

Utiliza un paquete de ONNX Runtime para GPU compatible con tus versiones de JetPack, Python y CUDA. Las versiones actuales de PyPI incluyen paquetes ARM64, pero no sustituyen a los paquetes específicos del dispositivo para todas las versiones 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

Ejecución en JetPack 6.1#

Instala el paquete Ultralytics#

Aquí instalaremos el paquete Ultralytics en Jetson. Las dependencias de exportación se instalan automáticamente la primera vez que exportas un modelo, así que aquí solo necesitas el paquete base. Nos centraremos principalmente en las exportaciones a NVIDIA TensorRT, porque TensorRT permite sacar el máximo rendimiento de los dispositivos Jetson.

  1. Actualiza la lista de paquetes, instala pip y actualízalo 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

Instala 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, basada en la arquitectura ARM64. Por tanto, tenemos que instalar manualmente un paquete pip precompilado de PyTorch 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 versiones de PyTorch para las distintas versiones de JetPack. Para consultar una lista más detallada de la compatibilidad entre 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#

Utiliza un paquete de ONNX Runtime para GPU compatible con tus versiones de JetPack, Python y CUDA. Las versiones actuales de PyPI incluyen paquetes ARM64, pero no sustituyen a los paquetes específicos del dispositivo para todas las versiones de JetPack.

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

Ejecución en JetPack 5.1.2#

Instala el paquete Ultralytics#

Aquí instalaremos el paquete Ultralytics en Jetson. Las dependencias de exportación se instalan automáticamente la primera vez que exportas un modelo, así que aquí solo necesitas el paquete base. Nos centraremos principalmente en las exportaciones a NVIDIA TensorRT, porque TensorRT permite sacar el máximo rendimiento de los dispositivos Jetson.

  1. Actualiza la lista de paquetes, instala pip y actualízalo 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

Instala 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, basada en la arquitectura ARM64. Por tanto, tenemos que instalar manualmente un paquete pip precompilado de PyTorch y compilar o instalar Torchvision desde el código fuente.

  1. Desinstala las versiones de PyTorch y Torchvision que estén instaladas

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

Instala onnxruntime-gpu#

Utiliza un paquete de ONNX Runtime para GPU compatible con tus versiones de JetPack, Python y CUDA. Las versiones actuales de PyPI incluyen paquetes ARM64, pero no sustituyen a los paquetes específicos del dispositivo para todas las versiones de JetPack.

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 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 restaurará automáticamente la última versión de NumPy. Por tanto, tenemos que volver a instalar NumPy como 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 la mayor velocidad de inferencia en dispositivos NVIDIA Jetson, por lo que es nuestra principal recomendación para implementaciones en Jetson. Antes de exportar, instala los enlaces de Python de TensorRT incluidos en tu versión de JetPack y verifícalos con python3 -c "import tensorrt; print(tensorrt.__version__)". Mantén el entorno de ejecución TensorRT 10.x compatible con JetPack 6/7; no lo sustituyas por TensorRT 11.2.1. Para obtener instrucciones de configuración y descubrir opciones de uso avanzadas, consulta nuestra guía específica de integración de TensorRT.

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

Los motores TensorRT son específicos de cada dispositivo

TensorRT perfila y ajusta un motor en la GPU en la que se compila. Usa una arquitectura de GPU y un entorno de ejecución TensorRT/CUDA que coincidan con los del dispositivo de destino, y valida cada motor descargado en el dispositivo de implementación. Que los modelos SKU de Orin tengan la misma arquitectura no garantiza automáticamente su portabilidad, y para obtener los mejores resultados, la calibración INT8 debe realizarse en el dispositivo de destino.

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

# Carga un modelo YOLO26n de PyTorch
model = YOLO("yolo26n.pt")

# Exporta el modelo a TensorRT
model.export(format="engine")  # crea 'yolo26n.engine'

# Carga el modelo exportado a TensorRT
trt_model = YOLO("yolo26n.engine")

# Ejecutar inferencia
results = trt_model("https://ultralytics.com/images/bus.jpg")
Nota

Visita la página de exportación para consultar argumentos adicionales al exportar modelos a distintos formatos

Usa NVIDIA Deep Learning Accelerator (DLA)#

NVIDIA Deep Learning Accelerator (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 (y dejarla libre para procesos más exigentes), DLA permite ejecutar modelos con un menor consumo energético sin renunciar a un alto rendimiento, algo ideal para sistemas integrados y aplicaciones de IA en tiempo real.

Compatibilidad de TensorRT y DLA

NVIDIA indica que TensorRT 10.7 es 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 y con tu versión de JetPack. TensorRT 11.2.1 no es compatible con JetPack, ni siquiera para exportaciones que solo utilizan la 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

# Carga un modelo YOLO26n de PyTorch
model = YOLO("yolo26n.pt")

# Exporta el modelo a TensorRT con DLA habilitado (solo funciona con FP16 o INT8)
model.export(format="engine", device="dla:0", quantize=16)  # dla:0 o dla:1 corresponden a los núcleos DLA

# Carga el modelo exportado a TensorRT
trt_model = YOLO("yolo26n.engine")

# Ejecutar inferencia
results = trt_model("https://ultralytics.com/images/bus.jpg")
Nota

Al exportar con DLA, es posible que algunas capas no sean compatibles con DLA y se ejecuten en la GPU. Esta alternativa puede aumentar la latencia y afectar al rendimiento general de la inferencia. Por tanto, el objetivo principal de DLA no es reducir la latencia de inferencia en comparación con TensorRT ejecutándose íntegramente en la GPU. Su objetivo principal es aumentar el rendimiento y mejorar la eficiencia energética.

Resultados de las pruebas de rendimiento de YOLO26 en NVIDIA Jetson#

El equipo de Ultralytics evaluó YOLO26 en 11 formatos de modelo, midiendo la velocidad y la precisión: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN y ExecuTorch. Las pruebas se realizaron en un kit de desarrollo NVIDIA Jetson AGX Thor, un kit de desarrollo NVIDIA Jetson AGX Orin (64 GB), un kit de desarrollo NVIDIA Jetson Orin Nano Super y un Seeed Studio reComputer J4012 equipado con un dispositivo Jetson Orin NX de 16 GB, con precisión FP32 y un tamaño de imagen de entrada predeterminado de 640.

Gráficos comparativos#

Aunque todas las exportaciones de modelos funcionan en NVIDIA Jetson, en el siguiente gráfico comparativo solo hemos incluido PyTorch, TorchScript y TensorRT, porque utilizan la GPU de Jetson y garantizan los mejores resultados. El resto de las exportaciones solo utilizan la CPU y ofrecen un rendimiento inferior al de estos tres formatos. En la sección posterior a este gráfico encontrarás los resultados de las pruebas de todos los formatos de exportación.

Kit de desarrollo NVIDIA Jetson AGX Thor#

Jetson AGX Thor Benchmarks
Evaluado con Ultralytics 8.3.226

Kit de desarrollo NVIDIA Jetson AGX Orin (64 GB)#

Jetson AGX Orin Benchmarks
Evaluado con Ultralytics 8.4.32

Kit de desarrollo NVIDIA Jetson Orin Nano Super#

Jetson Orin Nano Super Benchmarks
Evaluado con Ultralytics 8.4.33

NVIDIA Jetson Orin NX 16 GB#

Jetson Orin NX 16GB Benchmarks
Evaluado con Ultralytics 8.4.33

Tablas comparativas detalladas#

La tabla siguiente muestra los resultados de las pruebas de rendimiento de 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), e indica el estado, el tamaño, la métrica mAP50-95(B) y el tiempo de inferencia de cada combinación.

Kit de desarrollo NVIDIA Jetson AGX Thor#

Rendimiento
FormatoEstadoTamaño en disco (MB)mAP50-95(B)Tiempo de inferencia (ms/im)
PyTorch✅5.30.47987.39
TorchScript✅9.80.47894.21
ONNX✅9.50.47676.58
OpenVINO✅10.10.479417.50
TensorRT (FP32)✅13.90.47911.90
TensorRT (FP16)✅7.60.47971.39
TensorRT (INT8)✅6.50.42731.52
TF SavedModel✅25.70.476447.24
TF GraphDef✅9.50.476445.98
TF Lite✅9.90.4764182.04
MNN✅9.40.478421.83

Pruebas de rendimiento realizadas con Ultralytics 8.4.7

Nota

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

Kit de desarrollo NVIDIA Jetson AGX Orin (64 GB)#

Rendimiento
FormatoEstadoTamaño en disco (MB)mAP50-95(B)Tiempo de inferencia (ms/im)
PyTorch✅5.30.479011.58
TorchScript✅9.80.47704.60
ONNX✅9.50.47709.87
OpenVINO✅9.60.482028.80
TensorRT (FP32)✅11.50.47704.18
TensorRT (FP16)✅7.90.47892.62
TensorRT (INT8)✅5.40.46402.30
TF SavedModel✅24.60.476071.10
TF GraphDef✅9.50.476070.02
TF Lite✅9.90.4760227.94
MNN✅9.40.476032.46
NCNN✅9.30.481029.93

Pruebas de rendimiento realizadas con Ultralytics 8.4.32

Nota

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

Kit de desarrollo NVIDIA Jetson Orin Nano Super#

Rendimiento
FormatoEstadoTamaño en disco (MB)mAP50-95(B)Tiempo de inferencia (ms/im)
PyTorch✅5.30.479015.60
TorchScript✅9.80.477012.60
ONNX✅9.50.476015.76
OpenVINO✅9.60.482056.23
TensorRT (FP32)✅11.30.47707.53
TensorRT (FP16)✅8.10.48004.57
TensorRT (INT8)✅5.30.44903.80
TF SavedModel✅24.60.4760118.33
TF GraphDef✅9.50.4760116.30
TF Lite✅9.90.4760286.00
MNN✅9.40.476068.77
NCNN✅9.30.481047.50

Pruebas de rendimiento realizadas con Ultralytics 8.4.33

Nota

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

NVIDIA Jetson Orin NX 16 GB#

Rendimiento
FormatoEstadoTamaño en disco (MB)mAP50-95(B)Tiempo de inferencia (ms/im)
PyTorch✅5.30.479913.90
TorchScript✅9.80.478711.60
ONNX✅9.50.476314.18
OpenVINO✅9.60.481940.19
TensorRT (FP32)✅11.40.47707.01
TensorRT (FP16)✅8.00.47894.13
TensorRT (INT8)✅5.50.44893.49
TF SavedModel✅24.60.476492.34
TF GraphDef✅9.50.476492.06
TF Lite✅9.90.4764254.43
MNN✅9.40.476048.55
NCNN✅9.30.480534.31

Pruebas de rendimiento realizadas con Ultralytics 8.4.33

Nota

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

Descubre más pruebas de rendimiento de Seeed Studio ejecutadas en distintas versiones de hardware 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

# Carga un modelo YOLO26n de PyTorch
model = YOLO("yolo26n.pt")

# Prueba la velocidad y la precisión de YOLO26n en el conjunto de datos COCO128 con todos los formatos de exportación
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 del sistema, así como la carga de trabajo del sistema en el momento de ejecutar las pruebas. Para obtener los resultados más fiables, usa un conjunto de datos con muchas imágenes, p. ej., data='coco.yaml' (5000 imágenes de validación).

Prácticas recomendadas al usar NVIDIA Jetson#

Al usar NVIDIA Jetson, sigue estas prácticas recomendadas para obtener el máximo rendimiento de NVIDIA Jetson al ejecutar YOLO26.

  1. Activa el modo de potencia MAX

    Al activar el modo de potencia MAX en Jetson, te aseguras de que todos los núcleos de CPU y GPU estén encendidos.

    sudo nvpmodel -m 0
  2. Activa Jetson Clocks

    Al activar Jetson Clocks, te aseguras 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 usar la aplicación jetson stats para supervisar las temperaturas de los componentes del sistema y consultar otros detalles, como el uso de CPU, GPU y RAM, cambiar los modos de potencia, establecer las frecuencias máximas y consultar información de JetPack.

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

Consejos para optimizar la memoria de NVIDIA Jetson#

La memoria disponible suele ser el factor limitante en los dispositivos Jetson, sobre todo 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 más cargas de trabajo en paralelo. Para obtener información completa, consulta el artículo de NVIDIA sobre cómo maximizar la eficiencia de la memoria en Jetson.

1. Cambia al arranque sin interfaz gráfica#

Si te conectas a Jetson por SSH o lo usas como dispositivo de producción sin una pantalla conectada, eliminar el entorno de escritorio y el servidor de pantalla puede liberar hasta 865 MB de RAM:

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

Para volver a activar el escritorio más adelante:

sudo systemctl set-default graphical.target
sudo reboot

2. Desactiva los servicios del sistema que no uses#

Los servicios en segundo plano no esenciales (Bluetooth, gestores de conectividad y demonios de hardware que no uses) consumen alrededor de 32 MB en total. Muestra los servicios activos y desactiva los que no necesite tu implementación:

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

# Disable a service
sudo systemctl disable SERVICE_NAME

3. Analiza el uso de memoria#

Antes de optimizar, identifica qué procesos consumen realmente RAM. procrank ordena los procesos por PSS (tamaño proporcional del conjunto), que refleja la huella de memoria real de cada proceso con más precisión que RSS (tamaño del conjunto residente, las páginas de RAM física totales asignadas a un proceso, incluidas las 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) de cada proceso:

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

4. Ejecuta 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 más de 200 MB solo en la canalización. Con Ultralytics YOLO, desactiva el visor y guarda los resultados en disco:

Ejemplo
from ultralytics import YOLO

model = YOLO("yolo26n.engine")

# show=False evita que se abra una ventana de visualización; save=True guarda en disco los resultados anotados
results = model.predict(source="video.mp4", show=False, save=True)

Impacto acumulado#

OptimizaciónAhorro de memoria aprox.
Desactivar la interfaz gráfica de escritorio~865 MB
Desactivar los servicios del sistema que no se usan~32 MB
Canalización de inferencia sin pantalla~200+ MB
Total (mejoras sencillas)~1 GB+

Combinar estos cambios resulta especialmente útil al usar 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.

Próximos pasos#

Para obtener más información y ayuda, consulta la documentación de Ultralytics YOLO26.

Preguntas frecuentes#

  • Implementar Ultralytics YOLO26 en dispositivos NVIDIA Jetson es muy sencillo. Primero, instala la imagen del sistema en tu dispositivo Jetson con NVIDIA JetPack SDK. Después, usa una imagen Docker prediseñada para configurarlo rápidamente o instala manualmente los paquetes necesarios. Encontrarás instrucciones detalladas para cada método en las secciones Inicio rápido con Docker y Empieza con la instalación nativa.

  • Se han probado modelos YOLO26 en varios dispositivos NVIDIA Jetson y se han observado mejoras de rendimiento significativas. Por ejemplo, el formato TensorRT ofrece el mejor rendimiento de inferencia. La tabla de la sección Tablas comparativas detalladas ofrece una visión completa de métricas de rendimiento como mAP50-95 y el tiempo de inferencia en distintos formatos de modelo.

  • Se recomienda encarecidamente TensorRT para implementar modelos YOLO26 en NVIDIA Jetson por su rendimiento óptimo. Acelera la inferencia al aprovechar las capacidades de GPU de Jetson, lo que garantiza la máxima eficiencia y velocidad. Descubre cómo convertir a TensorRT y ejecutar la inferencia en la sección Usa 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 de PyTorch y Torchvision compatibles con la arquitectura ARM64 de Jetson. Encontrarás instrucciones detalladas del proceso en la sección Instala PyTorch y Torchvision.

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

    1. Activa el modo de potencia MAX para usar todos los núcleos de CPU y GPU.
    2. Activa Jetson Clocks para que todos los núcleos funcionen 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 pueden liberar en conjunto 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 de escritorio (ahorro de ~865 MB).
    2. Desactiva los servicios que no uses, como Bluetooth o los gestores de conectividad (ahorro de ~32 MB).
    3. Ejecuta la inferencia sin pantalla estableciendo show=False en la llamada de YOLO predict, lo que evita asignar memoria a la canalización de pantalla (ahorro de ~200 MB o más).

    Usa procrank para analizar el uso de RAM de cada 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 toda la información.

  • TensorRT 10.3.0, incluido en JetPack 6, tiene un problema conocido que impide compilar motores INT8 sin NMS (nms=False). Cuando Ultralytics detecta esta combinación, selecciona automáticamente el cabezal uno a muchos para garantizar que la exportación se complete correctamente.

    Para volver a exportar en INT8 sin NMS, actualiza TensorRT a una versión más reciente (p. ej., 10.7.0 o superior):

    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