Meet YOLO26: next-gen vision AI.

Link to this sectionExportación DEEPX para modelos YOLO de Ultralytics#

Desplegar modelos de visión artificial en hardware NPU especializado requiere un formato de modelo compatible y optimizado. Exportar modelos Ultralytics YOLO al formato DEEPX permite una inferencia eficiente cuantizada a INT8 en aceleradores NPU de DEEPX. Esta guía te explica cómo convertir tus modelos YOLO al formato DEEPX y desplegarlos en hardware con tecnología DEEPX.

Link to this section¿Qué es DEEPX?#

DEEPX NPU Inference

DEEPX es una empresa de semiconductores de IA especializada en unidades de procesamiento neuronal (NPU) diseñadas para una inferencia de deep learning energéticamente eficiente en el borde (edge). Las NPU de DEEPX están diseñadas para aplicaciones exigentes de IA industrial y embebida, ofreciendo un alto rendimiento con un consumo mínimo de energía. Su hardware es muy adecuado para escenarios de despliegue donde la conectividad a la nube no es fiable o no es deseable, como en robótica, cámaras inteligentes y sistemas de automatización industrial.

Link to this sectionFormato de exportación DEEPX#

La exportación DEEPX genera un binario de modelo compilado .dxnn optimizado para ejecutarse en hardware NPU de DEEPX. El proceso de compilación utiliza el kit de herramientas dx_com para realizar la cuantización INT8 y la optimización específica del hardware, creando un directorio de modelo autocontenido listo para su despliegue.

Link to this sectionCaracterísticas clave de los modelos DEEPX#

Los modelos DEEPX ofrecen varias ventajas para el despliegue en el borde (edge):

  • Cuantización INT8: Los modelos se cuantizan a precisión INT8 durante la exportación, lo que reduce significativamente el tamaño del modelo y maximiza el rendimiento de la NPU. Aprende más sobre la cuantización de modelos.
  • Optimizado para NPU: El formato .dxnn está compilado específicamente para hardware NPU de DEEPX, aprovechando unidades de aceleración dedicadas para una inferencia rápida y eficiente.
  • Bajo consumo de energía: Al delegar la inferencia a la NPU, los modelos DEEPX consumen mucha menos energía que una inferencia equivalente en CPU o GPU.
  • Precisión basada en calibración: La exportación utiliza una calibración basada en EMA con imágenes de conjuntos de datos reales para minimizar la pérdida de precisión durante la cuantización.
  • Salida autocontenida: El directorio del modelo exportado agrupa el binario compilado, la configuración de calibración y los metadatos para un despliegue sencillo.

Link to this sectionTareas soportadas#

Todas las tareas estándar de Ultralytics son compatibles con la exportación DEEPX en las familias de modelos YOLO26, YOLO11 y YOLOv8.

Link to this sectionExportar a DEEPX: Convertir tu modelo YOLO#

Exporta un modelo YOLO de Ultralytics al formato DEEPX y ejecuta la inferencia con el modelo exportado.

Nota

La exportación DEEPX solo es compatible con máquinas Linux x86-64. ARM64 (aarch64) no es compatible para el paso de exportación. Sin embargo, los modelos dxnn exportados son totalmente compatibles y ejecutables en plataformas ARM64.

Link to this sectionInstalación#

Para instalar los paquetes necesarios, ejecuta:

Instalación
# Install the required package for YOLO
pip install ultralytics

El paquete del compilador dx_com se instalará automáticamente desde el repositorio del SDK de DEEPX en la primera exportación. Para obtener instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de Ultralytics. Si encuentras alguna dificultad al instalar los paquetes necesarios para YOLO, consulta nuestra guía de problemas comunes para obtener soluciones y consejos.

Link to this sectionUso#

El formato DEEPX admite los modos Exportar, Predecir y Validar. La inferencia y la validación se ejecutan en hardware NPU de DEEPX. Exporta tu modelo y luego cárgalo para ejecutar la inferencia o validar su precisión.

Exportar
from ultralytics import YOLO

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

# Export the model to DEEPX format (int8=True is enforced automatically)
model.export(format="deepx")  # creates 'yolo26n_deepx_model/'
Predecir
from ultralytics import YOLO

