Ir al contenido

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

Esta completa guía ofrece un recorrido detallado para implantar Ultralytics YOLO11 en los dispositivos NVIDIA Jetson. Además, presenta pruebas de rendimiento para demostrar las capacidades de YOLO11 en estos pequeños y potentes dispositivos.

Apoyo a nuevos productos

Hemos actualizado esta guía con el último NVIDIA Jetson Orin Nano Super Developer Kit que ofrece hasta 67 TOPS de rendimiento de IA - una mejora de 1,7X sobre su predecesor - para ejecutar sin problemas los modelos de IA más populares.



Observa: Cómo utilizar Ultralytics YOLO11 en dispositivos NVIDIA JETSON

NVIDIA Ecosistema Jetson

Nota

Esta guía ha sido probada con NVIDIA Jetson AGX Orin Developer Kit (64GB) ejecutando la última versión estable de JetPack JP6.2, NVIDIA Jetson Orin Nano Super Developer Kit ejecutando JetPack JP6.1, Seeed Studio reComputer J4012 que se basa en NVIDIA Jetson Orin NX 16GB ejecutando JetPack versión de JP6.0/ JetPack versión de JP5.1.3 y Seeed Studio reComputer J1020 v2 que se basa en NVIDIA Jetson Nano 4GB ejecutando JetPack versión de JP4.6.1. Se espera que funcione en todos los sistemas operativos. Se espera que funcione con toda la gama de hardware NVIDIA Jetson, tanto la más reciente como la heredada.

¿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 GPU de NVIDIA y son capaces de ejecutar complejos algoritmos de IA y modelos de aprendizaje profundo directamente en el dispositivo, sin necesidad de 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 consumen menos energía que los dispositivos informáticos tradicionales GPU .

NVIDIA Comparación de la serie Jetson

Jetson Orin es la última iteración de la familia Jetson NVIDIA basada en la arquitectura NVIDIA Ampere que aporta un rendimiento de IA drásticamente mejorado en comparación con las generaciones anteriores. En la tabla siguiente se comparan algunos de los dispositivos Jetson del ecosistema.

Jetson AGX Orin 64 GB Jetson Orin NX 16 GB Jetson Orin Nano Super Jetson AGX Xavier Jetson Xavier NX Jetson Nano
Rendimiento de la IA 275 TOPS 100 TOPS 67 TOPs 32 TOPS 21 TOPS 472 GFLOPS
GPU 2048 núcleos NVIDIA Arquitectura Ampere GPU con 64 Tensor Núcleos 1024 núcleos NVIDIA Arquitectura Ampere GPU con 32 Tensor Núcleos 1024 núcleos NVIDIA Arquitectura Ampere GPU con 32 Tensor Núcleos Arquitectura Volta de 512 núcleos NVIDIA GPU con 64 núcleos Tensor Arquitectura NVIDIA Volta™ de 384 núcleos GPU con 48 Tensor Cores Arquitectura Maxwell™ de 128 núcleos NVIDIA GPU
GPU Frecuencia máxima 1,3 GHz 918 MHz 1020 MHz 1377 MHz 1100 MHz 921 MHz
CPU 12 núcleos NVIDIA Arm® Cortex A78AE v8.2 64 bits CPU 3MB L2 + 6MB L3 8 núcleos NVIDIA Arm® Cortex A78AE v8.2 64 bits CPU 2MB L2 + 4MB L3 6 núcleos Arm® Cortex®-A78AE v8.2 64 bits CPU 1,5 MB L2 + 4 MB L3 8 núcleos NVIDIA Carmel Arm®v8.2 64 bits CPU 8 MB L2 + 4 MB L3 6 núcleos NVIDIA Carmel Arm®v8.2 64 bits CPU 6 MB L2 + 4 MB L3 Procesador MPCore Arm® Cortex®-A57 de cuatro núcleos
CPU Frecuencia máxima 2,2 GHz 2,0 GHz 1,7 GHz 2,2 GHz 1,9 GHz 1,43 GHz
Memoria 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 a 25,6 GB/s".

Para obtener una tabla comparativa más detallada, visite la sección de especificaciones técnicas de la página oficial de NVIDIA Jetson.

¿Qué es NVIDIA JetPack?

