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

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 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| Rendimiento de IA | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | GPU con arquitectura NVIDIA Blackwell y 2560 núcleos, con 96 Tensor Cores | GPU con arquitectura NVIDIA Ampere y 2048 núcleos, con 64 Tensor Cores | GPU con arquitectura NVIDIA Ampere y 1024 núcleos, con 32 Tensor Cores | GPU con arquitectura NVIDIA Ampere y 1024 núcleos, con 32 Tensor Cores | GPU con arquitectura NVIDIA Volta y 512 núcleos, con 64 Tensor Cores | GPU con arquitectura NVIDIA Volta™ y 384 núcleos, con 48 Tensor Cores | GPU con arquitectura NVIDIA Maxwell™ y 128 núcleos |
| Frecuencia máxima de GPU | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | CPU Arm® Neoverse®-V3AE de 64 bits y 14 núcleos; 1 MB de L2 + 16 MB de L3 | CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits y 12 núcleos; 3 MB de L2 + 6 MB de L3 | CPU NVIDIA Arm® Cortex A78AE v8.2 de 64 bits y 8 núcleos; 2 MB de L2 + 4 MB de L3 | CPU Arm® Cortex®-A78AE v8.2 de 64 bits y 6 núcleos, 1,5 MB de caché L2 + 4 MB de caché L3 | CPU NVIDIA Carmel Arm®v8.2 de 64 bits y 8 núcleos, 8 MB de caché L2 + 4 MB de caché L3 | CPU NVIDIA Carmel Arm®v8.2 de 64 bits y 6 núcleos, 6 MB de caché L2 + 4 MB de caché L3 | Procesador Arm® Cortex®-A57 MPCore de cuatro núcleos |
| Frecuencia máxima de la CPU | 2.6 GHz | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
| Memoria | 128 GB LPDDR5X de 256 bits, 273 GB/s | 64 GB LPDDR5 de 256 bits, 204,8 GB/s | 16 GB LPDDR5 de 128 bits, 102,4 GB/s | 8 GB LPDDR5 de 128 bits, 102 GB/s | 32 GB LPDDR4x de 256 bits, 136,5 GB/s | 8 GB LPDDR4x de 128 bits, 59,7 GB/s | 4 GB LPDDR4 de 64 bits, 25,6 GB/s |
Para 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.
- 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.
- 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.
- Si tienes otro kit de desarrollo NVIDIA, puedes instalar JetPack en el dispositivo con SDK Manager.
- 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.
- 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.
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 4 | JetPack 5 | JetPack 6 | JetPack 7 | |
|---|---|---|---|---|
| Jetson Nano | ✅ | ❌ | ❌ | ❌ |
| Jetson TX2 | ✅ | ❌ | ❌ | ❌ |
| Jetson Xavier NX | ✅ | ✅ | ❌ | ❌ |
| Jetson AGX Xavier | ✅ | ✅ | ❌ | ❌ |
| Jetson AGX Orin | ❌ | ✅ | ✅ | ✅ |
| Jetson Orin NX | ❌ | ✅ | ✅ | ✅ |
| Jetson Orin Nano | ❌ | ✅ | ✅ | ✅ |
| Jetson AGX Thor | ❌ | ❌ | ❌ | ✅ |
Inicio rápido con Docker#
La forma más rápida de empezar 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 $tLa 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.
-
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 -
Instala el paquete pip
ultralyticspip install ultralytics -
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/cu130Instala 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.whlEjecució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.
-
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 -
Instala el paquete pip
ultralyticspip install ultralytics -
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.whlVisita 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 cudssInstala 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.whlComo alternativa, para onnxruntime-gpu 1.20.0:
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whlEjecució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.
-
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 -
Instala el paquete pip
ultralyticspip install ultralytics -
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.
-
Desinstala las versiones de PyTorch y Torchvision que estén instaladas
pip uninstall torch torchvision -
Instala
torch 2.1.0ytorchvision 0.16.2según JP5.1.2pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl
Visita la página de PyTorch para Jetson para acceder a todas las versiones 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.whlonnxruntime-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.
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.
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")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.
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 Jetson | Núcleos DLA | Frecuencia máxima de DLA |
|---|---|---|
| Serie Jetson AGX Orin | 2 | 1.6 GHz |
| Jetson Orin NX 16GB | 2 | 614 MHz |
| Jetson Orin NX 8GB | 1 | 614 MHz |
| Serie Jetson AGX Xavier | 2 | 1.4 GHz |
| Serie Jetson Xavier NX | 2 | 1.1 GHz |
from ultralytics import YOLO
# 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")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#
Kit de desarrollo NVIDIA Jetson AGX Orin (64 GB)#
Kit de desarrollo NVIDIA Jetson Orin Nano Super#
NVIDIA Jetson Orin NX 16 GB#
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#
| Formato | Estado | Tamaño en disco (MB) | mAP50-95(B) | Tiempo de inferencia (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 7.39 |
| TorchScript | ✅ | 9.8 | 0.4789 | 4.21 |
| ONNX | ✅ | 9.5 | 0.4767 | 6.58 |
| OpenVINO | ✅ | 10.1 | 0.4794 | 17.50 |
| TensorRT (FP32) | ✅ | 13.9 | 0.4791 | 1.90 |
| TensorRT (FP16) | ✅ | 7.6 | 0.4797 | 1.39 |
| TensorRT (INT8) | ✅ | 6.5 | 0.4273 | 1.52 |
| TF SavedModel | ✅ | 25.7 | 0.4764 | 47.24 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 45.98 |
| TF Lite | ✅ | 9.9 | 0.4764 | 182.04 |
| MNN | ✅ | 9.4 | 0.4784 | 21.83 |
Pruebas de rendimiento realizadas con Ultralytics 8.4.7
El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.
Kit de desarrollo NVIDIA Jetson AGX Orin (64 GB)#
| Formato | Estado | Tamaño en disco (MB) | mAP50-95(B) | Tiempo de inferencia (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 11.58 |
| TorchScript | ✅ | 9.8 | 0.4770 | 4.60 |
| ONNX | ✅ | 9.5 | 0.4770 | 9.87 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 28.80 |
| TensorRT (FP32) | ✅ | 11.5 | 0.4770 | 4.18 |
| TensorRT (FP16) | ✅ | 7.9 | 0.4789 | 2.62 |
| TensorRT (INT8) | ✅ | 5.4 | 0.4640 | 2.30 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 71.10 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 70.02 |
| TF Lite | ✅ | 9.9 | 0.4760 | 227.94 |
| MNN | ✅ | 9.4 | 0.4760 | 32.46 |
| NCNN | ✅ | 9.3 | 0.4810 | 29.93 |
Pruebas de rendimiento realizadas con Ultralytics 8.4.32
El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.
Kit de desarrollo NVIDIA Jetson Orin Nano Super#
| Formato | Estado | Tamaño en disco (MB) | mAP50-95(B) | Tiempo de inferencia (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 15.60 |
| TorchScript | ✅ | 9.8 | 0.4770 | 12.60 |
| ONNX | ✅ | 9.5 | 0.4760 | 15.76 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 56.23 |
| TensorRT (FP32) | ✅ | 11.3 | 0.4770 | 7.53 |
| TensorRT (FP16) | ✅ | 8.1 | 0.4800 | 4.57 |
| TensorRT (INT8) | ✅ | 5.3 | 0.4490 | 3.80 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 118.33 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 116.30 |
| TF Lite | ✅ | 9.9 | 0.4760 | 286.00 |
| MNN | ✅ | 9.4 | 0.4760 | 68.77 |
| NCNN | ✅ | 9.3 | 0.4810 | 47.50 |
Pruebas de rendimiento realizadas con Ultralytics 8.4.33
El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.
NVIDIA Jetson Orin NX 16 GB#
| Formato | Estado | Tamaño en disco (MB) | mAP50-95(B) | Tiempo de inferencia (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4799 | 13.90 |
| TorchScript | ✅ | 9.8 | 0.4787 | 11.60 |
| ONNX | ✅ | 9.5 | 0.4763 | 14.18 |
| OpenVINO | ✅ | 9.6 | 0.4819 | 40.19 |
| TensorRT (FP32) | ✅ | 11.4 | 0.4770 | 7.01 |
| TensorRT (FP16) | ✅ | 8.0 | 0.4789 | 4.13 |
| TensorRT (INT8) | ✅ | 5.5 | 0.4489 | 3.49 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 92.34 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 92.06 |
| TF Lite | ✅ | 9.9 | 0.4764 | 254.43 |
| MNN | ✅ | 9.4 | 0.4760 | 48.55 |
| NCNN | ✅ | 9.3 | 0.4805 | 34.31 |
Pruebas de rendimiento realizadas con Ultralytics 8.4.33
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:
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.
-
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 -
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 -
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
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 rebootPara volver a activar el escritorio más adelante:
sudo systemctl set-default graphical.target
sudo reboot2. 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_NAME3. 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 ./procrankPara consultar las asignaciones de GPU y NvMap (canalización de CUDA/vídeo) de cada proceso:
sudo cat /sys/kernel/debug/nvmap/iovmm/clients4. 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:
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ón | Ahorro 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:
- Activa el modo de potencia MAX para usar todos los núcleos de CPU y GPU.
- Activa Jetson Clocks para que todos los núcleos funcionen a su frecuencia máxima.
- 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:
- 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). - Desactiva los servicios que no uses, como Bluetooth o los gestores de conectividad (ahorro de ~32 MB).
- Ejecuta la inferencia sin pantalla estableciendo
show=Falseen la llamada de YOLOpredict, lo que evita asignar memoria a la canalización de pantalla (ahorro de ~200 MB o más).
Usa
procrankpara analizar el uso de RAM de cada proceso ysudo cat /sys/kernel/debug/nvmap/iovmm/clientspara inspeccionar las asignaciones de GPU. Consulta la sección Consejos para optimizar la memoria para obtener toda la información.- Cambia al arranque sin interfaz gráfica (
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 tensorrtDespués de actualizar, vuelve a ejecutar la exportación. Para obtener más información, consulta el problema n.º 23841 de GitHub.