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 aplicaciones iOS y macOS. En esta gu铆a, te guiaremos por 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 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 la CPU, la 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 los modelos YOLOv8 al formato CoreML , vamos a entender d贸nde se suelen utilizar los modelos CoreML .

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 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 necesidad de 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 optimizar el rendimiento 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.



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

Comentarios