CoreML Exportação para os modelos YOLO11
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
Antes de analisarmos o código para exportar modelos YOLO11 para o formato CoreML , vamos compreender onde os modelos CoreML são normalmente utilizados.
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.
Exportação de modelos YOLO11 para CoreML
A exportação do YOLO11 para CoreML permite um desempenho optimizado da aprendizagem automática no dispositivo no ecossistema da Apple, oferecendo vantagens em termos de eficiência, segurança e integração perfeita com as plataformas iOS, macOS, watchOS e tvOS.
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
Antes de mergulhar nas instruções de utilização, certifica-te de que verificas a gama de modelos YOLO11 oferecidos por Ultralytics. Isto ajudar-te-á a escolher o modelo mais adequado às necessidades do teu projeto.
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.
Implantação de modelos exportados do YOLO11 CoreML
Depois de exportar com êxito os modelos Ultralytics YOLO11 para CoreML, a próxima fase crítica é a implantação eficaz desses modelos. Para obter orientações detalhadas sobre a implantação de modelos CoreML em vários ambientes, consulta estes recursos:
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
Neste guia, explicámos-te como exportar modelos Ultralytics YOLO11 para o formato CoreML . Seguindo os passos descritos neste guia, podes garantir a máxima compatibilidade e desempenho ao exportar modelos YOLO11 para 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
Como é que exporto modelos YOLO11 para o formato CoreML ?
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.
Quais são as vantagens de utilizar CoreML para implementar os modelos YOLO11?
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.
Quais são as opções de implementação para os modelos YOLO11 exportados para CoreML?
Depois de exportares o teu modelo YOLO11 para o formato CoreML , tens várias opções de implementação:
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.
Como é que o CoreML garante um desempenho optimizado para os modelos YOLO11?
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 .