Saltar al contenido

CoreML Exportar para YOLOv8 Modelos

Desplegar modelos de visi贸n por ordenador en dispositivos Apple como iPhones y Macs requiere un formato que garantice un rendimiento sin fisuras.

El formato de exportaci贸n CoreML te permite optimizar tus Ultralytics YOLOv8 modelos para una detecci贸n eficaz de objetos en las aplicaciones iOS y macOS. En esta gu铆a, te guiaremos a trav茅s de los pasos para convertir tus modelos al formato CoreML , facilitando que tus modelos funcionen bien en los dispositivos Apple.

CoreML

CoreML Visi贸n general

CoreML es el marco fundacional de aprendizaje autom谩tico de Apple que se basa en Accelerate, BNNS y Metal Performance Shaders. Proporciona un formato de modelo de aprendizaje autom谩tico que se integra perfectamente en las aplicaciones de iOS y admite tareas como el an谩lisis de im谩genes, el procesamiento del lenguaje natural, la conversi贸n de audio a texto y el an谩lisis de sonido.

Las aplicaciones pueden aprovechar Core ML sin necesidad de tener una conexi贸n de red o llamadas a la API, porque el marco de Core ML funciona mediante computaci贸n en el dispositivo. Esto significa que la inferencia del modelo puede realizarse localmente en el dispositivo del usuario.

Caracter铆sticas principales de los modelos CoreML

El marco CoreML de Apple ofrece s贸lidas funciones para el aprendizaje autom谩tico en el dispositivo. Estas son las caracter铆sticas clave que hacen de CoreML una potente herramienta para los desarrolladores:

  • Amplio soporte de modelos: Convierte y ejecuta modelos de marcos populares como TensorFlow, PyTorch, scikit-learn, XGBoost y LibSVM.

CoreML Modelos admitidos

  • Aprendizaje autom谩tico en el dispositivo: Garantiza la privacidad de los datos y un procesamiento r谩pido mediante la ejecuci贸n de modelos directamente en el dispositivo del usuario, eliminando la necesidad de conectividad a la red.

  • Rendimiento y optimizaci贸n: Utiliza el motor CPU, GPU, y el motor neuronal del dispositivo para obtener un rendimiento 贸ptimo con un uso m铆nimo de energ铆a y memoria. Ofrece herramientas para la compresi贸n y optimizaci贸n de modelos manteniendo la precisi贸n.

  • Facilidad de integraci贸n: Proporciona un formato unificado para varios tipos de modelos y una API f谩cil de usar para una integraci贸n perfecta en las aplicaciones. Admite tareas espec铆ficas del dominio mediante marcos como Visi贸n y Lenguaje Natural.

  • Funciones avanzadas: Incluye capacidades de entrenamiento en el dispositivo para experiencias personalizadas, predicciones as铆ncronas para experiencias ML interactivas, y herramientas de inspecci贸n y validaci贸n de modelos.

CoreML Opciones de despliegue

Antes de ver el c贸digo para exportar YOLOv8 modelos a la CoreML formato, entendamos d贸nde CoreML Por lo general, se utilizan modelos.

CoreML ofrece varias opciones de despliegue para los modelos de aprendizaje autom谩tico, entre ellas

  • Despliegue en el dispositivo: Este m茅todo integra directamente los modelos CoreML en tu aplicaci贸n iOS . Es especialmente ventajoso para garantizar una baja latencia, mayor privacidad (ya que los datos permanecen en el dispositivo) y funcionalidad offline. Este m茅todo, sin embargo, puede estar limitado por las capacidades de hardware del dispositivo, especialmente para los modelos m谩s grandes y complejos. La implantaci贸n en el dispositivo puede ejecutarse de las dos formas siguientes.

    • Modelos integrados: Estos modelos se incluyen en el paquete de la aplicaci贸n y son accesibles inmediatamente. Son ideales para modelos peque帽os que no requieren actualizaciones frecuentes.

    • Modelos descargados: Estos modelos se obtienen de un servidor cuando se necesitan. Este enfoque es adecuado para los modelos m谩s grandes o los que necesitan actualizaciones peri贸dicas. Ayuda a reducir el tama帽o del paquete de la aplicaci贸n.

  • Despliegue basado en la nube: los modelos de CoreML se alojan en servidores y la aplicaci贸n iOS accede a ellos mediante solicitudes a la API. Esta opci贸n escalable y flexible permite actualizar f谩cilmente los modelos sin revisar la app. Es ideal para modelos complejos o aplicaciones a gran escala que requieran actualizaciones peri贸dicas. Sin embargo, requiere una conexi贸n a Internet y puede plantear problemas de latencia y seguridad.

Exportar modelos de YOLOv8 a CoreML

Exportar YOLOv8 a CoreML permite un rendimiento optimizado del aprendizaje autom谩tico en el dispositivo dentro del ecosistema de Apple, ofreciendo ventajas en t茅rminos de eficiencia, seguridad e integraci贸n perfecta con las plataformas iOS, macOS, watchOS y tvOS.

Instalaci贸n

Para instalar el paquete necesario, 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贸nYOLOv8 . 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, aseg煤rate de consultar la gama de modelosYOLOv8 que ofrece Ultralytics. Esto te ayudar谩 a elegir el modelo m谩s apropiado para los requisitos de tu proyecto.

Utilizaci贸n

from ultralytics import YOLO

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

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolov8n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO("yolov8n.mlpackage")

# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

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

Para m谩s detalles sobre el proceso de exportaci贸n, visita la p谩gina de documentaci贸nUltralytics sobre exportaci贸n.

Despliegue de modelos exportados de YOLOv8 CoreML

