Link to this sectionExportación a CoreML para modelos YOLO26#
Desplegar modelos de visión artificial en dispositivos Apple como iPhones y Macs requiere un formato que garantice un rendimiento fluido.
Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀
El formato de exportación CoreML te permite optimizar tus modelos de Ultralytics YOLO26 para una detección de objetos eficiente en aplicaciones de 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 dispositivos Apple.
Link to this sectionCoreML#
CoreML es el marco de aprendizaje automático fundamental 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 de 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, ya que 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.
Link to this sectionCaracterísticas principales de los modelos CoreML#
El marco CoreML de Apple ofrece funciones sólidas para el aprendizaje automático en el dispositivo. Estas son las características clave que hacen de CoreML una herramienta potente para los desarrolladores:
- Soporte integral para modelos: Convierte y ejecuta modelos de marcos populares como TensorFlow, PyTorch, scikit-learn, XGBoost y LibSVM.
-
Aprendizaje automático en el dispositivo: Garantiza la privacidad de los datos y un procesamiento rápido al ejecutar modelos directamente en el dispositivo del usuario, eliminando la necesidad de conectividad de red.
-
Rendimiento y optimización: Utiliza la CPU, la GPU y el Neural Engine del dispositivo para un rendimiento óptimo con un consumo 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 de dominio a través de marcos como Vision y Natural Language.
-
Funciones avanzadas: Incluye capacidades de entrenamiento en el dispositivo para experiencias personalizadas, predicciones asíncronas para experiencias de ML interactivas y herramientas de inspección y validación de modelos.
Link to this sectionOpciones de despliegue de CoreML#
Antes de revisar el código para exportar modelos YOLO26 al formato CoreML, comprendamos dónde se utilizan normalmente los modelos CoreML.
CoreML ofrece varias opciones de despliegue para modelos de aprendizaje automático, incluyendo:
-
Despliegue en el dispositivo: Este método integra directamente modelos CoreML en tu aplicación de iOS. Es especialmente ventajoso para garantizar una baja latencia, una mayor privacidad (ya que los datos permanecen en el dispositivo) y funcionalidad sin conexión. Sin embargo, este enfoque puede estar limitado por las capacidades de hardware del dispositivo, especialmente para modelos más grandes y complejos, y puede ejecutarse de las siguientes dos maneras:
-
Modelos integrados: Estos modelos se incluyen en el paquete de la aplicación y son inmediatamente accesibles. Son ideales para modelos pequeños que no requieren actualizaciones frecuentes.
-
Modelos descargados: Estos modelos se obtienen de un servidor según sea necesario. Este enfoque es adecuado para modelos más grandes o aquellos que necesitan actualizaciones regulares. Ayuda a mantener un tamaño de paquete de aplicación más pequeño.
-
-
Despliegue basado en la nube: Los modelos CoreML se alojan en servidores y la aplicación de iOS accede a ellos a través de solicitudes de API. Esta opción escalable y flexible permite actualizaciones fáciles de modelos sin necesidad de revisiones de la aplicación. Es ideal para modelos complejos o aplicaciones a gran escala que requieren actualizaciones periódicas. Sin embargo, requiere una conexión a internet y puede plantear problemas de latencia y seguridad.
Link to this sectionExportación de modelos YOLO26 a CoreML#
Exportar YOLO26 a CoreML permite un rendimiento de aprendizaje automático optimizado en el dispositivo dentro del ecosistema de Apple, ofreciendo beneficios en cuanto a eficiencia, seguridad e integración perfecta con las plataformas iOS, macOS, watchOS y tvOS.
Link to this sectionInstalación#
Para instalar el paquete necesario, ejecuta:
# Install the required package for YOLO26
pip install ultralyticsPara obtener instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulta nuestra guía de instalación de YOLO26. Si tienes dificultades al instalar los paquetes necesarios para YOLO26, consulta nuestra guía de problemas comunes para encontrar soluciones y consejos.
Link to this sectionUso#
Antes de profundizar en las instrucciones de uso, asegúrate de echar un vistazo a la gama de modelos YOLO26 ofrecidos por Ultralytics. Esto te ayudará a elegir el modelo más adecuado para los requisitos de tu proyecto.
El formato CoreML admite los modos Exportar, Predecir y Validar. La inferencia y validación con CoreML solo se ejecutan en macOS. Exporta tu modelo y, a continuación, carga el modelo exportado para ejecutar la inferencia o validar su precisión.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to CoreML format
model.export(format="coreml") # creates 'yolo26n.mlpackage'from ultralytics import YOLO
# Load the exported CoreML model
model = YOLO("yolo26n.mlpackage")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported CoreML model
model = YOLO("yolo26n.mlpackage")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionArgumentos de exportación#
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'coreml' | Formato de destino para el modelo exportado, que define la compatibilidad con diversos entornos de despliegue. |
imgsz | int o tuple | 640 | Tamaño de imagen deseado para la entrada del modelo. Puede ser un entero para imágenes cuadradas o una tupla (height, width) para dimensiones específicas. |
dynamic | bool | False | Permite tamaños de entrada dinámicos, mejorando la flexibilidad en el manejo de diversas dimensiones de imagen. |
half | bool | False | Habilita la cuantificación FP16 (precisión media), reduciendo el tamaño del modelo y potencialmente acelerando la inferencia en hardware compatible. |
int8 | bool | False | Activa la cuantificación INT8, comprimiendo aún más el modelo y acelerando la inferencia con una pérdida mínima de precisión, principalmente para dispositivos periféricos (edge devices). |
nms | bool | False | Añade la supresión de no máximos (NMS), esencial para un posprocesamiento de detección preciso y eficiente. |
batch | int | 1 | Especifica el tamaño de 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 el modo predict. |
device | str | None | Especifica el dispositivo para la exportación: GPU (device=0), CPU (device=cpu), MPS para Apple silicon (device=mps). |
Asegúrate de usar una máquina macOS o Linux x86 al exportar a CoreML.
Para obtener más detalles sobre el proceso de exportación, visita la página de documentación de Ultralytics sobre exportación.
Link to this sectionDespliegue de modelos YOLO26 exportados a CoreML#
Tras exportar con éxito tus modelos Ultralytics YOLO26 a CoreML, la siguiente fase crítica es desplegar estos modelos de forma efectiva. Para obtener una guía detallada sobre el despliegue de modelos CoreML en diversos entornos, consulta estos recursos:
-
CoreML Tools: Esta guía incluye instrucciones y ejemplos para convertir modelos de TensorFlow, PyTorch y otras bibliotecas a Core ML.
-
ML and Vision: Una colección de vídeos completos que cubren diversos aspectos del uso y la implementación de modelos CoreML.
-
Integrating a Core ML Model into Your App: Una guía completa sobre la integración de un modelo CoreML en una aplicación de iOS, que detalla los pasos desde la preparación del modelo hasta su implementación en la aplicación para diversas funcionalidades.
Link to this sectionResumen#
En esta guía, hemos visto cómo exportar modelos Ultralytics YOLO26 al formato CoreML. Siguiendo los pasos descritos en esta guía, puedes garantizar la máxima compatibilidad y rendimiento al exportar modelos YOLO26 a CoreML.
Para obtener más detalles sobre su uso, visita la documentación oficial de CoreML.
Además, si quieres saber más sobre otras integraciones de Ultralytics YOLO26, visita nuestra página de guía de integración. Encontrarás muchos recursos e ideas valiosas allí.
Link to this sectionPreguntas frecuentes#
Link to this section¿Cómo exporto modelos YOLO26 al formato CoreML?#
Para exportar tus modelos de Ultralytics YOLO26 al formato CoreML, primero deberás asegurarte de tener instalado el paquete ultralytics. Puedes instalarlo usando:
pip install ultralyticsA continuación, puedes exportar el modelo usando los siguientes comandos de Python o CLI:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="coreml")Para obtener más detalles, consulta la sección Exportación de modelos YOLO26 a CoreML de nuestra documentación.
Link to this section¿Cuáles son los beneficios de usar CoreML para desplegar modelos YOLO26?#
CoreML ofrece numerosas ventajas para desplegar modelos de Ultralytics YOLO26 en dispositivos Apple:
- Procesamiento en el dispositivo: Permite la inferencia local de modelos en dispositivos, garantizando la privacidad de los datos y minimizando la latencia.
- Optimización del rendimiento: Aprovecha todo el potencial de la CPU, la GPU y el Neural Engine 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, incluyendo 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 de lenguaje natural utilizando el marco CoreML.
Para obtener más detalles sobre la integración de tu modelo CoreML en una aplicación de iOS, consulta la guía sobre Integrating a Core ML Model into Your App.
Link to this section¿Cuáles son las opciones de despliegue para los modelos YOLO26 exportados a CoreML?#
Una vez que exportes tu modelo YOLO26 al formato CoreML, tienes múltiples opciones de despliegue:
-
Despliegue en el dispositivo: Integra directamente los modelos CoreML en tu aplicación para mejorar la privacidad y la funcionalidad sin conexión. Esto se puede hacer 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.
-
Despliegue basado en la nube: Aloja modelos CoreML en servidores y accede a ellos mediante solicitudes de API. Este enfoque permite actualizaciones más fáciles y puede manejar modelos más complejos.
Para obtener una guía detallada sobre el despliegue de modelos CoreML, consulta Opciones de despliegue de CoreML.
Link to this section¿Cómo garantiza CoreML un rendimiento optimizado para los modelos YOLO26?#
CoreML garantiza un rendimiento optimizado para los modelos de Ultralytics YOLO26 mediante el uso de diversas técnicas de optimización:
- Aceleración por hardware: Utiliza la CPU, la GPU y el Neural Engine del dispositivo para una computación eficiente.
- Compresión de modelos: Proporciona herramientas para comprimir modelos y reducir su huella 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 obtener más información sobre la optimización del rendimiento, visita la documentación oficial de CoreML.
Link to this section¿Puedo ejecutar la inferencia directamente con el modelo CoreML exportado?#
Sí, puedes ejecutar la inferencia directamente usando el modelo CoreML exportado. A continuación, se muestran los comandos para Python y CLI:
from ultralytics import YOLO
coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")Para obtener información adicional, consulta la sección de Uso de la guía de exportación de CoreML.