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 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.
-
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:
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.
Criado em 2024-02-07, Atualizado em 2024-03-03
Autores: glenn-jocher (1), RizwanMunawar (1), abirami-vina (1)