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 de aprendizagem automĆ”tica fundamental da Apple que se baseia no Accelerate, BNNS e Metal Performance Shaders. Fornece um formato de modelo de aprendizagem automĆ”tica que se integra facilmente em aplicaƧƵes iOS e suporta tarefas como a anĆ”lise de imagens, processamento de linguagem natural, conversĆ£o de Ć”udio para texto e 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: Utiliza o CPU, o GPU e o Neural Engine do dispositivo para obter o melhor desempenho com o mĆ­nimo de utilizaĆ§Ć£o 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 olharmos para o cĆ³digo para exportar YOLOv8 modelos para o CoreML formato, vamos entender onde CoreML modelos sĆ£o geralmente usados.

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 YOLOv8 para CoreML

A exportaĆ§Ć£o de YOLOv8 para CoreML permite um desempenho optimizado de 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.

FAQ

Como Ć© que exporto os modelos YOLOv8 para o formato CoreML ?

Para exportar o teu Ultralytics YOLOv8 para o formato CoreML , primeiro tens de te certificar de que tens o ultralytics instalado. Podes instalĆ”-lo utilizando:

InstalaĆ§Ć£o

pip install ultralytics

Em seguida, podes exportar o modelo utilizando os seguintes comandos Python ou CLI :

UtilizaĆ§Ć£o

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(format="coreml")
yolo export model=yolov8n.pt format=coreml

Para mais informaƧƵes, consulta a secĆ§Ć£o Exportar modelos YOLOv8 para CoreML da nossa documentaĆ§Ć£o.

Quais sĆ£o as vantagens de utilizar CoreML para implementar modelos YOLOv8 ?

CoreML oferece inĆŗmeras vantagens para a implementaĆ§Ć£o de Ultralytics YOLOv8 em dispositivos Apple:

  • Processamento no dispositivo: Permite a inferĆŖncia de modelos locais nos dispositivos, garantindo a privacidade dos dados e minimizando a latĆŖncia.
  • 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 YOLOv8 exportados para CoreML?

Depois de exportares o teu modelo YOLOv8 para o formato CoreML , tens vĆ”rias opƧƵes de implementaĆ§Ć£o:

  1. 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.
  2. 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 YOLOv8 ?

CoreML assegura um desempenho optimizado para os Ultralytics YOLOv8 modelos, utilizando vĆ”rias tĆ©cnicas de otimizaĆ§Ć£o:

  • 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

from ultralytics import YOLO

coreml_model = YOLO("yolov8n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolov8n.mlpackage source='https://ultralytics.com/images/bus.jpg'

Para mais informaƧƵes, consulta a secĆ§Ć£o UtilizaĆ§Ć£o do guia de exportaĆ§Ć£o CoreML .



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

ComentƔrios