El kit de desarrollo de softwareNVIDIA JetPack que incorpora los módulos Jetson es la solución más completa y proporciona un entorno de desarrollo completo para crear aplicaciones de IA aceleradas de principio a fin y acortar el tiempo de comercialización. JetPack incluye Jetson Linux con gestor de arranque, kernel Linux, entorno de escritorio Ubuntu y un completo conjunto de librerías para aceleración de GPU computing, multimedia, gráficos y visión computerizada. También incluye muestras, 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 análisis de vídeo en streaming, Isaac para robótica y Riva para IA conversacional.

Flash JetPack a NVIDIA Jetson

El primer paso después de conseguir un dispositivo NVIDIA Jetson es flashear NVIDIA JetPack al dispositivo. Hay varias formas de flashear dispositivos NVIDIA Jetson.

  1. Si posees un kit de desarrollo oficial de NVIDIA como el Jetson Orin Nano Developer Kit, puedes descargar una imagen y preparar una tarjeta SD con JetPack para arrancar el dispositivo.
  2. Si posees cualquier otro Kit de Desarrollo NVIDIA , puedes flashear JetPack al dispositivo usando SDK Manager.
  3. Si posee un dispositivo Seeed Studio reComputer J4012, puede flashear JetPack en el SSD incluido y si posee un dispositivo Seeed Studio reComputer J1020 v2, puede flashear JetPack en el eMMC/ SSD.
  4. Si posee cualquier otro dispositivo de terceros alimentado por el módulo NVIDIA Jetson, se recomienda seguir la línea de comandos de flasheo.

Nota

Para los métodos 3 y 4 anteriores, después de flashear el sistema y arrancar el dispositivo, por favor introduzca "sudo apt update && sudo apt install nvidia-jetpack -y" en el terminal del dispositivo para instalar el resto de componentes JetPack necesarios.

Soporte para JetPack basado en el dispositivo Jetson

La siguiente tabla muestra las versiones de NVIDIA JetPack soportadas por los diferentes dispositivos NVIDIA Jetson.

JetPack 4 JetPack 5 JetPack 6
Jetson Nano
Jetson TX2
Jetson Xavier NX
Jetson AGX Xavier
Jetson AGX Orin
Jetson Orin NX
Jetson Orin Nano

Inicio rápido con Docker

La forma más rápida de empezar con Ultralytics YOLO11 en NVIDIA Jetson es ejecutar con imágenes docker pre-construidas para Jetson. Consulte la tabla anterior y elija la versión de JetPack según el dispositivo Jetson que posea.

t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
t=ultralytics/ultralytics:latest-jetson-jetpack5
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t
t=ultralytics/ultralytics:latest-jetson-jetpack6
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $t

Una vez hecho esto, vaya a la sección Utilizar TensorRT en NVIDIA Jetson.

Comience con la instalación nativa

Para una instalación nativa sin Docker, consulte los pasos siguientes.

Ejecutar en JetPack 6.1

Instale el paquete Ultralytics

Aquí instalaremos el paquete Ultralytics en el Jetson con dependencias opcionales para que podamos exportar los PyTorch modelos a otros formatos diferentes. Nos centraremos principalmente en NVIDIA TensorRT exportaciones porque TensorRT se asegurará de que podemos obtener el máximo rendimiento de los dispositivos Jetson.

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

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. Instale ultralytics Paquete pip con dependencias opcionales

    pip install ultralytics[export]
    
  3. Reiniciar el dispositivo

    sudo reboot
    

Instalar PyTorch y Torchvision

La instalación anterior de ultralytics instalará Torch y Torchvision. Sin embargo, estos 2 paquetes instalados a través de pip no son compatibles para ejecutarse en la plataforma Jetson que se basa en la arquitectura ARM64. Por lo tanto, tenemos que instalar manualmente PyTorch pip wheel y compilar / instalar Torchvision desde el código fuente.

Instale torch 2.5.0 y torchvision 0.20 según JP6.1

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.5.0a0+872d972e41.nv24.08-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.20.0a0+afc54f7-cp310-cp310-linux_aarch64.whl

Nota

Visite la páginaPyTorch para Jetson para acceder a todas las diferentes versiones de PyTorch para diferentes versiones de JetPack. Para una lista más detallada sobre la compatibilidad de PyTorch, Torchvision, visite la página de compatibilidad dePyTorch y Torchvision.

Instale cuSPARSELt para solucionar un problema de dependencia con torch 2.5.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 -y install libcusparselt0 libcusparselt-dev

Instale onnxruntime-gpu

