Link to this sectionOptimización de inferencias de YOLO26 con el motor DeepSparse de Neural Magic#
Al implementar modelos de detección de objetos como Ultralytics YOLO26 en diversos hardware, puedes encontrarte con problemas únicos como la optimización. Aquí es donde interviene la integración de YOLO26 con el motor DeepSparse de Neural Magic. Transforma la forma en que se ejecutan los modelos YOLO26 y permite un rendimiento de nivel GPU directamente en CPUs.
Esta guía te muestra cómo implementar YOLO26 utilizando DeepSparse de Neural Magic, cómo ejecutar inferencias y también cómo comparar el rendimiento para garantizar que esté optimizado.
Neural Magic fue adquirida por Red Hat en enero de 2025 y está retirando las versiones comunitarias de sus bibliotecas deepsparse, sparseml, sparsezoo y sparsify. Para obtener información adicional, consulta el aviso publicado en el archivo Readme del repositorio de GitHub de sparsify.
Link to this sectionDeepSparse de Neural Magic#
DeepSparse de Neural Magic es un tiempo de ejecución de inferencia diseñado para optimizar la ejecución de redes neuronales en CPUs. Aplica técnicas avanzadas como la escasez (sparsity), la poda (pruning) y la cuantificación para reducir drásticamente las demandas computacionales mientras mantiene la precisión. DeepSparse ofrece una solución ágil para una ejecución eficiente y escalable de redes neuronales en diversos dispositivos.
Link to this sectionBeneficios de integrar DeepSparse de Neural Magic con YOLO26#
Antes de profundizar en cómo implementar YOLO26 usando DeepSparse, comprendamos los beneficios de utilizar DeepSparse. Algunas ventajas clave incluyen:
- Velocidad de inferencia mejorada: Alcanza hasta 525 FPS (en YOLO11n), acelerando significativamente las capacidades de inferencia de YOLO en comparación con los métodos tradicionales.
- Eficiencia optimizada del modelo: Utiliza poda y cuantificación para mejorar la eficiencia de YOLO26, reduciendo el tamaño del modelo y los requisitos computacionales mientras se mantiene la precisión.
-
Alto rendimiento en CPUs estándar: Ofrece un rendimiento similar al de una GPU en CPUs, proporcionando una opción más accesible y rentable para diversas aplicaciones.
-
Integración y despliegue simplificados: Ofrece herramientas fáciles de usar para una integración sencilla de YOLO26 en aplicaciones, incluyendo funciones de anotación de imágenes y vídeo.
-
Soporte para varios tipos de modelos: Compatible tanto con modelos YOLO26 estándar como con modelos optimizados por escasez, lo que añade flexibilidad al despliegue.
-
Solución rentable y escalable: Reduce los gastos operativos y ofrece un despliegue escalable de modelos avanzados de detección de objetos.
Link to this section¿Cómo funciona la tecnología DeepSparse de Neural Magic?#
La tecnología DeepSparse de Neural Magic está inspirada en la eficiencia del cerebro humano en el cálculo de redes neuronales. Adopta dos principios clave del cerebro como se describe a continuación:
-
Escasez (Sparsity): El proceso de sparsificación implica la poda de información redundante de redes de deep learning, lo que conduce a modelos más pequeños y rápidos sin comprometer la precisión. Esta técnica reduce significativamente el tamaño de la red y sus necesidades computacionales.
-
Localidad de referencia: DeepSparse utiliza un método de ejecución único, dividiendo la red en columnas de tensores (Tensor Columns). Estas columnas se ejecutan en profundidad, ajustándose completamente dentro de la caché de la CPU. Este enfoque imita la eficiencia del cerebro, minimizando el movimiento de datos y maximizando el uso de la caché de la CPU.
Link to this sectionCreación de una versión dispersa (sparse) de YOLO26 entrenada en 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 YOLO26 previamente dispersos. Con SparseML, integrado perfectamente con Ultralytics, los usuarios pueden ajustar fácilmente estos puntos de control dispersos en sus conjuntos de datos específicos utilizando una sencilla interfaz de línea de comandos.
Consulta la documentación de SparseML YOLO26 de Neural Magic para obtener más detalles.
Link to this sectionUso: Implementación de YOLO26 usando DeepSparse#
La implementación de YOLO26 con DeepSparse de Neural Magic implica unos pocos pasos sencillos. Antes de sumergirte en las instrucciones de uso, asegúrate de echar un vistazo a la gama de modelos YOLO26 ofrecidos por Ultralytics. Esto te ayudará a elegir el modelo más adecuado para los requisitos de tu proyecto. Aquí tienes cómo empezar.
Link to this sectionPaso 1: Instalación#
Para instalar los paquetes necesarios, ejecuta:
# Install the required packages
pip install deepsparse[yolov8]Link to this sectionPaso 2: Exportación de YOLO26 al formato ONNX#
El motor DeepSparse requiere modelos YOLO26 en formato ONNX. Exportar tu modelo a este formato es esencial para la compatibilidad con DeepSparse. Usa el siguiente comando para exportar modelos YOLO26:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Este comando guardará el modelo yolo26n.onnx en tu disco.
Link to this sectionPaso 3: Implementación y ejecución de inferencias#
Con tu modelo YOLO26 en formato ONNX, puedes implementar y ejecutar inferencias usando DeepSparse. Esto se puede hacer fácilmente con su intuitiva API de Python:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Link to this sectionPaso 4: Evaluación comparativa (benchmarking) del rendimiento#
Es importante comprobar que tu modelo YOLO26 funciona de forma óptima en DeepSparse. Puedes comparar el rendimiento de tu modelo para analizar el rendimiento (throughput) y la latencia:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Link to this sectionPaso 5: Funciones adicionales#
DeepSparse proporciona funciones adicionales para la integración práctica de YOLO26 en aplicaciones, como la anotación de imágenes y la evaluación de conjuntos de datos.
# 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"Ejecutar el comando annotate procesa la imagen especificada, detectando objetos y guardando la imagen anotada con cuadros delimitadores y clasificaciones. La imagen anotada se almacenará en una carpeta annotation-results. Esto ayuda a proporcionar una representación visual de las capacidades de detección del modelo.
Después de ejecutar el comando eval, recibirás métricas de salida detalladas como precisión, recall y mAP (precisión media media). Esto proporciona una visión completa del rendimiento de tu modelo en el conjunto de datos y es particularmente útil para ajustar y optimizar tus modelos YOLO26 para casos de uso específicos, garantizando una alta precisión y eficiencia.
Link to this sectionResumen#
Esta guía exploró la integración de YOLO26 de Ultralytics con el motor DeepSparse de Neural Magic. Destacó cómo esta integración mejora el rendimiento de YOLO26 en plataformas de CPU, ofreciendo eficiencia de nivel GPU y técnicas avanzadas de escasez de redes neuronales.
Para obtener información más detallada y uso avanzado, visita la documentación de DeepSparse de Neural Magic. También puedes explorar la guía de integración de YOLO26 y ver una sesión de recorrido en YouTube.
Además, para una comprensión más amplia de varias integraciones de YOLO26, visita la página de la guía de integración de Ultralytics, donde puedes descubrir una gama de otras posibilidades de integración interesantes.
Link to this sectionFAQ#
Link to this section¿Qué es el motor DeepSparse de Neural Magic y cómo optimiza el rendimiento de YOLO26?#
El motor DeepSparse de Neural Magic es un tiempo de ejecución de inferencia diseñado para optimizar la ejecución de redes neuronales en CPUs mediante técnicas avanzadas como la escasez, la poda y la cuantificación. Al integrar DeepSparse con YOLO26, puedes lograr un rendimiento similar al de una GPU en CPUs estándar, mejorando significativamente la velocidad de inferencia, la eficiencia del modelo y el rendimiento general mientras mantienes la precisión. Para más detalles, consulta la sección DeepSparse de Neural Magic.
Link to this section¿Cómo puedo instalar los paquetes necesarios para implementar YOLO26 usando DeepSparse de Neural Magic?#
La instalación de los paquetes necesarios para implementar YOLO26 con DeepSparse de Neural Magic es sencilla. Puedes instalarlos fácilmente usando la CLI. Aquí tienes el comando que necesitas ejecutar:
pip install deepsparse[yolov8]Una vez instalado, sigue los pasos proporcionados en la sección de Instalación para configurar tu entorno y empezar a usar DeepSparse con YOLO26.
Link to this section¿Cómo convierto los modelos YOLO26 al formato ONNX para usarlos con DeepSparse?#
Para convertir los modelos YOLO26 al formato ONNX, necesario para la compatibilidad con DeepSparse, puedes usar el siguiente comando de CLI:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Este comando exportará tu modelo YOLO26 (yolo26n.pt) a un formato (yolo26n.onnx) que puede ser utilizado por el motor DeepSparse. Puedes encontrar más información sobre la exportación de modelos en la sección Exportación del modelo.
Link to this section¿Cómo evalúo el rendimiento de YOLO26 en el motor DeepSparse?#
La evaluación comparativa del rendimiento de YOLO26 en DeepSparse te ayuda a analizar el rendimiento y la latencia para garantizar que tu modelo esté optimizado. Puedes usar el siguiente comando de CLI para ejecutar una evaluación comparativa:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Este comando te proporcionará métricas de rendimiento vitales. Para más detalles, consulta la sección Evaluación comparativa del rendimiento.
Link to this section¿Por qué debería usar DeepSparse de Neural Magic con YOLO26 para tareas de detección de objetos?#
La integración de DeepSparse de Neural Magic con YOLO26 ofrece varios beneficios:
- Velocidad de inferencia mejorada: Alcanza hasta 525 FPS (en YOLO11n), demostrando las capacidades de optimización de DeepSparse.
- Eficiencia optimizada del modelo: Utiliza técnicas de escasez, poda y cuantificación para reducir el tamaño del modelo y las necesidades computacionales mientras mantiene la precisión.
- Alto rendimiento en CPUs estándar: Ofrece un rendimiento similar al de una GPU en hardware de CPU rentable.
- Integración simplificada: Herramientas fáciles de usar para una implementación e integración sencillas.
- Flexibilidad: Admite modelos YOLO26 estándar y optimizados por escasez.
- Rentable: Reduce los gastos operativos mediante una utilización eficiente de los recursos.
Para profundizar en estas ventajas, visita la sección Beneficios de integrar DeepSparse de Neural Magic con YOLO26.