# Load the exported DEEPX model
model = YOLO("yolo26n_deepx_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validar
from ultralytics import YOLO

# Load the exported DEEPX model
model = YOLO("yolo26n_deepx_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionArgumentos de exportación#

ArgumentoTipoPredeterminadoDescripción
formatstr'deepx'Formato de destino para el modelo exportado, que define la compatibilidad con el hardware NPU de DEEPX.
imgszint o tuple640Tamaño de imagen deseado para la entrada del modelo. La exportación DEEPX requiere una entrada cuadrada: introduce un entero (por ejemplo, 640) o una tupla donde la altura sea igual a la anchura.
int8boolTrueHabilita la cuantización INT8. Obligatorio para la exportación DEEPX: se establece automáticamente en True si no se especifica.
datastr'coco128.yaml'Archivo de configuración del conjunto de datos utilizado para la calibración INT8. Especifica la fuente de la imagen de calibración.
devicestrNoneEspecifica el dispositivo para la exportación: GPU (device=0) o CPU (device=cpu).
optimizeboolFalseHabilita una mayor optimización del compilador que reduce la latencia de inferencia y aumenta el tiempo de compilación.
Consejo

Ejecuta siempre la exportación DEEPX en un host Linux x86-64. El compilador dx_com no es compatible con ARM64.

Para obtener más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.

Link to this sectionEstructura de salida#

Tras una exportación exitosa, se crea un directorio de modelo con la siguiente estructura:

yolo26n_deepx_model/
├── yolo26n.dxnn     # Compiled DEEPX model binary (NPU executable)
├── config.json      # Calibration and preprocessing configuration
└── metadata.yaml    # Model metadata (classes, image size, task, etc.)

El archivo .dxnn es el binario del modelo compilado que el tiempo de ejecución dx_engine carga directamente en la NPU. El archivo metadata.yaml contiene los nombres de las clases, el tamaño de la imagen y otra información utilizada por el pipeline de inferencia de Ultralytics.

Link to this sectionDespliegue de modelos YOLO DEEPX exportados#

Una vez que hayas exportado correctamente tu modelo YOLO de Ultralytics al formato DEEPX, el siguiente paso es desplegar estos modelos en hardware NPU de DEEPX.

Link to this sectionInstalación del tiempo de ejecución#

La inferencia requiere el controlador NPU de DEEPX, el tiempo de ejecución libdxrt y el paquete Python dx_engine.

Nota

El tiempo de ejecución de DEEPX es compatible tanto con Linux x86-64 como con ARM64 (por ejemplo, Raspberry Pi 5).

# Install the NPU driver and libdxrt runtime
sudo apt update
wget https://github.com/DEEPX-AI/dx_rt_npu_linux_driver/raw/main/release/2.4.1/dxrt-driver-dkms_2.4.1-2_all.deb
sudo apt install ./dxrt-driver-dkms_2.4.1-2_all.deb
wget https://github.com/DEEPX-AI/dx_rt/raw/main/release/3.3.2/libdxrt_3.3.2_all.deb
sudo apt install ./libdxrt_3.3.2_all.deb

# Create dx-engine wheel
cd /usr/share/libdxrt/python_package && sudo ./make_whl.sh

# Install the bundled dx_engine Python wheel
pip install dx_engine-*.whl

Verifica que el tiempo de ejecución esté instalado correctamente con dxrt-cli --version. Deberías ver una salida similar a esta:

DXRT v3.3.2
Minimum Driver Versions
Device Driver: v2.4.0
PCIe Driver: v2.2.0
Firmware: v2.5.2
Minimum Compiler Versions
Compiler: v1.18.1
.dxnn File Format: v6

Una vez instalado el tiempo de ejecución, ejecuta la inferencia y la validación en tu dispositivo DEEPX exactamente como se muestra en la sección Uso anterior: el _deepx_model exportado se carga directamente con YOLO(...).

Link to this sectionVisualización con dxtron#

dxtron es el visualizador de grafos de DEEPX para inspeccionar el modelo .dxnn compilado.

Instala dxtron en Linux x86-64 descargando el paquete .deb desde el SDK de DEEPX e instalándolo mediante dpkg:

wget https://sdk.deepx.ai/release/dxtron/v2.0.1/dxtron_2.0.1_amd64.deb
sudo dpkg -i dxtron_2.0.1_amd64.deb

Luego abre tu modelo exportado:

dxtron yolo26n_deepx_model/yolo26n.dxnn
Nota

dxtron está disponible tanto para plataformas x86-64 como aarch64.

Link to this sectionBenchmarks#

El equipo de Ultralytics ha realizado benchmarks con modelos YOLO26, comparando la velocidad y la precisión entre PyTorch y DEEPX.

Rendimiento
Raspberry Pi 5 DEEPX M1 NPU vs PyTorch benchmarks
ModeloFormatoEstadoTamaño (MB)métricas/mAP50-95(B)Tiempo de inferencia (ms/im)
YOLO26nPyTorch5.30.4760315.2
YOLO26nDEEPX6.60.466034.6
YOLO26n-segPyTorch6.50.4080485.4
YOLO26n-segDEEPX7.90.392053.8
YOLO26n-posePyTorch7.60.4230506.3
YOLO26n-poseDEEPX8.80.459037.6
YOLO26n-obbPyTorch5.70.8171094.4
YOLO26n-obbDEEPX7.30.78356.4
ModeloFormatoEstadoTamaño (MB)acc (top1)acc (top5)Tiempo de inferencia (ms/im)
YOLO26n-clsPyTorch5.60.4310.71623.8
YOLO26n-clsDEEPX5.90.3330.6862.7
Nota

La validación de los benchmarks anteriores se realizó utilizando coco128 para detección, coco128-seg para segmentación, coco8-pose para estimación de pose, imagenet100 para clasificación y dota128 para modelos OBB. El tiempo de inferencia no incluye el preprocesamiento ni el posprocesamiento.

Consejos para optimizar el rendimiento

Para obtener el mejor rendimiento de inferencia de la NPU DX-M1 conectada a una Raspberry Pi 5, abre el archivo de configuración de arranque y habilita el soporte para PCIe Gen 3.

sudo nano /boot/firmware/config.txt

Añade las siguientes líneas al final del archivo:

dtparam=pciex1
dtparam=pciex1_gen=3

Guarda y sal (Ctrl+X, luego Y, luego Enter), después reinicia:

sudo reboot

Comprueba la generación de PCIe. La velocidad esperada es de 8GT/s para PCIe Gen3.

sudo lspci -vvv | grep -iA 33 accelerators | grep -E "LnkCap|LnkSta"

Link to this sectionFlujo de trabajo recomendado#

  1. Entrena tu modelo utilizando el Modo Entrenamiento de Ultralytics
  2. Exporta al formato DEEPX usando model.export(format="deepx")
  3. Valida la precisión con yolo val para verificar una pérdida mínima por cuantización
  4. Predice usando yolo predict para una validación cualitativa
  5. Despliega el directorio _deepx_model/ exportado en el hardware NPU DEEPX usando el motor de ejecución dx_engine

Link to this sectionAplicaciones en el mundo real#

Los modelos YOLO desplegados en hardware NPU DEEPX son ideales para una amplia gama de aplicaciones de Edge AI:

  • Vigilancia inteligente: Detección de objetos en tiempo real para sistemas de seguridad y monitoreo con bajo consumo de energía y sin dependencia de la nube.
  • Automatización industrial: Control de calidad en el dispositivo, detección de defectos y monitoreo de procesos en entornos de fábrica.
  • Robótica: Navegación basada en visión, evitación de obstáculos y reconocimiento de objetos en robots autónomos y drones.
  • Agricultura inteligente: Monitoreo de la salud de los cultivos, detección de plagas y estimación de rendimiento utilizando visión artificial en agricultura.
  • Análisis minorista: Análisis de flujo de clientes, monitoreo de estantes y seguimiento de inventario con inferencia en el borde en tiempo real.

Link to this sectionResumen#

En esta guía, has aprendido a exportar modelos YOLO de Ultralytics al formato DEEPX y a desplegarlos en hardware NPU DEEPX. La canalización de exportación utiliza calibración INT8 y el compilador dx_com para producir un binario .dxnn optimizado para hardware, mientras que el motor de ejecución dx_engine gestiona la inferencia en el dispositivo.

La combinación de Ultralytics YOLO y la tecnología NPU de DEEPX proporciona una solución eficaz para ejecutar cargas de trabajo avanzadas de visión artificial en dispositivos integrados y de borde, ofreciendo un alto rendimiento con un bajo consumo energético para aplicaciones en tiempo real.

Para más detalles sobre el uso, visita el sitio web oficial de DEEPX.

Además, si quieres saber más sobre otras integraciones de Ultralytics YOLO, visita nuestra página de guía de integraciones. Allí encontrarás muchos recursos y perspectivas útiles.

Link to this sectionPreguntas frecuentes#

Link to this section¿Cómo exporto mi modelo YOLO de Ultralytics al formato DEEPX?#

Puedes exportar tu modelo usando el método export() en Python o a través de la CLI. La exportación habilita automáticamente la cuantización INT8 y utiliza un conjunto de datos de calibración para minimizar la pérdida de precisión. El paquete del compilador dx_com se instala automáticamente si no está presente.

Ejemplo
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="deepx")

Link to this section¿Por qué la exportación a DEEPX requiere cuantización INT8?#

Las NPU de DEEPX están diseñadas para ejecutar cálculos INT8 con la máxima eficiencia. El compilador dx_com cuantiza el modelo durante la exportación utilizando una calibración basada en EMA con imágenes del conjunto de datos real, permitiendo a la NPU ofrecer su máximo rendimiento. INT8 es obligatorio para las exportaciones a DEEPX; si estableces int8=False, se sobrescribirá con una advertencia.

Link to this section¿Qué plataformas son compatibles para la exportación a DEEPX?#

La exportación (compilación) de modelos DEEPX requiere un host x86-64 Linux. El paso de exportación no es compatible con máquinas ARM64 (aarch64) ni Windows. La inferencia utilizando el modelo .dxnn exportado puede ejecutarse en cualquier plataforma Linux (x86-64 y ARM64) compatible con el motor de ejecución dx_engine.

Link to this section¿Cuál es el resultado de una exportación a DEEPX?#

La exportación crea un directorio (por ejemplo, yolo26n_deepx_model/) que contiene:

  • yolo26n.dxnn — el binario compilado para NPU
  • config.json — ajustes de calibración y preprocesamiento
  • metadata.yaml — metadatos del modelo, incluyendo nombres de clases y tamaño de imagen

Link to this section¿Puedo desplegar modelos entrenados a medida en hardware DEEPX?#

Sí. Cualquier modelo entrenado mediante el Modo Entrenamiento de Ultralytics y exportado con format="deepx" puede desplegarse en hardware NPU DEEPX, siempre que utilice operaciones de capa compatibles. La exportación admite tareas de detección, segmentación, estimación de pose, cajas delimitadoras orientadas (OBB) y clasificación.

Link to this section¿Cuántas imágenes de calibración debo utilizar para la exportación a DEEPX?#

La canalización de exportación de DEEPX utiliza cada imagen del conjunto de datos de calibración (después del filtrado fraction) con el método de calibración EMA. Unos pocos cientos de imágenes suelen ser suficientes para una buena precisión de cuantización. Señala data a un conjunto de datos más pequeño (o ajusta fraction por debajo de 1.0) si el tiempo de compilación se convierte en una preocupación con conjuntos de datos grandes.

Link to this section¿Cómo instalo el motor de ejecución DEEPX para inferencia?#

El motor de ejecución DEEPX no viene incluido con ultralytics y debe instalarse por separado antes de ejecutar la inferencia. En máquinas Linux x86-64 y máquinas Linux ARM64 (por ejemplo, Raspberry Pi 5), instala el controlador de NPU (dxrt-driver-dkms) y el motor de ejecución (libdxrt) desde las versiones de GitHub de DEEPX-AI, luego instala el wheel de Python dx_engine incluido. Consulta la sección Instalación del motor de ejecución anterior para ver los comandos paso a paso.

Comentarios