En onnxruntime-gpu alojado en PyPI no tiene aarch64 binarios para la Jetson. Así que tenemos que instalar manualmente este paquete. Este paquete es necesario para algunas de las exportaciones.

Puede encontrar todos los onnxruntime-gpu organizados por versión de JetPack, versión de Python y otros detalles de compatibilidad. Matriz de compatibilidad de Jetson Zoo ONNX Runtime. Aquí descargaremos e instalaremos onnxruntime-gpu 1.20.0 con Python3.10 apoyo.

pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whl

Nota

onnxruntime-gpu revertirá automáticamente la versión de numpy a la última. Así que necesitamos reinstalar numpy a 1.23.5 para solucionar un problema ejecutando:

pip install numpy==1.23.5

Ejecutar en JetPack 5.1.2

Instale el paquete Ultralytics

Aquí instalaremos el paquete Ultralytics en el Jetson con dependencias opcionales para que podamos exportar los modelos PyTorch a otros formatos diferentes. Nos centraremos principalmente en NVIDIA TensorRT exportaciones porque TensorRT se asegurará de que podemos obtener el máximo rendimiento de los dispositivos Jetson.

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

    sudo apt update
    sudo apt install python3-pip -y
    pip install -U pip
    
  2. Instale ultralytics Paquete pip con dependencias opcionales

    pip install ultralytics[export]
    
  3. Reiniciar el dispositivo

    sudo reboot
    

Instalar PyTorch y Torchvision

La instalación anterior de ultralytics instalará Torch y Torchvision. Sin embargo, estos 2 paquetes instalados a través de pip no son compatibles para ejecutarse en la plataforma Jetson que se basa en la arquitectura ARM64. Por lo tanto, tenemos que instalar manualmente PyTorch pip wheel y compilar / instalar Torchvision desde el código fuente.

  1. Desinstalar PyTorch y Torchvision instalados actualmente

    pip uninstall torch torchvision
    
  2. Instale torch 2.2.0 y torchvision 0.17.2 según JP5.1.2

    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.2.0-cp38-cp38-linux_aarch64.whl
    pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.17.2+c1d70fe-cp38-cp38-linux_aarch64.whl
    

Nota

Visite la páginaPyTorch para Jetson para acceder a todas las diferentes versiones de PyTorch para diferentes versiones de JetPack. Para una lista más detallada sobre la compatibilidad de PyTorch, Torchvision, visite la página de compatibilidad dePyTorch y Torchvision.

Instale onnxruntime-gpu

En onnxruntime-gpu alojado en PyPI no tiene aarch64 binarios para la Jetson. Así que tenemos que instalar manualmente este paquete. Este paquete es necesario para algunas de las exportaciones.

Puede encontrar todos los onnxruntime-gpu organizados por versión de JetPack, versión de Python y otros detalles de compatibilidad. Matriz de compatibilidad de Jetson Zoo ONNX Runtime. Aquí descargaremos e instalaremos onnxruntime-gpu 1.17.0 con Python3.8 apoyo.

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 última. Así que necesitamos reinstalar numpy a 1.23.5 para solucionar un problema ejecutando:

pip install numpy==1.23.5

Utilice TensorRT en NVIDIA Jetson

Entre todos los formatos de exportación de modelos soportados por Ultralytics, TensorRT ofrece el mayor rendimiento de inferencia en dispositivos NVIDIA Jetson, por lo que es nuestra principal recomendación para implementaciones Jetson. Para obtener instrucciones de configuración y uso avanzado, consulte nuestra guía de integración de TensorRT .

Convierta el modelo a TensorRT y ejecute la inferencia

El modelo YOLO11n en formato PyTorch se convierte a TensorRT para ejecutar la inferencia con el modelo exportado.

Ejemplo

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT
model.export(format="engine")  # creates 'yolo11n.engine'

# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format
yolo export model=yolo11n.pt format=engine # creates 'yolo11n.engine'

# Run inference with the exported model
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'

Nota

Visite la página Exportar para acceder a argumentos adicionales a la hora de exportar modelos a diferentes formatos de modelo

Utilice NVIDIA Deep Learning Accelerator (DLA)

NVIDIA Deep Learning Accelerator (DLA) es un componente de hardware especializado integrado en los dispositivos Jetson de NVIDIA que optimiza la inferencia del aprendizaje profundo en términos de eficiencia energética y rendimiento. Al descargar las tareas de GPU (liberándolo para procesos más intensivos), DLA permite que los modelos se ejecuten con un menor consumo de energía manteniendo un alto rendimiento, ideal para sistemas integrados y aplicaciones de IA en tiempo real.