Una vez exportados con 茅xito tus modelos Ultralytics YOLOv8 a CoreML, la siguiente fase cr铆tica es desplegar estos modelos con eficacia. Para obtener informaci贸n detallada sobre la implantaci贸n de los modelos CoreML en distintos entornos, consulta estos recursos:

  • CoreML Herramientas: Esta gu铆a incluye instrucciones y ejemplos para convertir modelos de TensorFlow, PyTorch, y otras bibliotecas a Core ML.

  • ML y Visi贸n: Una colecci贸n de v铆deos exhaustivos que cubren diversos aspectos del uso y la aplicaci贸n de los modelos CoreML .

  • Integrar un modelo ML b谩sico en tu aplicaci贸n: Una gu铆a completa sobre la integraci贸n de un modelo CoreML en una aplicaci贸n iOS , detallando los pasos desde la preparaci贸n del modelo hasta su implementaci贸n en la app para diversas funcionalidades.

Resumen

En esta gu铆a, repasamos c贸mo exportar modelos Ultralytics YOLOv8 al formato CoreML . Si sigues los pasos descritos en esta gu铆a, podr谩s garantizar la m谩xima compatibilidad y rendimiento al exportar modelos YOLOv8 a CoreML.

Para m谩s detalles sobre su uso, visita la documentaci贸n oficial deCoreML .

Adem谩s, si quieres saber m谩s sobre otras integraciones de Ultralytics YOLOv8 , visita nuestra p谩gina de gu铆a de integraciones. All铆 encontrar谩s un mont贸n de recursos y conocimientos valiosos.

PREGUNTAS FRECUENTES

驴C贸mo exporto los modelos de YOLOv8 al formato CoreML ?

Para exportar tu Ultralytics YOLOv8 modelos al formato CoreML , primero tendr谩s que asegurarte de que tienes el ultralytics instalado. Puedes instalarlo utilizando:

Instalaci贸n

pip install ultralytics

A continuaci贸n, puedes exportar el modelo utilizando los siguientes comandos Python o CLI :

Utilizaci贸n

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(format="coreml")
yolo export model=yolov8n.pt format=coreml

Para m谩s detalles, consulta la secci贸n Exportar modelos de YOLOv8 a CoreML de nuestra documentaci贸n.

驴Cu谩les son las ventajas de utilizar CoreML para desplegar los modelos YOLOv8 ?

CoreML ofrece numerosas ventajas para desplegar Ultralytics YOLOv8 en dispositivos Apple:

  • Procesamiento en el dispositivo: Permite la inferencia local del modelo en los dispositivos, garantizando la privacidad de los datos y minimizando la latencia.
  • Optimizaci贸n del rendimiento: Aprovecha todo el potencial de CPU, GPU y el motor neuronal del dispositivo, optimizando tanto la velocidad como la eficiencia.
  • Facilidad de integraci贸n: Ofrece una experiencia de integraci贸n perfecta con los ecosistemas de Apple, incluidos iOS, macOS, watchOS y tvOS.
  • Versatilidad: Admite una amplia gama de tareas de aprendizaje autom谩tico, como el an谩lisis de im谩genes, el procesamiento de audio y el procesamiento del lenguaje natural, utilizando el marco CoreML .

Para m谩s detalles sobre la integraci贸n de tu modelo CoreML en una aplicaci贸n iOS , consulta la gu铆a C贸mo integrar un modelo ML b谩sico en tu aplicaci贸n.

驴Cu谩les son las opciones de despliegue para los modelos de YOLOv8 exportados a CoreML?

Una vez que hayas exportado tu modelo YOLOv8 al formato CoreML , tienes m煤ltiples opciones de despliegue:

  1. Despliegue en el dispositivo: Integra directamente los modelos de CoreML en tu aplicaci贸n para mejorar la privacidad y la funcionalidad offline. Esto puede hacerse como:

    • Modelos integrados: Incluidos en el paquete de la aplicaci贸n, accesibles inmediatamente.
    • Modelos descargados: Obtenidos de un servidor seg煤n sea necesario, manteniendo el tama帽o del paquete de la aplicaci贸n m谩s peque帽o.
  2. Despliegue basado en la nube: Aloja los modelos CoreML en servidores y accede a ellos mediante solicitudes a la API. Este enfoque facilita las actualizaciones y puede gestionar modelos m谩s complejos.

Para obtener informaci贸n detallada sobre el despliegue de los modelos CoreML , consulta CoreML Opciones de despliegue.

驴C贸mo garantiza CoreML un rendimiento optimizado para los modelos YOLOv8 ?

CoreML garantiza un rendimiento optimizado para Ultralytics YOLOv8 modelos utilizando diversas t茅cnicas de optimizaci贸n:

  • Aceleraci贸n por hardware: Utiliza el CPU, GPU, y el motor neuronal del dispositivo para un c谩lculo eficiente.
  • Compresi贸n de modelos: Proporciona herramientas para comprimir modelos y reducir su tama帽o sin comprometer la precisi贸n.
  • Inferencia Adaptativa: Ajusta la inferencia en funci贸n de las capacidades del dispositivo para mantener un equilibrio entre velocidad y rendimiento.

Para m谩s informaci贸n sobre la optimizaci贸n del rendimiento, visita la documentaci贸n oficial deCoreML .

驴Puedo ejecutar la inferencia directamente con el modelo exportado de CoreML ?

S铆, puedes ejecutar la inferencia directamente utilizando el modelo exportado de CoreML . A continuaci贸n se indican los comandos para Python y CLI:

Inferencia en ejecuci贸n

from ultralytics import YOLO

coreml_model = YOLO("yolov8n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolov8n.mlpackage source='https://ultralytics.com/images/bus.jpg'

Para m谩s informaci贸n, consulta la secci贸n Utilizaci贸n de la gu铆a de exportaci贸n CoreML .



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

Comentarios