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 YOLOv8 modelos a la NCNN formato, entendamos c贸mo NCNN Normalmente se utilizan modelos.

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

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

  • Sistemas Embebidos 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 la 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 las 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.

PREGUNTAS FRECUENTES

驴C贸mo puedo exportar modelos de Ultralytics YOLOv8 al formato NCNN ?

Para exportar tu modelo Ultralytics YOLOv8 al formato NCNN , sigue estos pasos:

  • Python: Utiliza el export de la clase YOLO .

    from ultralytics import YOLO
    
    # Load the YOLOv8 model
    model = YOLO("yolov8n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolov8n_ncnn_model'
    
  • CLI: Utiliza el yolo con el comando export argumento.

    yolo export model=yolov8n.pt format=ncnn  # creates '/yolov8n_ncnn_model'
    

Para conocer las opciones de exportaci贸n detalladas, consulta la p谩gina Exportar de la documentaci贸n.

驴Cu谩les son las ventajas de exportar modelos de YOLOv8 a NCNN?

Exportar tus modelos de Ultralytics YOLOv8 a NCNN ofrece varias ventajas:

  • Eficacia: los modelos NCNN est谩n optimizados para dispositivos m贸viles e integrados, lo que garantiza un alto rendimiento incluso con recursos computacionales limitados.
  • Cuantizaci贸n: NCNN admite t茅cnicas como la cuantizaci贸n, que mejoran la velocidad del modelo y reducen el uso de memoria.
  • Amplia compatibilidad: Puedes implantar los modelos de NCNN en m煤ltiples plataformas, como Android, iOS, Linux y macOS.

Para m谩s detalles, consulta la secci贸n Exportar a NCNN de la documentaci贸n.

驴Por qu茅 deber铆a utilizar NCNN para mis aplicaciones m贸viles de IA?

NCNNdesarrollado por Tencent, est谩 optimizado espec铆ficamente para plataformas m贸viles. Las principales razones para utilizar NCNN son:

  • Alto rendimiento: Dise帽ado para un procesamiento eficiente y r谩pido en CPUs m贸viles.
  • Multiplataforma: Compatible con frameworks populares como TensorFlow y ONNX, lo que facilita la conversi贸n y el despliegue de modelos en distintas plataformas.
  • Apoyo de la comunidad: El apoyo activo de la comunidad garantiza mejoras y actualizaciones continuas.

Para saber m谩s, visita la descripci贸n general deNCNN en la documentaci贸n.

驴Qu茅 plataformas son compatibles con la implantaci贸n del modelo NCNN ?

NCNN es vers谩til y compatible con varias plataformas:

  • M贸vil: Android, iOS.
  • Sistemas embebidos y dispositivos IoT: Dispositivos como Raspberry Pi y NVIDIA Jetson.
  • Ordenadores de sobremesa y servidores: Linux, Windows y macOS.

Si ejecutar modelos en una Raspberry Pi no es suficientemente r谩pido, convertirlos al formato NCNN podr铆a acelerar las cosas, como se detalla en nuestra Gu铆a de la Raspberry Pi.

驴C贸mo puedo desplegar los modelos Ultralytics YOLOv8 NCNN en Android?

Para desplegar tus modelos YOLOv8 en Android:

  1. Construye para Android: Sigue la gu铆a NCNN Build for Android.
  2. Int茅gralo en tu aplicaci贸n: Utiliza el SDK de NCNN Android para integrar el modelo exportado en tu aplicaci贸n para una inferencia eficiente en el dispositivo.

Para obtener instrucciones paso a paso, consulta nuestra gu铆a sobre el despliegue de modelos YOLOv8 NCNN .

Para obtener gu铆as y casos de uso m谩s avanzados, visita la p谩gina de documentaci贸nUltralytics .



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

Comentarios