Los siguientes dispositivos Jetson están equipados con hardware DLA:

Dispositivo Jetson Núcleos de ADL DLA Frecuencia máxima
Serie Jetson AGX Orin 2 1,6 GHz
Jetson Orin NX 16 GB 2 614 MHz
Jetson Orin NX 8 GB 1 614 MHz
Jetson AGX Serie Xavier 2 1,4 GHz
Jetson Xavier Serie NX 2 1,1 GHz

Ejemplo

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Export the model to TensorRT with DLA enabled (only works with FP16 or INT8)
model.export(format="engine", device="dla:0", half=True)  # dla:0 or dla:1 corresponds to the DLA cores

# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")

# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format with DLA enabled (only works with FP16 or INT8)
# Once DLA core number is specified at export, it will use the same core at inference
yolo export model=yolo11n.pt format=engine device="dla:0" half=True # dla:0 or dla:1 corresponds to the DLA cores

# Run inference with the exported model on the DLA
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'

Nota

Cuando se utilizan exportaciones de ADL, es posible que algunas capas no puedan ejecutarse en ADL y se remitan a GPU para su ejecución. Este retroceso puede introducir una latencia adicional y afectar al rendimiento general de la inferencia. Por lo tanto, los ADL no están diseñados principalmente para reducir la latencia de la inferencia en comparación con TensorRT , que se ejecuta completamente en GPU. En cambio, su objetivo principal es aumentar el rendimiento y mejorar la eficiencia energética.

NVIDIA Puntos de referencia de Jetson Orin YOLO11

El equipo Ultralytics ha realizado pruebas comparativas de YOLO11 en 10 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. Los benchmarks se ejecutaron en NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit y Seeed Studio reComputer J4012 con el dispositivo Jetson Orin NX 16GB a precisión FP32 con un tamaño de imagen de entrada por defecto de 640.

Cuadros comparativos

Aunque todos los modelos exportados funcionan con NVIDIA Jetson, sólo hemos incluido PyTorch, TorchScript, TensorRT en la tabla comparativa que aparece a continuación porque utilizan GPU en Jetson y se garantiza que producen los mejores resultados. Todas las demás exportaciones sólo utilizan CPU y su rendimiento no es tan bueno como el de las tres anteriores. Puedes encontrar puntos de referencia para todas las exportaciones en la sección después de este gráfico.

Kit de desarrollo NVIDIA Jetson AGX Orin (64 GB)

Puntos de referencia de Jetson AGX Orin
Comparado con Ultralytics 8.3.157

NVIDIA Kit de desarrollo Jetson Orin Nano Super

Supercomprobación de Jetson Orin Nano
Comparado con Ultralytics 8.3.157

NVIDIA Jetson Orin NX 16 GB

Benchmarks de Jetson Orin NX 16GB
Comparado con Ultralytics 8.3.157

Cuadros comparativos detallados

La siguiente tabla representa los resultados del benchmark para cinco modelos diferentes (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) a través de diez formatos diferentesPyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN), dándonos el estado, tamaño, métrica mAP50-95(B) y tiempo de inferencia para cada combinación.

Kit de desarrollo NVIDIA Jetson AGX Orin (64 GB)

