Ultralytics YOLO27:
Get Started

Optimizar las inferencias de YOLO26 con el motor DeepSparse de Neural Magic#

Al implementar modelos de detección de objetos, como Ultralytics YOLO26, en distintos tipos de hardware, puedes encontrarte con retos específicos, como la optimización. Para resolverlos, puedes integrar YOLO26 con el motor DeepSparse de Neural Magic. Esta integración transforma la ejecución de los modelos YOLO26 y permite obtener directamente en las CPU un rendimiento equiparable al de las GPU.

Esta guía explica cómo implementar YOLO26 con DeepSparse de Neural Magic, cómo ejecutar inferencias y cómo comparar el rendimiento para comprobar que está optimizado.

Fin de vida útil de SparseML

Neural Magic fue adquirida por Red Hat en enero de 2025 y está dejando de ofrecer las versiones comunitarias de sus bibliotecas deepsparse, sparseml, sparsezoo y sparsify. Para obtener más información, consulta el aviso publicado en el archivo Readme del repositorio de GitHub sparsify.

DeepSparse de Neural Magic#

Neural Magic's DeepSparse Overview

DeepSparse de Neural Magic es un entorno de ejecución de inferencias diseñado para optimizar la ejecución de redes neuronales en CPU. Aplica técnicas avanzadas, como la dispersión, la poda y la cuantización, para reducir considerablemente las exigencias computacionales sin perder precisión. DeepSparse ofrece una solución ágil para ejecutar redes neuronales de forma eficiente y escalable en distintos dispositivos.

Ventajas de integrar DeepSparse de Neural Magic con YOLO26#

Antes de explicar cómo implementar YOLO26 con DeepSparse, veamos las ventajas de usarlo. Entre las principales se incluyen:

  • Mayor velocidad de inferencia: alcanza hasta 525 FPS (con YOLOv8n), lo que acelera considerablemente las capacidades de inferencia de YOLO en comparación con los métodos tradicionales.

Neural Magic DeepSparse inference acceleration

  • Mayor eficiencia del modelo: usa la poda y la cuantización para mejorar la eficiencia de YOLO26 y reducir el tamaño del modelo y los requisitos computacionales sin afectar a la precisión.

Neural Magic model optimization and pruning

  • Alto rendimiento en CPU convencionales: ofrece un rendimiento similar al de una GPU en CPU, una opción más accesible y económica para distintas aplicaciones.

  • Integración e implementación simplificadas: ofrece herramientas fáciles de usar para integrar YOLO26 en aplicaciones, incluidas funciones para anotar imágenes y vídeos.

  • Compatibilidad con varios tipos de modelos: es compatible tanto con modelos YOLO estándar como con modelos optimizados para la dispersión, lo que aporta flexibilidad a la implementación.

  • Solución escalable y rentable: reduce los gastos operativos y permite implementar modelos avanzados de detección de objetos de forma escalable.

¿Cómo funciona la tecnología DeepSparse de Neural Magic?#

La tecnología DeepSparse de Neural Magic se inspira en la eficiencia del cerebro humano al realizar cálculos con redes neuronales. Adopta dos principios clave del cerebro:

  • Dispersión: el proceso de dispersión consiste en podar información redundante de las redes de aprendizaje profundo, lo que permite crear modelos más pequeños y rápidos sin comprometer la precisión. Esta técnica reduce considerablemente el tamaño de la red y sus necesidades computacionales.

  • Localidad de referencia: DeepSparse usa un método de ejecución exclusivo que divide la red en columnas de tensores. Estas columnas se ejecutan en profundidad y caben por completo en la caché de la CPU. Este enfoque imita la eficiencia del cerebro, reduce al mínimo el movimiento de datos y aprovecha al máximo la caché de la CPU.

How Neural Magic's DeepSparse Technology Works

Crear una versión dispersa de YOLO26 entrenada con un conjunto de datos personalizado#

SparseZoo, un repositorio de modelos de código abierto de Neural Magic, ofrece una colección de puntos de control de modelos YOLOv8 preoptimizados mediante dispersión. Con SparseML, integrado a la perfección con Ultralytics, los usuarios pueden ajustar fácilmente estos puntos de control dispersos a sus conjuntos de datos específicos mediante una interfaz de línea de comandos sencilla.

Consulta la documentación de SparseML YOLOv8 de Neural Magic para obtener más información.

Uso: implementar YOLO26 con DeepSparse#

Implementar YOLO26 con DeepSparse de Neural Magic requiere unos pocos pasos sencillos. Antes de consultar las instrucciones de uso, echa un vistazo a la selección de modelos YOLO26 que ofrece Ultralytics. Así podrás elegir el modelo más adecuado para los requisitos de tu proyecto. Estos son los pasos para empezar.

Paso 1: Instalación#

Para instalar los paquetes necesarios, ejecuta:

Instalación
# Install the required packages
pip install deepsparse[yolov8]

Paso 2: Exportar YOLO26 al formato ONNX#

DeepSparse Engine requiere modelos YOLO26 en formato ONNX. Exportar tu modelo a este formato es esencial para que sea compatible con DeepSparse. Usa el siguiente comando para exportar modelos YOLO26:

Exportación de modelos
# Export YOLO26 model to ONNX format
yolo detect export model=yolo26n.pt format=onnx opset=13

