Salta para o conteĆŗdo

CoreML ExportaĆ§Ć£o para YOLOv8 Modelos

A implementaĆ§Ć£o de modelos de visĆ£o computacional em dispositivos Apple, como iPhones e Macs, requer um formato que garanta um desempenho perfeito.

O formato de exportaĆ§Ć£o CoreML permite-te otimizar os teus Ultralytics YOLOv8 modelos para uma deteĆ§Ć£o de objectos eficiente em aplicaƧƵes iOS e macOS. Neste guia, vamos guiar-te atravĆ©s dos passos para converteres os teus modelos para o formato CoreML , facilitando o desempenho dos teus modelos em dispositivos Apple.

CoreML

CoreML VisĆ£o geral

CoreML Ć© a estrutura bĆ”sica de aprendizagem automĆ”tica da Apple que se baseia no Accelerate, BNNS e Metal Performance Shaders. Fornece um formato de modelo de aprendizagem automĆ”tica que se integra perfeitamente nas aplicaƧƵes iOS e suporta tarefas como a anĆ”lise de imagens, o processamento de linguagem natural, a conversĆ£o de Ć”udio para texto e a anĆ”lise de som.

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:

  • Suporte abrangente a modelos: Converte e executa modelos de estruturas populares como TensorFlow, PyTorch, scikit-learn, XGBoost e LibSVM.

CoreML Modelos suportados

  • Aprendizagem automĆ”tica no dispositivo: Garante a privacidade dos dados e um processamento rĆ”pido, executando modelos diretamente no dispositivo do utilizador, eliminando a necessidade de conetividade de rede.

  • Desempenho e otimizaĆ§Ć£o: Usa a CPU, a GPU e o Neural Engine do dispositivo para obter um desempenho ideal com o mĆ­nimo de uso de energia e memĆ³ria. Oferece ferramentas para compressĆ£o e otimizaĆ§Ć£o de modelos, mantendo a precisĆ£o.

  • 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 os modelos YOLOv8 para o formato CoreML , vamos perceber onde sĆ£o normalmente utilizados os modelos CoreML .

CoreML oferece vĆ”rias opƧƵes de implementaĆ§Ć£o para modelos de aprendizagem automĆ”tica, incluindo:

  • ImplementaĆ§Ć£o no dispositivo: Este mĆ©todo integra diretamente os modelos CoreML na sua 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 YOLOv8 para CoreML

A exportaĆ§Ć£o de YOLOv8 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:

InstalaĆ§Ć£o

# Install the required package for YOLOv8
pip install ultralytics

Para obter instruƧƵes detalhadas e melhores prĆ”ticas relacionadas com o processo de instalaĆ§Ć£o, consulta o nosso guia de instalaĆ§Ć£oYOLOv8 . Durante a instalaĆ§Ć£o dos pacotes necessĆ”rios para YOLOv8, se tiveres alguma dificuldade, consulta o nosso guia de Problemas comuns para obteres soluƧƵes e sugestƵes.

UtilizaĆ§Ć£o

Antes de mergulhar nas instruƧƵes de utilizaĆ§Ć£o, nĆ£o te esqueƧas de verificar a gama de modelosYOLOv8 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 YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to CoreML format
model.export(format='coreml')  # creates 'yolov8n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO('yolov8n.mlpackage')

# Run inference
results = coreml_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

# Run inference with the exported model
yolo predict model=yolov8n.mlpackage source='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 YOLOv8 CoreML

Depois de exportar com sucesso os modelos Ultralytics YOLOv8 para CoreML, a prĆ³xima fase crĆ­tica Ć© implantar esses modelos de forma eficaz. Para obter orientaƧƵes detalhadas sobre a implantaĆ§Ć£o de modelos CoreML em vĆ”rios ambientes, consulta estes recursos:

  • CoreML Ferramentas: Este guia inclui instruƧƵes e exemplos para converter modelos de TensorFlow, PyTorch, e outras bibliotecas para o 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 como exportar modelos Ultralytics YOLOv8 para o formato CoreML . Se seguires os passos descritos neste guia, podes garantir a mƔxima compatibilidade e desempenho ao exportar modelos YOLOv8 para CoreML.

Para mais informaƧƵes sobre a utilizaĆ§Ć£o, visita a documentaĆ§Ć£o oficialCoreML .

AlĆ©m disso, se quiseres saber mais sobre outras integraƧƵes de Ultralytics YOLOv8 , visita a nossa pĆ”gina de guia de integraĆ§Ć£o. EncontrarĆ”s muitos recursos e informaƧƵes valiosos.



Criado em 2024-02-07, Atualizado em 2024-03-03
Autores: glenn-jocher (1), RizwanMunawar (1), abirami-vina (1)

ComentƔrios