Rendimiento

Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 5.4 0.5101 9.40
TorchScript 10.5 0.5083 11.00
ONNX 10.2 0.5077 48.32
OpenVINO 10.4 0.5058 27.24
TensorRT (FP32) 12.1 0.5085 3.93
TensorRT (FP16) 8.3 0.5063 2.55
TensorRT (INT8) 5.4 0.4719 2.18
TF SavedModel 25.9 0.5077 66.87
TF GraphDef 10.3 0.5077 65.68
TF Lite 10.3 0.5077 272.92
MNN 10.1 0.5059 36.33
NCNN 10.2 0.5031 28.51
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 18.4 0.5783 12.10
TorchScript 36.5 0.5782 11.01
ONNX 36.3 0.5782 107.54
OpenVINO 36.4 0.5810 55.03
TensorRT (FP32) 38.1 0.5781 6.52
TensorRT (FP16) 21.4 0.5803 3.65
TensorRT (INT8) 12.1 0.5735 2.81
TF SavedModel 91.0 0.5782 132.73
TF GraphDef 36.4 0.5782 134.96
TF Lite 36.3 0.5782 798.21
MNN 36.2 0.5777 82.35
NCNN 36.2 0.5784 56.07
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 38.8 0.6265 22.20
TorchScript 77.3 0.6307 21.47
ONNX 76.9 0.6307 270.89
OpenVINO 77.1 0.6284 129.10
TensorRT (FP32) 78.8 0.6306 12.53
TensorRT (FP16) 41.9 0.6305 6.25
TensorRT (INT8) 23.2 0.6291 4.69
TF SavedModel 192.7 0.6307 299.95
TF GraphDef 77.1 0.6307 310.58
TF Lite 77.0 0.6307 2400.54
MNN 76.8 0.6308 213.56
NCNN 76.8 0.6284 141.18
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 49.0 0.6364 27.70
TorchScript 97.6 0.6399 27.94
ONNX 97.0 0.6409 345.47
OpenVINO 97.3 0.6378 161.93
TensorRT (FP32) 99.1 0.6406 16.11
TensorRT (FP16) 52.6 0.6376 8.08
TensorRT (INT8) 30.8 0.6208 6.12
TF SavedModel 243.1 0.6409 390.78
TF GraphDef 97.2 0.6409 398.76
TF Lite 97.1 0.6409 3037.05
MNN 96.9 0.6372 265.46
NCNN 96.9 0.6364 179.68
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 109.3 0.7005 44.40
TorchScript 218.1 0.6898 47.49
ONNX 217.5 0.6900 682.98
OpenVINO 217.8 0.6876 298.15
TensorRT (FP32) 219.6 0.6904 28.50
TensorRT (FP16) 112.2 0.6887 13.55
TensorRT (INT8) 60.0 0.6574 9.40
TF SavedModel 544.3 0.6900 749.85
TF GraphDef 217.7 0.6900 753.86
TF Lite 217.6 0.6900 6603.27
MNN 217.3 0.6868 519.77
NCNN 217.3 0.6849 298.58

Comparado con Ultralytics 8.3.157

Nota

El tiempo de inferencia no incluye el pre y postprocesamiento.

NVIDIA Kit de desarrollo Jetson Orin Nano Super

Rendimiento

Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 5.4 0.5101 13.70
TorchScript 10.5 0.5082 13.69
ONNX 10.2 0.5081 14.47
OpenVINO 10.4 0.5058 56.66
TensorRT (FP32) 12.0 0.5081 7.44
TensorRT (FP16) 8.2 0.5061 4.53
TensorRT (INT8) 5.4 0.4825 3.70
TF SavedModel 25.9 0.5077 116.23
TF GraphDef 10.3 0.5077 114.92
TF Lite 10.3 0.5077 340.75
MNN 10.1 0.5059 76.26
NCNN 10.2 0.5031 45.03
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 18.4 0.5790 20.90
TorchScript 36.5 0.5781 21.22
ONNX 36.3 0.5781 25.07
OpenVINO 36.4 0.5810 122.98
TensorRT (FP32) 37.9 0.5783 13.02
TensorRT (FP16) 21.8 0.5779 6.93
TensorRT (INT8) 12.2 0.5735 5.08
TF SavedModel 91.0 0.5782 250.65
TF GraphDef 36.4 0.5782 252.69
TF Lite 36.3 0.5782 998.68
MNN 36.2 0.5781 188.01
NCNN 36.2 0.5784 101.37
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 38.8 0.6266 46.50
TorchScript 77.3 0.6307 47.95
ONNX 76.9 0.6307 53.06
OpenVINO 77.1 0.6284 301.63
TensorRT (FP32) 78.8 0.6305 27.86
TensorRT (FP16) 41.7 0.6309 13.50
TensorRT (INT8) 23.2 0.6291 9.12
TF SavedModel 192.7 0.6307 622.24
TF GraphDef 77.1 0.6307 628.74
TF Lite 77.0 0.6307 2997.93
MNN 76.8 0.6299 509.96
NCNN 76.8 0.6284 292.99
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 49.0 0.6364 56.50
TorchScript 97.6 0.6409 62.51
ONNX 97.0 0.6399 68.35
OpenVINO 97.3 0.6378 376.03
TensorRT (FP32) 99.2 0.6396 35.59
TensorRT (FP16) 52.1 0.6361 17.48
TensorRT (INT8) 30.9 0.6207 11.87
TF SavedModel 243.1 0.6409 807.47
TF GraphDef 97.2 0.6409 822.88
TF Lite 97.1 0.6409 3792.23
MNN 96.9 0.6372 631.16
NCNN 96.9 0.6364 350.46
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 109.3 0.7005 90.00
TorchScript 218.1 0.6901 113.40
ONNX 217.5 0.6901 122.94
OpenVINO 217.8 0.6876 713.1
TensorRT (FP32) 219.5 0.6904 66.93
TensorRT (FP16) 112.2 0.6892 32.58
TensorRT (INT8) 61.5 0.6612 19.90
TF SavedModel 544.3 0.6900 1605.4
TF GraphDef 217.8 0.6900 2961.8
TF Lite 217.6 0.6900 8234.86
MNN 217.3 0.6893 1254.18
NCNN 217.3 0.6849 725.50