Este comando guardará el modelo yolo26n.onnx en tu disco.

Paso 3: desplegar y ejecutar inferencias#

Con tu modelo YOLO26 en formato ONNX, puedes desplegarlo y ejecutar inferencias con DeepSparse. Puedes hacerlo fácilmente con su intuitiva API de Python:

Despliegue y ejecución de inferencias
from deepsparse import Pipeline

# Indica la ruta a tu modelo YOLO26 ONNX
model_path = "path/to/yolo26n.onnx"

# Configura la canalización de DeepSparse
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)

# Ejecuta el modelo con tus imágenes
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)

Paso 4: evaluación comparativa del rendimiento#

Es importante comprobar que tu modelo YOLO26 funciona de forma óptima en DeepSparse. Puedes evaluar el rendimiento de tu modelo para analizar el rendimiento y la latencia:

Evaluación comparativa
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

Paso 5: funciones adicionales#

DeepSparse ofrece funciones adicionales para integrar YOLO26 en aplicaciones de forma práctica, como la anotación de imágenes y la evaluación de conjuntos de datos.

Funciones adicionales
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"

# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"

Al ejecutar el comando annotate, se procesa la imagen especificada, se detectan objetos y se guarda la imagen anotada con cuadros delimitadores y clasificaciones. La imagen anotada se almacenará en una carpeta llamada annotation-results. Esto ayuda a ofrecer una representación visual de las capacidades de detección del modelo.

Neural Magic annotation feature interface

Tras ejecutar el comando eval, recibirás métricas detalladas, como la precisión, la exhaustividad y la mAP (precisión media promedio). Esto ofrece una visión completa del rendimiento de tu modelo en el conjunto de datos y resulta especialmente útil para ajustar y optimizar tus modelos YOLO26 para casos de uso específicos, garantizando una gran precisión y eficiencia.

Resumen#

En esta guía hemos explicado cómo integrar YOLO26 de Ultralytics con DeepSparse Engine de Neural Magic. Hemos destacado cómo esta integración mejora el rendimiento de YOLO26 en plataformas CPU, al ofrecer una eficiencia similar a la de una GPU y técnicas avanzadas de dispersión de redes neuronales.

Para obtener información más detallada y sobre usos avanzados, visita el repositorio DeepSparse de Neural Magic. También puedes consultar la guía de integración de YOLOv8 y ver una sesión explicativa en YouTube.

Además, para conocer mejor las distintas integraciones de YOLO26, visita la página de la guía de integración de Ultralytics, donde encontrarás muchas otras posibilidades de integración.

Preguntas frecuentes#

  • DeepSparse Engine de Neural Magic es un entorno de ejecución de inferencias diseñado para optimizar la ejecución de redes neuronales en CPU mediante técnicas avanzadas, como la dispersión, la poda y la cuantización. Al integrar DeepSparse con YOLO26, puedes lograr un rendimiento similar al de una GPU en CPU convencionales, lo que mejora notablemente la velocidad de inferencia, la eficiencia del modelo y el rendimiento general sin perder precisión. Para obtener más información, consulta la sección de DeepSparse de Neural Magic.

  • Instalar los paquetes necesarios para desplegar YOLO26 con DeepSparse de Neural Magic es sencillo. Puedes instalarlos fácilmente con la CLI. Este es el comando que tienes que ejecutar:

    pip install deepsparse[yolov8]

    Una vez instalados, sigue los pasos de la sección de instalación para configurar tu entorno y empezar a usar DeepSparse con YOLO26.

  • Para convertir modelos YOLO26 al formato ONNX, necesario para que sean compatibles con DeepSparse, puedes usar el siguiente comando de la CLI:

    yolo detect export model=yolo26n.pt format=onnx opset=13

    Este comando exportará tu modelo YOLO26 (yolo26n.pt) a un formato (yolo26n.onnx) que DeepSparse Engine puede utilizar. Encontrarás más información sobre la exportación de modelos en la sección de exportación de modelos.

  • Evaluar el rendimiento de YOLO26 en DeepSparse te ayuda a analizar el rendimiento y la latencia para asegurarte de que el modelo está optimizado. Puedes ejecutar una evaluación comparativa con el siguiente comando de la CLI:

    deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

    Este comando te proporcionará métricas de rendimiento esenciales. Para obtener más información, consulta la sección de evaluación comparativa del rendimiento.

  • Integrar DeepSparse de Neural Magic con YOLO26 ofrece varias ventajas:

    • Mayor velocidad de inferencia: alcanza hasta 525 FPS (con YOLOv8n), lo que demuestra las capacidades de optimización de DeepSparse.
    • Eficiencia optimizada del modelo: utiliza técnicas de dispersión, poda y cuantización para reducir el tamaño del modelo y las necesidades de cálculo sin perder precisión.
    • Alto rendimiento en CPU convencionales: ofrece un rendimiento similar al de una GPU en hardware CPU económico.
    • Integración simplificada: herramientas fáciles de usar para desplegar e integrar sin complicaciones.
    • Flexibilidad: admite modelos YOLO convencionales y optimizados mediante dispersión.
    • Rentabilidad: reduce los gastos operativos gracias al uso eficiente de los recursos.

    Para conocer mejor estas ventajas, visita la sección sobre las ventajas de integrar DeepSparse de Neural Magic con YOLO26.

Comentarios