Exportación de modelos YOLO26 a CoreML
La implementación de modelos de visión artificial en dispositivos Apple como iPhones y Macs requiere un formato que garantice un rendimiento perfecto.
Ver: Cómo exportar Ultralytics YOLO26 a CoreML para una inferencia 2x más rápida en dispositivos Apple 🚀
El formato de exportación CoreML le permite optimizar sus modelos Ultralytics YOLO26 para una detección de objetos eficiente en aplicaciones iOS y macOS. En esta guía, le guiaremos a través de los pasos para convertir sus modelos al formato CoreML, facilitando que sus modelos funcionen bien en dispositivos Apple.
CoreML

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 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 se puede realizar localmente en el dispositivo del usuario.
Características principales de los modelos CoreML
El framework CoreML de Apple ofrece funciones robustas 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 de Modelos: Convierte y ejecuta modelos de frameworks 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 mediante la ejecución de 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 del 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.
Opciones de implementación de CoreML
Antes de revisar el código para exportar modelos YOLO26 al formato CoreML, comprendamos dónde se utilizan habitualmente los modelos CoreML.
CoreML ofrece varias opciones de implementación para modelos de aprendizaje automático, incluyendo:
Implementación en el dispositivo: Este método integra directamente los modelos CoreML en su aplicación iOS. Es particularmente ventajoso para garantizar una baja latencia, una mayor privacidad (ya que los datos permanecen en el dispositivo) y la funcionalidad offline. Este enfoque, sin embargo, puede estar limitado por las capacidades de hardware del dispositivo, especialmente para modelos más grandes y complejos, y se puede ejecutar de las siguientes dos maneras:
Modelos integrados: Estos modelos se incluyen en el paquete de la aplicación y están disponibles de inmediato. 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 periódicas. Ayuda a mantener el tamaño del paquete de la aplicación más pequeño.
Implementación basada 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 sencillas del modelo 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.
Exportación de modelos YOLO26 a CoreML
La exportación de YOLO26 a CoreML permite un rendimiento optimizado de aprendizaje automático en el dispositivo dentro del ecosistema de Apple, ofreciendo beneficios en términos de eficiencia, seguridad e integración perfecta con las plataformas iOS, macOS, watchOS y tvOS.
Instalación
Para instalar el paquete requerido, ejecute:
Instalación
# Install the required package for YOLO26
pip install ultralytics
Para obtener instrucciones detalladas y mejores prácticas relacionadas con el proceso de instalación, consulte nuestra guía de instalación de YOLO26. Si encuentra alguna dificultad durante la instalación de los paquetes requeridos para YOLO26, consulte nuestra guía de problemas comunes para obtener soluciones y consejos.
Uso
Antes de profundizar en las instrucciones de uso, asegúrese de revisar la gama de modelos YOLO26 ofrecidos por Ultralytics. Esto le ayudará a elegir el modelo más adecuado para los requisitos de su proyecto.
Uso
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to CoreML format
model.export(format="coreml") # creates 'yolo26n.mlpackage'
# Load the exported CoreML model
coreml_model = YOLO("yolo26n.mlpackage")
# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to CoreML format
yolo export model=yolo26n.pt format=coreml # creates 'yolo26n.mlpackage'
# Run inference with the exported model
yolo predict model=yolo26n.mlpackage source='https://ultralytics.com/images/bus.jpg'
Argumentos de exportación
| Argumento | Tipo | Predeterminado | Descripción |
|---|---|---|---|
format | str | 'coreml' | Formato de destino para el modelo exportado, que define la compatibilidad con varios entornos de implementación. |
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. |
half | bool | False | Activa la cuantización FP16 (media precisión), reduciendo el tamaño del modelo y, potencialmente, acelerando la inferencia en hardware compatible. |
int8 | bool | False | Activa la cuantizació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 de borde. |
nms | bool | False | Añade la Supresión No Máxima (NMS), esencial para un post-procesamiento de detección preciso y eficiente. |
batch | int | 1 | Especifica el tamaño del lote de inferencia del modelo exportado o el número máximo de imágenes que el modelo exportado procesará simultáneamente en predict modo. |
device | str | None | Especifica el dispositivo para la exportación: GPU (device=0), CPU (device=cpu), MPS para Apple silicon (device=mps). |
Consejo
Asegúrese de utilizar una máquina macOS o x86 Linux 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 la exportación.
Despliegue de modelos YOLO26 CoreML exportados
Habiendo exportado con éxito sus modelos Ultralytics YOLO26 a CoreML, la siguiente fase crítica es el despliegue efectivo de estos modelos. Para obtener una guía detallada sobre el despliegue de modelos CoreML en diversos entornos, consulte estos recursos:
CoreML Tools: 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 completos que cubren varios aspectos del uso e implementación de modelos de CoreML.
Integración de un modelo de Core ML en tu aplicación: Una guía completa sobre la integración de un modelo de 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.
Resumen
En esta guía, revisamos cómo exportar modelos Ultralytics YOLO26 al formato CoreML. Siguiendo los pasos descritos en esta guía, puede garantizar la máxima compatibilidad y rendimiento al exportar modelos YOLO26 a CoreML.
Para obtener más detalles sobre su uso, visite la documentación oficial de CoreML.
Además, si desea saber más sobre otras integraciones de Ultralytics YOLO26, visite nuestra página de la guía de integración. Allí encontrará numerosos recursos valiosos e información útil.
Preguntas frecuentes
¿Cómo exporto modelos YOLO26 a formato CoreML?
Para exportar su Ultralytics YOLO26 modelos al formato CoreML, primero deberá asegurarse de tener el ultralytics paquete instalado. Puede instalarlo usando:
Instalación
pip install ultralytics
A continuación, puedes exportar el modelo utilizando los siguientes comandos de python o CLI:
Uso
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="coreml")
yolo export model=yolo26n.pt format=coreml
Para más detalles, consulte la sección Exportación de modelos YOLO26 a CoreML de nuestra documentación.
¿Cuáles son los beneficios de usar CoreML para desplegar modelos YOLO26?
CoreML ofrece numerosas ventajas para el despliegue de modelos Ultralytics YOLO26 en dispositivos Apple:
- Procesamiento en el dispositivo: Permite la inferencia de modelos locales en los dispositivos, lo que garantiza la privacidad de los datos y minimiza la latencia.
- Optimización del rendimiento: Aprovecha todo el potencial de la CPU, la 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 mediante el framework CoreML.
Para obtener más detalles sobre la integración de tu modelo de CoreML en una aplicación iOS, consulta la guía sobre Integración de un modelo de Core ML en tu aplicación.
¿Cuáles son las opciones de despliegue para modelos YOLO26 exportados a CoreML?
Una vez que exporta su modelo YOLO26 al formato CoreML, dispone de múltiples opciones de despliegue:
Implementación en el dispositivo: Integre directamente los modelos CoreML en su 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 de inmediato.
- Modelos descargados: Se obtienen de un servidor según sea necesario, lo que mantiene el tamaño del paquete de la aplicación más pequeño.
Implementación basada en la nube: Aloje modelos CoreML en servidores y acceda a ellos a través de solicitudes de API. Este enfoque facilita las actualizaciones y puede manejar modelos más complejos.
Para obtener una guía detallada sobre la implementación de modelos CoreML, consulta Opciones de implementación de CoreML.
¿Cómo asegura CoreML un rendimiento optimizado para los modelos YOLO26?
CoreML garantiza un rendimiento optimizado para los modelos Ultralytics YOLO26 mediante la utilización de diversas técnicas de optimización:
- Aceleración de hardware: Utiliza la CPU, la 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 según 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.
¿Puedo ejecutar la inferencia directamente con el modelo CoreML exportado?
Sí, puedes ejecutar la inferencia directamente utilizando el modelo CoreML exportado. A continuación, se muestran los comandos para python y la CLI:
Ejecutando la inferencia
from ultralytics import YOLO
coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolo26n.mlpackage source='https://ultralytics.com/images/bus.jpg'
Para obtener información adicional, consulte la sección de Uso de la guía de exportación de CoreML.