Comparado con Ultralytics 8.3.157

Nota

El tiempo de inferencia no incluye el pre y postprocesamiento.

NVIDIA Jetson Orin NX 16 GB

Rendimiento

Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 5.4 0.5101 12.90
TorchScript 10.5 0.5082 13.17
ONNX 10.2 0.5081 15.43
OpenVINO 10.4 0.5058 39.80
TensorRT (FP32) 11.8 0.5081 7.94
TensorRT (FP16) 8.1 0.5085 4.73
TensorRT (INT8) 5.4 0.4786 3.90
TF SavedModel 25.9 0.5077 88.48
TF GraphDef 10.3 0.5077 86.67
TF Lite 10.3 0.5077 302.55
MNN 10.1 0.5059 52.73
NCNN 10.2 0.5031 32.04
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 18.4 0.5790 21.70
TorchScript 36.5 0.5781 22.71
ONNX 36.3 0.5781 26.49
OpenVINO 36.4 0.5810 84.73
TensorRT (FP32) 37.8 0.5783 13.77
TensorRT (FP16) 21.2 0.5796 7.31
TensorRT (INT8) 12.0 0.5735 5.33
TF SavedModel 91.0 0.5782 185.06
TF GraphDef 36.4 0.5782 186.45
TF Lite 36.3 0.5782 882.58
MNN 36.2 0.5775 126.36
NCNN 36.2 0.5784 66.73
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 38.8 0.6266 45.00
TorchScript 77.3 0.6307 51.87
ONNX 76.9 0.6307 56.00
OpenVINO 77.1 0.6284 202.69
TensorRT (FP32) 78.7 0.6305 30.38
TensorRT (FP16) 41.8 0.6302 14.48
TensorRT (INT8) 23.2 0.6291 9.74
TF SavedModel 192.7 0.6307 445.58
TF GraphDef 77.1 0.6307 460.94
TF Lite 77.0 0.6307 2653.65
MNN 76.8 0.6308 339.38
NCNN 76.8 0.6284 187.64
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 49.0 0.6364 56.60
TorchScript 97.6 0.6409 66.72
ONNX 97.0 0.6399 71.92
OpenVINO 97.3 0.6378 254.17
TensorRT (FP32) 99.2 0.6406 38.89
TensorRT (FP16) 51.9 0.6363 18.59
TensorRT (INT8) 30.9 0.6207 12.60
TF SavedModel 243.1 0.6409 575.98
TF GraphDef 97.2 0.6409 583.79
TF Lite 97.1 0.6409 3353.41
MNN 96.9 0.6367 421.33
NCNN 96.9 0.6364 228.26
Formato Estado Tamaño en disco (MB) mAP50-95(B) Tiempo de inferencia (ms/im)
PyTorch 109.3 0.7005 98.50
TorchScript 218.1 0.6901 123.03
ONNX 217.5 0.6901 129.55
OpenVINO 217.8 0.6876 483.44
TensorRT (FP32) 219.6 0.6904 75.92
TensorRT (FP16) 112.1 0.6885 35.78
TensorRT (INT8) 61.6 0.6592 21.60
TF SavedModel 544.3 0.6900 1120.43
TF GraphDef 217.7 0.6900 1172.35
TF Lite 217.6 0.6900 7283.63
MNN 217.3 0.6877 840.16
NCNN 217.3 0.6849 474.41

Comparado con Ultralytics 8.3.157

Nota

El tiempo de inferencia no incluye el pre y postprocesamiento.

Explore más pruebas comparativas realizadas por Seeed Studio en diferentes versiones del hardware NVIDIA Jetson.

