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 Ć© 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.
-
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:
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")
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:
Em seguida, podes exportar o modelo utilizando os seguintes comandos Python ou CLI :
UtilizaĆ§Ć£o
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:
-
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 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
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)