Optimización de las inferencias en YOLO11 con el motor DeepSparse de Neural Magic
Al desplegar modelos de detección de objetos como Ultralytics YOLO11 en distintos equipos, pueden surgir problemas específicos, como la optimización. Aquí es donde entra en juego la integración de YOLO11 con el motor DeepSparse de Neural Magic. Transforma la forma en que se ejecutan los modelos YOLO11 y permite un rendimiento de nivel GPU directamente en las CPU.
Esta guía le muestra cómo desplegar YOLO11 utilizando Neural Magic's DeepSparse, cómo ejecutar inferencias, y también cómo comparar el rendimiento para asegurarse de que está optimizado.
Neural MagicDeepSparse
Neural MagicDeepSparse es un tiempo de ejecución de inferencia diseñado para optimizar la ejecución de redes neuronales en CPU. Aplica técnicas avanzadas como la sparsity, la poda y la cuantización para reducir drásticamente las demandas computacionales manteniendo la precisión. DeepSparse ofrece una solución ágil para la ejecución eficiente y escalable de redes neuronales en diversos dispositivos.
Ventajas de integrar Neural Magic's DeepSparse con YOLO11
Antes de entrar en cómo desplegar YOLO11 utilizando DeepSparse, vamos a entender las ventajas de utilizar DeepSparse. Algunas ventajas clave incluyen:
- Mayor velocidad de inferencia: Alcanza hasta 525 FPS (en YOLO11n), lo que acelera considerablemente la capacidad de inferencia de YOLO11 en comparación con los métodos tradicionales.
- Eficiencia optimizada del modelo: Utiliza la poda y la cuantización para mejorar la eficiencia de YOLO11, reduciendo el tamaño del modelo y los requisitos computacionales, al tiempo que mantiene la precisión.
-
Alto rendimiento en CPU estándar: Ofrece un rendimiento similar al de GPU en CPU, lo que supone una opción más accesible y rentable para diversas aplicaciones.
-
Integración y despliegue racionalizados: Ofrece herramientas de fácil uso para integrar fácilmente YOLO11 en las aplicaciones, incluidas funciones de anotación de imágenes y vídeos.
-
Compatibilidad con varios tipos de modelos: Compatible con los modelos estándar y optimizados para sparsity YOLO11 , lo que añade flexibilidad de despliegue.
-
Solución rentable y escalable: Reduce los gastos operativos y ofrece una implantación escalable de modelos avanzados de detección de objetos.
¿Cómo funciona la tecnología DeepSparse de Neural Magic Magic?
Neural Magicse inspira en la eficacia del cerebro humano en el cálculo de redes neuronales. Adopta dos principios clave del cerebro:
-
Dispersión: El proceso de sparsificación consiste en podar la información redundante de las redes de aprendizaje profundo, lo que da lugar 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 Tensor Columnas. Estas columnas se ejecutan en profundidad y caben íntegramente en la caché de CPU. Este enfoque imita la eficiencia del cerebro, minimizando el movimiento de datos y maximizando el uso de la caché de CPU.
Para obtener más información sobre el funcionamiento de la tecnología DeepSparse de Neural Magic Magic, consulte la entrada de su blog.
Creación de una versión dispersa de YOLO11 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 comprobación de modelos YOLO11 preespaciados. Con SparseML, perfectamente integrado con Ultralytics, los usuarios pueden ajustar sin esfuerzo estos puntos de control dispersos en sus conjuntos de datos específicos mediante una sencilla interfaz de línea de comandos.
Consulte la documentación SparseML YOLO11 deNeural Magic Magic para obtener más detalles.
Utilización: Despliegue de YOLO11 con DeepSparse
Desplegar YOLO11 con DeepSparse de Neural Magic implica unos cuantos pasos sencillos. Antes de sumergirte en las instrucciones de uso, asegúrate de consultar la gama de modelos deYOLO11 que ofrece Ultralytics. Esto te ayudará a elegir el modelo más apropiado para los requisitos de tu proyecto. A continuación te explicamos cómo empezar.
Paso 1: Instalación
Para instalar los paquetes necesarios, ejecute
Paso 2: Exportar YOLO11 al formato ONNX
DeepSparse Engine requiere modelos YOLO11 en formatoONNX . Exportar su modelo a este formato es esencial para la compatibilidad con DeepSparse. Utilice el siguiente comando para exportar modelos YOLO11 :
Modelo de exportación
Este comando guardará el yolo11n.onnx
modelo a su disco.
Paso 3: Despliegue y ejecución de inferencias
Con su modelo YOLO11 en formato ONNX , puede desplegar y ejecutar inferencias utilizando DeepSparse. Esto se puede hacer fácilmente con su intuitiva API Python :
Despliegue y ejecución de inferencias
from deepsparse import Pipeline
# Specify the path to your YOLO11 ONNX model
model_path = "path/to/yolo11n.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)
Paso 4: Evaluación comparativa de resultados
Es importante comprobar que tu modelo YOLO11 funciona de forma óptima en DeepSparse. Puedes comparar el rendimiento de tu modelo para analizar el rendimiento y la latencia:
Evaluación comparativa
Paso 5: Funciones adicionales
DeepSparse proporciona funciones adicionales para la integración práctica de YOLO11 en aplicaciones, como la anotación de imágenes y la evaluación de conjuntos de datos.
Características adicionales
Al ejecutar el comando de anotación se procesa la imagen especificada, se detectan los objetos y se guarda la imagen anotada con cuadros delimitadores y clasificaciones. La imagen anotada se guardará en una carpeta de resultados de anotación. Esto ayuda a proporcionar una representación visual de las capacidades de detección del modelo.
Después de ejecutar el comando eval, recibirá métricas de salida detalladas como precisión, recuperación y mAP (precisión media). Esto proporciona una visión completa del rendimiento del modelo en el conjunto de datos. Esta función es especialmente útil para ajustar y optimizar sus modelos YOLO11 para casos de uso específicos, garantizando una gran precisión y eficacia.
Resumen
Esta guía explora la integración de Ultralytics' YOLO11 con Neural Magic's DeepSparse Engine. Destaca cómo esta integración mejora el rendimiento de YOLO11 en plataformas CPU , ofreciendo una eficiencia de nivel GPU y técnicas avanzadas de dispersión de redes neuronales.
Para información más detallada y uso avanzado, visita Neural Magic's DeepSparse documentation. Además, consulte la documentación de Neural Magic sobre la integración con YOLO11 aquí y vea una magnífica sesión al respecto aquí.
Además, para conocer mejor las distintas integraciones de YOLO11 , visite la página de la guía de integraciónUltralytics , donde podrá descubrir otras interesantes posibilidades de integración.
PREGUNTAS FRECUENTES
¿Qué es el motor DeepSparse de Neural Magic y cómo optimiza el rendimiento de YOLO11 ?
Neural MagicDeepSparse Engine es un tiempo de ejecución de inferencia 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. Integrando DeepSparse con YOLO11, se puede conseguir un rendimiento similar al de GPU en CPUs estándar, mejorando significativamente la velocidad de inferencia, la eficiencia del modelo y el rendimiento general, manteniendo la precisión. Para más información, consulte la sección DeepSparse deNeural Magic.
¿Cómo puedo instalar los paquetes necesarios para desplegar YOLO11 utilizando Neural Magic's DeepSparse?
La instalación de los paquetes necesarios para desplegar YOLO11 con Neural Magic's DeepSparse es sencilla. Puedes instalarlos fácilmente usando el comando CLI. Este es el comando que necesitas ejecutar:
Una vez instalado, siga los pasos indicados en la sección Instalación para configurar su entorno y empezar a utilizar DeepSparse con YOLO11.
¿Cómo convierto los modelos YOLO11 al formato ONNX para utilizarlos con DeepSparse?
Para convertir los modelos YOLO11 al formato ONNX , necesario para la compatibilidad con DeepSparse, puede utilizar el siguiente comando CLI :
Este comando exportará su modelo YOLO11 (yolo11n.pt
) a un formato (yolo11n.onnx
) que pueden ser utilizados por el motor DeepSparse. Más información sobre la exportación de modelos se puede encontrar en el Sección de exportación de modelos.
¿Cómo puedo comparar el rendimiento de YOLO11 con el motor DeepSparse?
La evaluación comparativa del rendimiento de YOLO11 en DeepSparse le ayuda a analizar el rendimiento y la latencia para asegurarse de que su modelo está optimizado. Puede utilizar el siguiente comando CLI para ejecutar una prueba comparativa:
deepsparse.benchmark model_path="path/to/yolo11n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"
Este comando le proporcionará métricas de rendimiento vitales. Para obtener más información, consulte la sección Evaluación comparativa del rendimiento.
¿Por qué debería utilizar Neural Magic's DeepSparse con YOLO11 para tareas de detección de objetos?
La integración de Neural Magic's DeepSparse con YOLO11 ofrece varias ventajas:
- Velocidad de inferencia mejorada: Alcanza hasta 525 FPS, lo que acelera considerablemente la capacidad de YOLO11.
- Eficiencia optimizada del modelo: Utiliza técnicas de sparsity, poda y cuantificación para reducir el tamaño del modelo y las necesidades computacionales manteniendo la precisión.
- Alto rendimiento en CPU estándar: Ofrece un rendimiento similar al de GPU en el rentable hardware CPU .
- Integración simplificada: Herramientas fáciles de usar para facilitar la implantación y la integración.
- Flexibilidad: Admite modelos estándar y optimizados para la dispersión YOLO11 .
- Rentable: Reduce los gastos operativos gracias a una utilización eficiente de los recursos.
Para profundizar en estas ventajas, visite la sección Ventajas de la integración de Neural Magic's DeepSparse con YOLO11 .