Exportação CoreML para Modelos YOLO26
Implantar modelos de visão computacional em dispositivos Apple, como iPhones e Macs, requer um formato que garanta um desempenho contínuo.
Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀
O formato de exportação CoreML permite que você otimize seus modelos Ultralytics YOLO26 para detecção de objetos eficiente em aplicações iOS e macOS. Neste guia, vamos orientá-lo através das etapas para converter seus modelos para o formato CoreML, facilitando o desempenho dos seus modelos em dispositivos Apple.
CoreML
CoreML é a estrutura fundamental de aprendizado de máquina da Apple que se baseia em Accelerate, BNNS e Metal Performance Shaders. Ela fornece um formato de modelo de aprendizado de máquina que se integra perfeitamente em aplicações iOS e suporta tarefas como análise de imagem, processamento de linguagem natural, conversão de áudio para texto e análise de som.
As aplicações podem aproveitar o Core ML sem a necessidade de uma conexão de rede ou chamadas de API, porque a estrutura Core ML funciona usando computação no dispositivo. Isso significa que a inferência do modelo pode ser realizada localmente no dispositivo do usuário.
Principais Recursos dos Modelos CoreML
A estrutura CoreML da Apple oferece recursos robustos para aprendizado de máquina no dispositivo. Aqui estão os principais recursos que tornam o CoreML uma ferramenta poderosa para desenvolvedores:
- Suporte Abrangente a Modelos: Converte e executa modelos de estruturas populares como TensorFlow, PyTorch, scikit-learn, XGBoost e LibSVM.
-
Aprendizado de Máquina no Dispositivo: Garante a privacidade dos dados e um processamento rápido ao executar modelos diretamente no dispositivo do usuário, eliminando a necessidade de conectividade de rede.
-
Desempenho e Otimização: Usa a CPU, GPU e Neural Engine do dispositivo para um desempenho ideal com uso mínimo de energia e memória. Oferece ferramentas para compressão e otimização de modelos enquanto mantém a precisão.
-
Facilidade de Integração: Fornece um formato unificado para vários tipos de modelos e uma API amigável para integração perfeita em aplicativos. Suporta tarefas específicas de domínio através de estruturas como Vision e Natural Language.
-
Recursos Avançados: Inclui capacidades de treinamento no dispositivo para experiências personalizadas, previsões assíncronas para experiências de ML interativas e ferramentas de inspeção e validação de modelos.
Opções de Implantação CoreML
Antes de analisarmos o código para exportar modelos YOLO26 para o formato CoreML, vamos entender onde os modelos CoreML são geralmente usados.
O CoreML oferece várias opções de implantação para modelos de aprendizado de máquina, incluindo:
-
Implantação no Dispositivo: Este método integra diretamente os modelos CoreML no seu aplicativo iOS. É particularmente vantajoso para garantir baixa latência, maior privacidade (já que os dados permanecem no dispositivo) e funcionalidade offline. Essa abordagem, no entanto, pode ser limitada pelas capacidades de hardware do dispositivo, especialmente para modelos maiores e mais complexos, e pode ser executada das duas maneiras seguintes:
-
Modelos Incorporados: Estes modelos estão incluídos no pacote do aplicativo e são imediatamente acessíveis. Eles são ideais para modelos pequenos que não exigem atualizações frequentes.
-
Modelos Baixados: Estes modelos são buscados em um servidor conforme a necessidade. Esta abordagem é adequada para modelos maiores ou que precisam de atualizações regulares. Ela ajuda a manter o tamanho do pacote do aplicativo menor.
-
-
Implantação Baseada em Nuvem: Os modelos CoreML são hospedados em servidores e acessados pelo aplicativo iOS através de solicitações de API. Esta opção escalável e flexível permite atualizações fáceis de modelos sem revisões de aplicativos. É ideal para modelos complexos ou aplicativos de grande escala que exigem atualizações regulares. No entanto, ela requer uma conexão com a internet e pode apresentar problemas de latência e segurança.
Exportando Modelos YOLO26 para CoreML
Exportar YOLO26 para CoreML possibilita um desempenho de aprendizado de máquina otimizado e no dispositivo dentro do ecossistema da Apple, oferecendo benefícios em termos de eficiência, segurança e integração perfeita com plataformas iOS, macOS, watchOS e tvOS.
Instalação
Para instalar o pacote necessário, execute:
# Install the required package for YOLO26
pip install ultralyticsPara instruções detalhadas e práticas recomendadas relacionadas ao processo de instalação, consulte nosso guia de Instalação YOLO26. Ao instalar os pacotes necessários para o YOLO26, se você encontrar alguma dificuldade, consulte nosso guia de Problemas Comuns para soluções e dicas.
Utilização
Antes de mergulhar nas instruções de uso, não deixe de conferir a variedade de modelos YOLO26 oferecidos pela Ultralytics. Isso ajudará você a escolher o modelo mais apropriado para os requisitos do seu projeto.
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")Argumentos de Exportação
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
format | str | 'coreml' | Formato de destino para o modelo exportado, definindo a compatibilidade com vários ambientes de implantação. |
imgsz | int ou tuple | 640 | Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions. |
dynamic | bool | False | Permite tamanhos de entrada dinâmicos, aumentando a flexibilidade no manuseio de dimensões de imagem variáveis. |
half | bool | False | Ativa a quantização FP16 (precisão simples), reduzindo o tamanho do modelo e potencialmente acelerando a inferência em hardware suportado. |
int8 | bool | False | Ativa a quantização INT8, comprimindo ainda mais o modelo e acelerando a inferência com perda mínima de precisão, principalmente para dispositivos de borda. |
nms | bool | False | Adiciona Supressão Não Máxima (NMS), essencial para o pós-processamento de detecção preciso e eficiente. |
batch | int | 1 | Especifica o tamanho da inferência em lote do modelo de exportação ou o número máximo de imagens que o modelo exportado processará simultaneamente no modo predict. |
device | str | None | Especifica o dispositivo para exportação: GPU (device=0), CPU (device=cpu), MPS para silício Apple (device=mps). |
Certifique-se de usar uma máquina macOS ou Linux x86 ao exportar para CoreML.
Para mais detalhes sobre o processo de exportação, visite a página de documentação da Ultralytics sobre exportação.
Implantando Modelos YOLO26 CoreML Exportados
Após exportar com sucesso seus modelos Ultralytics YOLO26 para CoreML, a próxima fase crítica é implantar esses modelos de forma eficaz. Para obter orientações detalhadas sobre como implantar modelos CoreML em vários ambientes, confira estes recursos:
-
CoreML Tools: Este guia inclui instruções e exemplos para converter modelos do TensorFlow, PyTorch e outras bibliotecas para o Core ML.
-
ML and Vision: Uma coleção de vídeos abrangentes que cobrem vários aspectos do uso e implementação de modelos CoreML.
-
Integrando um Modelo Core ML ao Seu Aplicativo: Um guia abrangente sobre como integrar um modelo CoreML a um aplicativo iOS, detalhando desde a preparação do modelo até a implementação no aplicativo para várias funcionalidades.
Resumo
Neste guia, analisamos como exportar modelos Ultralytics YOLO26 para o formato CoreML. Seguindo as etapas descritas neste guia, você pode garantir a máxima compatibilidade e desempenho ao exportar modelos YOLO26 para CoreML.
Para mais detalhes sobre o uso, visite a documentação oficial do CoreML.
Além disso, se você quiser saber mais sobre outras integrações do Ultralytics YOLO26, visite nossa página de guia de integração. Você encontrará muitos recursos e insights valiosos lá.
FAQ
Como exporto modelos YOLO26 para o formato CoreML?
Para exportar seus modelos Ultralytics YOLO26 para o formato CoreML, primeiro você precisará garantir que o pacote ultralytics esteja instalado. Você pode instalá-lo usando:
pip install ultralyticsEm seguida, você pode exportar o modelo usando os seguintes comandos Python ou CLI:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="coreml")Para mais detalhes, consulte a seção Exportando Modelos YOLO26 para CoreML da nossa documentação.
Quais são os benefícios de usar CoreML para implantar modelos YOLO26?
O CoreML oferece inúmeras vantagens para a implantação de modelos Ultralytics YOLO26 em dispositivos Apple:
- Processamento no Dispositivo: Habilita a inferência local de modelos nos dispositivos, garantindo a privacidade de dados e minimizando a latência.
- Otimização de Desempenho: Aproveita todo o potencial da CPU, GPU e Neural Engine do dispositivo, otimizando tanto a velocidade quanto 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 ampla gama de tarefas de aprendizado de máquina, como análise de imagem, processamento de áudio e processamento de linguagem natural usando a estrutura CoreML.
Para mais detalhes sobre como integrar seu modelo CoreML em um aplicativo iOS, confira o guia sobre Integrando um Modelo Core ML ao Seu Aplicativo.
Quais são as opções de implantação para modelos YOLO26 exportados para CoreML?
Depois de exportar seu modelo YOLO26 para o formato CoreML, você tem várias opções de implantação:
-
Implantação no Dispositivo: Integre diretamente modelos CoreML em seu aplicativo para maior privacidade e funcionalidade offline. Isso pode ser feito como:
- Modelos Incorporados: Incluídos no pacote do aplicativo, acessíveis imediatamente.
- Modelos Baixados: Buscados de um servidor conforme a necessidade, mantendo o tamanho do pacote do aplicativo menor.
-
Implantação Baseada em Nuvem: Hospede modelos CoreML em servidores e acesse-os via solicitações de API. Esta abordagem suporta atualizações mais fáceis e pode lidar com modelos mais complexos.
Para orientações detalhadas sobre a implantação de modelos CoreML, consulte Opções de Implantação CoreML.
Como o CoreML garante desempenho otimizado para modelos YOLO26?
O CoreML garante desempenho otimizado para modelos Ultralytics YOLO26 utilizando várias técnicas de otimização:
- Aceleração de Hardware: Usa a CPU, GPU e Neural Engine do dispositivo para computação eficiente.
- Compressão de Modelo: Fornece ferramentas para comprimir modelos para reduzir 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 otimização de desempenho, visite a documentação oficial do CoreML.
Posso executar a inferência diretamente com o modelo CoreML exportado?
Sim, você pode executar a inferência diretamente usando o modelo CoreML exportado. Abaixo estão os comandos para Python e CLI:
from ultralytics import YOLO
coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")Para informações adicionais, consulte a seção Uso do guia de exportação CoreML.