Reproduzca nuestros resultados

Para reproducir las pruebas anteriores de Ultralytics en todos los formatos de exportación, ejecute este código:

Ejemplo

from ultralytics import YOLO

# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")

# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all all export formats
yolo benchmark model=yolo11n.pt data=coco128.yaml imgsz=640

Ten en cuenta que los resultados de las pruebas comparativas pueden variar en función de la configuración exacta de hardware y software de un sistema, así como de la carga de trabajo actual del sistema en el momento de ejecutar las pruebas comparativas. Para obtener resultados más fiables, utilice un conjunto de datos con un gran número de imágenes, es decir data='coco.yaml' (5000 imágenes val).

Buenas prácticas al utilizar NVIDIA Jetson

Cuando se utiliza NVIDIA Jetson, hay un par de buenas prácticas a seguir para permitir el máximo rendimiento en el NVIDIA Jetson ejecutando YOLO11.

  1. Activar modo MAX Power

    Activando el modo MAX Power en el Jetson se asegurará de que todos los núcleos CPU, GPU están encendidos.

    sudo nvpmodel -m 0
    
  2. Activar los relojes Jetson

    Activando Jetson Clocks te asegurarás de que todos los núcleos CPU, GPU están sincronizados a su frecuencia máxima.

    sudo jetson_clocks
    
  3. Instalar la aplicación Jetson Stats

    Podemos utilizar la aplicación jetson stats para monitorizar las temperaturas de los componentes del sistema y comprobar otros detalles del sistema como ver CPU, GPU, utilización de la RAM, cambiar los modos de energía, poner los relojes al máximo, comprobar la información de JetPack

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

Estadísticas Jetson

Próximos pasos

¡Enhorabuena por haber configurado con éxito YOLO11 en tu NVIDIA Jetson! ¡Para más información y ayuda, visite la guía Ultralytics YOLO11 Docs!

PREGUNTAS FRECUENTES

¿Cómo implanto Ultralytics YOLO11 en los dispositivos NVIDIA Jetson?

Desplegar Ultralytics YOLO11 en dispositivos NVIDIA Jetson es un proceso sencillo. En primer lugar, flashea tu dispositivo Jetson con el SDK JetPack de NVIDIA . A continuación, utilice una imagen Docker precompilada para una configuración rápida o instale manualmente los paquetes necesarios. Los pasos detallados para cada enfoque se pueden encontrar en las secciones Inicio rápido con Docker e Inicio con instalación nativa.

¿Qué pruebas de rendimiento puedo esperar de los modelos YOLO11 en los dispositivos NVIDIA Jetson?

YOLO11 se han sometido a pruebas comparativas en varios dispositivos Jetson de NVIDIA , mostrando importantes mejoras de rendimiento. 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 las métricas de rendimiento como mAP50-95 y el tiempo de inferencia en los distintos formatos de modelo.

¿Por qué debería utilizar TensorRT para desplegar YOLO11 en NVIDIA Jetson?

TensorRT es muy recomendable para desplegar modelos YOLO11 en NVIDIA Jetson debido a su óptimo rendimiento. Acelera la inferencia aprovechando las capacidades de GPU de Jetson, lo que garantiza la máxima eficiencia y velocidad. Obtenga más información sobre cómo convertir a TensorRT y ejecutar la inferencia en la sección Uso de TensorRT en NVIDIA Jetson.

¿Cómo puedo instalar PyTorch y Torchvision en NVIDIA Jetson?

Para instalar PyTorch y Torchvision en NVIDIA Jetson, primero desinstale cualquier versión existente que pueda haber sido instalada a través de pip. Luego, instale manualmente las versiones compatibles de PyTorch y Torchvision para la arquitectura ARM64 del Jetson. Encontrará instrucciones detalladas para este proceso en la sección Instalar PyTorch y Torchvision.

¿Cuáles son las mejores prácticas para maximizar el rendimiento en NVIDIA Jetson cuando se utiliza YOLO11?

Para maximizar el rendimiento en NVIDIA Jetson con YOLO11, siga estas prácticas recomendadas:

  1. Active el modo MAX Power para utilizar todos los núcleos 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 monitorizar las métricas del sistema.

Para obtener comandos y detalles adicionales, consulte la sección Buenas prácticas al utilizar NVIDIA Jetson.



Creado hace 1 año ✏️ Actualizado hace 19 días

Comentarios