CoreML Export for YOLO11 Models
Deploying computer vision models on Apple devices like iPhones and Macs requires a format that ensures seamless performance.
The CoreML export format allows you to optimize your Ultralytics YOLO11 models for efficient object detection in iOS and macOS applications. In this guide, we'll walk you through the steps for converting your models to the CoreML format, making it easier for your models to perform well on Apple devices.
CoreML
CoreML is Apple's foundational machine learning framework that builds upon Accelerate, BNNS, and Metal Performance Shaders. It provides a machine-learning model format that seamlessly integrates into iOS applications and supports tasks such as image analysis, natural language processing, audio-to-text conversion, and sound analysis.
As aplicações podem tirar partido do Core ML sem necessitarem de uma ligação à rede ou de chamadas à API, uma vez que a estrutura do Core ML funciona utilizando a computação no dispositivo. Isto significa que a inferência de modelos pode ser realizada localmente no dispositivo do utilizador.
Principais características dos modelos CoreML
A estrutura CoreML da Apple oferece funcionalidades robustas para a aprendizagem automática no dispositivo. Eis as principais características que fazem do CoreML uma ferramenta poderosa para os programadores:
- Comprehensive Model Support: Converts and runs models from popular frameworks like TensorFlow, PyTorch, scikit-learn, XGBoost, and LibSVM.
-
On-device Machine Learning: Ensures data privacy and swift processing by executing models directly on the user's device, eliminating the need for network connectivity.
-
Performance and Optimization: Uses the device's CPU, GPU, and Neural Engine for optimal performance with minimal power and memory usage. Offers tools for model compression and optimization while maintaining accuracy.
-
Facilidade de integração: Fornece um formato unificado para vários tipos de modelos e uma API de fácil utilização para uma integração perfeita nas aplicações. Suporta tarefas específicas do domínio através de estruturas como Visão e Linguagem Natural.
-
Funcionalidades avançadas: Inclui capacidades de formação no dispositivo para experiências personalizadas, previsões assíncronas para experiências de ML interactivas e ferramentas de inspeção e validação de modelos.
CoreML Opções de implementação
Before we look at the code for exporting YOLO11 models to the CoreML format, let's understand where CoreML models are usually used.
CoreML oferece várias opções de implementação para modelos de aprendizagem automática, incluindo:
-
Implantação no dispositivo: Este método integra diretamente os modelos CoreML na tua aplicação iOS . É particularmente vantajoso para garantir baixa latência, maior privacidade (uma vez que os dados permanecem no dispositivo) e funcionalidade offline. No entanto, esta abordagem pode ser limitada pelas capacidades de hardware do dispositivo, especialmente para modelos maiores e mais complexos. A implantação no dispositivo pode ser executada das duas maneiras a seguir.
-
Modelos incorporados: Estes modelos estão incluídos no pacote de aplicações e estão imediatamente acessíveis. São ideais para modelos pequenos que não requerem actualizações frequentes.
-
Modelos descarregados: Estes modelos são obtidos a partir de um servidor, conforme necessário. Esta abordagem é adequada para modelos maiores ou para aqueles que necessitam de actualizações regulares. Ajuda a manter o tamanho do pacote de aplicações mais pequeno.
-
-
Implementação baseada na nuvem: os modelos CoreML são alojados em servidores e acedidos pela aplicação iOS através de pedidos de API. Esta opção escalável e flexível permite actualizações fáceis do modelo sem revisões da aplicação. É ideal para modelos complexos ou aplicações de grande escala que requerem actualizações regulares. No entanto, requer uma ligação à Internet e pode apresentar problemas de latência e segurança.
Exporting YOLO11 Models to CoreML
Exporting YOLO11 to CoreML enables optimized, on-device machine learning performance within Apple's ecosystem, offering benefits in terms of efficiency, security, and seamless integration with iOS, macOS, watchOS, and tvOS platforms.
Instalação
Para instalar o pacote necessário, executa:
For detailed instructions and best practices related to the installation process, check our YOLO11 Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.
Utilização
Before diving into the usage instructions, be sure to check out the range of YOLO11 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements.
Utilização
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to CoreML format
model.export(format="coreml") # creates 'yolo11n.mlpackage'
# Load the exported CoreML model
coreml_model = YOLO("yolo11n.mlpackage")
# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
Para obter mais detalhes sobre o processo de exportação, visita a página de documentaçãoUltralytics sobre exportação.
Deploying Exported YOLO11 CoreML Models
Having successfully exported your Ultralytics YOLO11 models to CoreML, the next critical phase is deploying these models effectively. For detailed guidance on deploying CoreML models in various environments, check out these resources:
-
CoreML Tools: This guide includes instructions and examples to convert models from TensorFlow, PyTorch, and other libraries to Core ML.
-
ML e Visão: Uma coleção de vídeos abrangentes que cobrem vários aspectos da utilização e implementação de modelos CoreML .
-
Integrar um modelo principal de ML na tua aplicação: Um guia completo sobre a integração de um modelo CoreML numa aplicação iOS , detalhando os passos desde a preparação do modelo até à sua implementação na aplicação para várias funcionalidades.
Resumo
In this guide, we went over how to export Ultralytics YOLO11 models to CoreML format. By following the steps outlined in this guide, you can ensure maximum compatibility and performance when exporting YOLO11 models to CoreML.
Para mais informações sobre a utilização, visita a documentação oficialCoreML .
Also, if you'd like to know more about other Ultralytics YOLO11 integrations, visit our integration guide page. You'll find plenty of valuable resources and insights there.
FAQ
How do I export YOLO11 models to CoreML format?
Para exportar o teu Ultralytics YOLO11 para o formato CoreML , primeiro tens de te certificar de que tens o ultralytics
instalado. Podes instalá-lo utilizando:
Em seguida, podes exportar o modelo utilizando os seguintes comandos Python ou CLI :
Utilização
For further details, refer to the Exporting YOLO11 Models to CoreML section of our documentation.
What are the benefits of using CoreML for deploying YOLO11 models?
CoreML provides numerous advantages for deploying Ultralytics YOLO11 models on Apple devices:
- On-device Processing: Enables local model inference on devices, ensuring data privacy and minimizing latency.
- Otimização do desempenho: Tira partido de todo o potencial do CPU, GPU e do Neural Engine do dispositivo, optimizando a velocidade e a eficiência.
- Facilidade de integração: Oferece uma experiência de integração perfeita com os ecossistemas da Apple, incluindo iOS, macOS, watchOS e tvOS.
- Versatilidade: Suporta uma vasta gama de tarefas de aprendizagem automática, como a análise de imagens, o processamento de áudio e o processamento de linguagem natural, utilizando a estrutura CoreML .
Para obter mais detalhes sobre a integração do modelo CoreML numa aplicação iOS , consulta o guia sobre a integração de um modelo de ML principal na tua aplicação.
What are the deployment options for YOLO11 models exported to CoreML?
Once you export your YOLO11 model to CoreML format, you have multiple deployment options:
-
Implementação no dispositivo: Integra diretamente os modelos CoreML na tua aplicação para uma maior privacidade e funcionalidade offline. Isto pode ser feito como:
- Modelos incorporados: Incluído no pacote de aplicações, acessível imediatamente.
- Modelos descarregados: Obtido de um servidor conforme necessário, mantendo o tamanho do pacote de aplicativos menor.
-
Implementação baseada na nuvem: Aloja os modelos CoreML em servidores e acede aos mesmos através de pedidos de API. Esta abordagem permite actualizações mais fáceis e pode lidar com modelos mais complexos.
Para obter orientações detalhadas sobre a implementação dos modelos CoreML , consulta CoreML Deployment Options.
How does CoreML ensure optimized performance for YOLO11 models?
CoreML ensures optimized performance for Ultralytics YOLO11 models by utilizing various optimization techniques:
- Aceleração de hardware: Utiliza o CPU, o GPU e o Neural Engine do dispositivo para uma computação eficiente.
- Compressão de modelos: Fornece ferramentas para comprimir modelos de modo a reduzir a sua pegada sem comprometer a precisão.
- Inferência adaptativa: Ajusta a inferência com base nas capacidades do dispositivo para manter um equilíbrio entre velocidade e desempenho.
Para obter mais informações sobre a otimização do desempenho, visita a documentação oficialCoreML .
Posso executar a inferência diretamente com o modelo CoreML exportado?
Sim, podes executar a inferência diretamente utilizando o modelo CoreML exportado. Abaixo estão os comandos para Python e CLI:
Executa a inferência
Para mais informações, consulta a secção Utilização do guia de exportação CoreML .