Saltar al contenido

C贸mo exportar a NCNN desde YOLOv8 para una implantaci贸n sin problemas

Desplegar modelos de visi贸n por ordenador en dispositivos con una potencia de c谩lculo limitada, como los sistemas m贸viles o integrados, puede ser complicado. Tienes que asegurarte de que utilizas un formato optimizado para un rendimiento 贸ptimo. Esto garantiza que incluso los dispositivos con una potencia de procesamiento limitada puedan manejar bien las tareas avanzadas de visi贸n computerizada.

La funci贸n de exportaci贸n al formato NCNN te permite optimizar tus Ultralytics YOLOv8 modelos para aplicaciones ligeras basadas en dispositivos. En esta gu铆a, te explicaremos c贸mo convertir tus modelos al formato NCNN , facilitando que funcionen bien en diversos dispositivos m贸viles e integrados.

驴Por qu茅 debes exportar a NCNN?

NCNN visi贸n general

El marco NCNN desarrollado por Tencent, es un marco inform谩tico de inferencia de redes neuronales de alto rendimiento optimizado espec铆ficamente para plataformas m贸viles, como tel茅fonos m贸viles, dispositivos integrados y dispositivos IoT. NCNN es compatible con una amplia gama de plataformas, como Linux, Android, iOS y macOS.

NCNN es conocido por su r谩pida velocidad de procesamiento en CPUs m贸viles y permite un r谩pido despliegue de modelos de aprendizaje profundo en plataformas m贸viles. Esto facilita la creaci贸n de aplicaciones inteligentes, poniendo el poder de la IA al alcance de tu mano.

Caracter铆sticas principales de los modelos NCNN

NCNN ofrecen una amplia gama de funciones clave que permiten el aprendizaje autom谩tico en el dispositivo, ayudando a los desarrolladores a ejecutar sus modelos en dispositivos m贸viles, integrados y perif茅ricos:

  • Eficientes y de alto rendimiento: los modelos NCNN est谩n hechos para ser eficientes y ligeros, optimizados para funcionar en dispositivos m贸viles e integrados, como Raspberry Pi, con recursos limitados. Tambi茅n pueden alcanzar un alto rendimiento con gran precisi贸n en diversas tareas basadas en la visi贸n por ordenador.

  • Cuantizaci贸n: los modelos NCNN suelen admitir la cuantizaci贸n, que es una t茅cnica que reduce la precisi贸n de los pesos y las activaciones del modelo. Esto mejora a煤n m谩s el rendimiento y reduce la huella de memoria.

  • Compatibilidad: los modelos de NCNN son compatibles con marcos de aprendizaje profundo populares como TensorFlowCaffe y ONNX. Esta compatibilidad permite a los desarrolladores utilizar f谩cilmente los modelos y flujos de trabajo existentes.

  • F谩ciles de usar: Los modelos NCNN est谩n dise帽ados para integrarse f谩cilmente en diversas aplicaciones, gracias a su compatibilidad con los marcos de aprendizaje profundo m谩s populares. Adem谩s, NCNN ofrece herramientas f谩ciles de usar para convertir modelos entre distintos formatos, garantizando una interoperabilidad sin problemas en todo el panorama de desarrollo.

Opciones de despliegue con NCNN

Antes de ver el c贸digo para exportar los modelos YOLOv8 al formato NCNN , vamos a entender c贸mo se utilizan normalmente los modelos NCNN .

