Ir al contenido

Cómo exportar a NCNN desde YOLO11 para una implantación sin problemas

La implantación de modelos de visión por ordenador en dispositivos con una potencia de cálculo limitada, como los sistemas móviles o integrados, puede resultar complicada. Hay que asegurarse de utilizar un formato optimizado para un rendimiento óptimo. De este modo se garantiza que incluso los dispositivos con una capacidad de procesamiento limitada puedan realizar correctamente tareas avanzadas de visión por ordenador.

La función de exportación al formato NCNN le permite optimizar sus Ultralytics YOLO11 modelos para aplicaciones basadas en dispositivos ligeros. En esta guía te explicaremos cómo convertir tus modelos al formato NCNN , lo que facilitará su buen funcionamiento en distintos dispositivos móviles e integrados.

¿Por qué exportar a NCNN?

NCNN visión general

El framework NCNN framework, desarrollado por Tencent, es un marco de computación de inferencia de redes neuronales de alto rendimiento optimizado específicamente para plataformas móviles, incluidos teléfonos móviles, dispositivos integrados y dispositivos IoT. NCNN es compatible con una amplia gama de plataformas, incluidas Linux, Android, iOS y macOS.

NCNN es conocido por su rápida velocidad de procesamiento en CPU 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 y pone el poder de la IA al alcance de la 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:

  • Eficiencia y alto rendimiento: los modelos de NCNN están diseñados para ser eficientes y ligeros, optimizados para funcionar en dispositivos móviles e integrados, como Raspberry Pi, con recursos limitados. También pueden lograr un alto rendimiento con una 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 el rendimiento y reduce el consumo 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ácil de usar: los modelos de 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, lo que garantiza una interoperabilidad fluida en todo el panorama de desarrollo.

Opciones de implantación con NCNN

Antes de ver el código para exportar los modelos YOLO11 al formato NCNN , entendamos cómo se utilizan normalmente los modelos NCNN .

NCNN diseñados para ofrecer eficiencia y rendimiento, son compatibles con diversas plataformas de implantación:

  • 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 encuentra que la ejecución de la inferencia en una Raspberry Pi con la GuíaUltralytics no es lo suficientemente rápida, el cambio a un modelo exportado NCNN podría ayudar a acelerar las cosas. NCNN es ideal para dispositivos como Raspberry Pi y NVIDIA Jetson, especialmente en situaciones en las que necesita un procesamiento rápido directamente en el dispositivo.

  • Despliegue en ordenadores de sobremesa y servidores: 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: Conversión de su modelo YOLO11

Puede ampliar la compatibilidad de los modelos y la flexibilidad de despliegue convirtiendo los modelos de YOLO11 al formato NCNN .

Instalación

Para instalar los paquetes necesarios, ejecute

Instalación

# Install the required package for YOLO11
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 instala los paquetes necesarios para YOLO11, si encuentra alguna dificultad, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.

Utilización

Antes de entrar en las instrucciones de uso, es importante tener en cuenta que, aunque todos los modelos deUltralytics YOLO11 están disponibles para la exportación, aquí puede asegurarse de que el modelo que seleccione admite la función de exportación.

Utilización

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

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

# Load the exported NCNN model
ncnn_model = YOLO("./yolo11n_ncnn_model")

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

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

Argumentos de exportación

Argumento Tipo Por defecto Descripción
format str 'ncnn' Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de despliegue.
imgsz int o tuple 640 Tamaño de imagen deseado para la entrada del modelo. Puede ser un número entero para imágenes cuadradas o una tupla (height, width) para dimensiones específicas.
half bool False Permite la cuantización FP16 (media precisión), reduciendo el tamaño del modelo y acelerando potencialmente la inferencia en hardware compatible.
batch int 1 Especifica el tamaño de la inferencia por lotes del modelo de exportación o el número máximo de imágenes que el modelo exportado procesará simultáneamente en predict modo.

Para más detalles sobre el proceso de exportación, visite la página de documentaciónUltralytics sobre exportación.

Despliegue de modelos exportados de YOLO11 NCNN

Después de exportar con éxito sus modelos Ultralytics YOLO11 al formato NCNN , ya puede desplegarlos. El primer paso principal y recomendado para ejecutar un modelo NCNN es utilizar el método YOLO("yolo11n_ncnn_model/"), como se indica en el fragmento de código de uso anterior. Sin embargo, para obtener instrucciones detalladas sobre el despliegue de sus modelos NCNN en otras configuraciones, consulte los siguientes recursos:

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

  • macOS: Aprende a utilizar los modelos NCNN para realizar tareas en 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: Explore este blog para aprender a implementar modelos NCNN en Windows x64 con Visual Studio Community 2017.

Resumen

En esta guía, hemos repasado la exportación de modelos Ultralytics YOLO11 al formato NCNN . Este paso de conversión es crucial para mejorar la eficiencia y la velocidad de los modelos YOLO11 , haciéndolos más eficaces y adecuados para entornos informáticos con recursos limitados.

Para obtener instrucciones detalladas sobre su uso, consulte la documentación oficial de NCNN .

Además, si está interesado en explorar otras opciones de integración para Ultralytics YOLO11 , no deje de visitar nuestra página de guía de integración para obtener más ideas e información.

PREGUNTAS FRECUENTES

¿Cómo se exportan los modelos Ultralytics YOLO11 al formato NCNN ?

Para exportar su modelo Ultralytics YOLO11 al formato NCNN , siga estos pasos:

  • Python: Utilice el botón export de la clase YOLO .

    from ultralytics import YOLO
    
    # Load the YOLO11 model
    model = YOLO("yolo11n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo11n_ncnn_model'
    
  • CLI: Utilice el botón yolo con el comando export argumento.

    yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
    

Para obtener información detallada sobre las opciones de exportación, consulte la página Exportar de la documentación.

¿Cuáles son las ventajas de exportar modelos de YOLO11 a NCNN?

La exportación de sus modelos Ultralytics YOLO11 a NCNN ofrece varias ventajas:

  • Eficacia: los modelos de NCNN están optimizados para dispositivos móviles e integrados, lo que garantiza un alto rendimiento incluso con recursos informáticos 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: Puede implantar los modelos NCNN en múltiples plataformas, como Android, iOS, Linux y macOS.

Para más detalles, consulte 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. Entre las principales razones para utilizar NCNN se incluyen:

  • Alto rendimiento: Diseñado para un procesamiento eficiente y rápido en CPU 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 más información, visite la páginaNCNN en la documentación.

¿Qué plataformas son compatibles con laimplantació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 la ejecución de modelos en una Raspberry Pi no es lo suficientemente rápida, la conversión al formato NCNN podría acelerar las cosas, como se detalla en nuestra Guía de Raspberry Pi.

¿Cómo puedo desplegar los modelos Ultralytics YOLO11 NCNN en Android?

Para desplegar sus modelos YOLO11 en Android:

  1. Construir para Android: Siga la guía NCNN Build for Android.
  2. Integración con su aplicación: Utilice el SDK de NCNN Android para integrar el modelo exportado en su aplicación para una inferencia eficiente en el dispositivo.

Para obtener instrucciones paso a paso, consulte nuestra guía sobre la implantación de modelos YOLO11 NCNN .

Para obtener guías y casos de uso más avanzados, visite la página de documentaciónUltralytics .

Creado hace 1 año ✏️ Actualizado hace 3 días

Comentarios