NCNN dise帽ados para ofrecer eficacia y rendimiento, son compatibles con diversas plataformas de despliegue:

  • Despliegue m贸vil: Espec铆ficamente optimizado para Android e iOS, lo que permite una integraci贸n perfecta en aplicaciones m贸viles para una inferencia eficiente en el dispositivo.

  • Sistemas integrados y dispositivos IoT: Si te parece que ejecutar la inferencia en una Raspberry Pi con la Gu铆aUltralytics no es lo suficientemente r谩pido, cambiar a un modelo exportado de NCNN podr铆a ayudar a acelerar las cosas. NCNN es genial para dispositivos como Raspberry Pi y NVIDIA Jetson, especialmente en situaciones en las que necesitas un procesamiento r谩pido directamente en el dispositivo.

  • Despliegue en escritorio y servidor: Capaz de desplegarse en entornos de escritorio y servidor a trav茅s de Linux, Windows y macOS, apoyando el desarrollo, la formaci贸n y la evaluaci贸n con mayores capacidades computacionales.

Exportar a NCNN: Convertir tu modelo YOLOv8

Puedes ampliar la compatibilidad de los modelos y la flexibilidad de despliegue convirtiendo los modelos de YOLOv8 al formato NCNN .

Instalaci贸n

Para instalar los paquetes necesarios, ejecuta

Instalaci贸n

# Install the required package for YOLOv8
pip install ultralytics

Para obtener instrucciones detalladas y buenas pr谩cticas relacionadas con el proceso de instalaci贸n, consulta nuestra gu铆a de instalaci贸nUltralytics . Mientras instalas los paquetes necesarios para YOLOv8, si encuentras alguna dificultad, consulta nuestra gu铆a de Problemas comunes para encontrar soluciones y consejos.

Utilizaci贸n

Antes de sumergirte en las instrucciones de uso, es importante tener en cuenta que, aunque todos los modelos deUltralytics YOLOv8 est谩n disponibles para exportar, aqu铆 puedes asegurarte de que el modelo que seleccionas admite la funci贸n de exportaci贸n.

Utilizaci贸n

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to NCNN format
model.export(format='ncnn') # creates '/yolov8n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO('./yolov8n_ncnn_model')

# Run inference
results = ncnn_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to NCNN format
yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'

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

Para m谩s detalles sobre las opciones de exportaci贸n admitidas, visita la p谩gina de documentaci贸nUltralytics sobre opciones de despliegue.

Despliegue de modelos exportados de YOLOv8 NCNN

Despu茅s de exportar con 茅xito tus modelos Ultralytics YOLOv8 al formato NCNN , ya puedes desplegarlos. El primer paso principal y recomendado para ejecutar un modelo NCNN es utilizar el m茅todo YOLO("./model_ncnn_model"), como se indica en el fragmento de c贸digo de uso anterior. Sin embargo, para obtener instrucciones detalladas sobre el despliegue de tus modelos NCNN en otras configuraciones distintas, echa un vistazo a los siguientes recursos:

  • Android: Este blog explica c贸mo utilizar los modelos NCNN para realizar tareas como la detecci贸n de objetos a trav茅s de aplicaciones Android.

  • macOS: Comprende c贸mo utilizar los modelos NCNN para realizar tareas a trav茅s de macOS.

  • Linux: Explora esta p谩gina para aprender a desplegar modelos NCNN en dispositivos de recursos limitados como Raspberry Pi y otros dispositivos similares.

  • Windows x64 con VS2017: Explora este blog para aprender a desplegar modelos NCNN en windows x64 utilizando Visual Studio Community 2017.

Resumen

En esta gu铆a, hemos repasado la exportaci贸n de los modelos Ultralytics YOLOv8 al formato NCNN . Este paso de conversi贸n es crucial para mejorar la eficacia y la velocidad de los modelos YOLOv8 , haci茅ndolos m谩s eficaces y adecuados para entornos inform谩ticos con recursos limitados.

Para obtener instrucciones detalladas sobre su uso, consulta la documentaci贸n oficial de NCNN .

Adem谩s, si est谩s interesado en explorar otras opciones de integraci贸n para Ultralytics YOLOv8 , no dejes de visitar nuestra p谩gina de la gu铆a de integraci贸n para obtener m谩s ideas e informaci贸n.



Creado 2024-03-01, Actualizado 2024-03-03
Autores: glenn-jocher (1), abirami-vina (1)

Comentarios