Overslaan naar inhoud

CoreML Exporteren voor YOLOv8 modellen

Het implementeren van computer vision modellen op Apple apparaten zoals iPhones en Macs vereist een formaat dat naadloze prestaties garandeert.

Met het exportformaat CoreML kun je je modellen optimaliseren Ultralytics YOLOv8 modellen optimaliseren voor efficiƫnte objectdetectie in iOS en macOS toepassingen. In deze gids doorlopen we de stappen om je modellen te converteren naar het CoreML formaat, zodat je modellen beter presteren op Apple apparaten.

CoreML

CoreML Overzicht

CoreML is het fundamentele raamwerk voor machinaal leren van Apple dat voortbouwt op Accelerate, BNNS en Metal Performance Shaders. Het biedt een modelindeling voor machinaal leren die naadloos kan worden geĆÆntegreerd in iOS-applicaties en taken ondersteunt zoals beeldanalyse, natuurlijke taalverwerking, conversie van audio naar tekst en geluidsanalyse.

Toepassingen kunnen profiteren van Core ML zonder dat ze een netwerkverbinding of API-oproepen nodig hebben, omdat het Core ML framework werkt met on-device computing. Dit betekent dat modelinferentie lokaal kan worden uitgevoerd op het apparaat van de gebruiker.

Belangrijkste kenmerken van CoreML modellen

Apple's CoreML framework biedt robuuste functies voor on-device machine learning. Hier zijn de belangrijkste functies die CoreML tot een krachtig hulpmiddel voor ontwikkelaars maken:

  • Uitgebreide ondersteuning voor modellen: Converteert en voert modellen uit van populaire frameworks zoals TensorFlow, PyTorch, scikit-learn, XGBoost en LibSVM.

CoreML Ondersteunde modellen

  • Machine-leren op apparaat: Garandeert gegevensprivacy en snelle verwerking door modellen direct op het apparaat van de gebruiker uit te voeren, zodat er geen netwerkverbinding nodig is.

  • Prestaties en optimalisatie: Gebruikt de CPU, GPU en Neural Engine van het apparaat voor optimale prestaties met minimaal stroom- en geheugengebruik. Biedt tools voor modelcompressie en -optimalisatie met behoud van nauwkeurigheid.

  • Eenvoudige integratie: Biedt een uniform formaat voor verschillende modeltypen en een gebruiksvriendelijke API voor naadloze integratie in apps. Ondersteunt domeinspecifieke taken door frameworks zoals Vision en Natural Language.

  • Geavanceerde functies: Inclusief trainingsmogelijkheden op het apparaat voor gepersonaliseerde ervaringen, asynchrone voorspellingen voor interactieve ML-ervaringen en tools voor modelinspectie en -validatie.

CoreML Inzetmogelijkheden

Voordat we kijken naar de code voor het exporteren van YOLOv8 modellen naar het CoreML formaat, moeten we eerst begrijpen waar CoreML modellen meestal worden gebruikt.

CoreML biedt verschillende inzetmogelijkheden voor modellen voor machinaal leren, waaronder:

  • Implementatie op apparaat: Deze methode integreert CoreML modellen direct in je iOS app. Het is vooral voordelig om een lage latentie, verbeterde privacy (omdat gegevens op het apparaat blijven) en offline functionaliteit te garanderen. Deze aanpak kan echter beperkt worden door de hardwaremogelijkheden van het apparaat, vooral voor grotere en complexere modellen. On-device implementatie kan op de volgende twee manieren worden uitgevoerd.

    • Ingebedde modellen: Deze modellen worden opgenomen in de app-bundel en zijn direct toegankelijk. Ze zijn ideaal voor kleine modellen die niet vaak hoeven te worden bijgewerkt.

    • Gedownloade modellen: Deze modellen worden naar behoefte opgehaald van een server. Deze aanpak is geschikt voor grotere modellen of modellen die regelmatig updates nodig hebben. Het helpt om de grootte van de app-bundel kleiner te houden.

  • Cloud-gebaseerde implementatie: CoreML modellen worden gehost op servers en benaderd door de iOS app via API verzoeken. Deze schaalbare en flexibele optie maakt eenvoudige modelupdates mogelijk zonder app-revisies. Het is ideaal voor complexe modellen of grootschalige apps die regelmatig updates nodig hebben. Er is echter wel een internetverbinding voor nodig en er kunnen latentie- en beveiligingsproblemen optreden.

YOLOv8 modellen exporteren naar CoreML

Het exporteren van YOLOv8 naar CoreML maakt geoptimaliseerde, on-device machine learning prestaties mogelijk binnen het ecosysteem van Apple, wat voordelen biedt op het gebied van efficiƫntie, beveiliging en naadloze integratie met iOS, macOS, watchOS en tvOS platforms.

Installatie

Voer het volgende uit om het vereiste pakket te installeren:

Installatie

# Install the required package for YOLOv8
pip install ultralytics

Bekijk voor gedetailleerde instructies en best practices met betrekking tot het installatieproces onze YOLOv8 Installatiegids. Als je tijdens de installatie van de vereiste pakketten voor YOLOv8 problemen tegenkomt, raadpleeg dan onze gids Veelgestelde problemen voor oplossingen en tips.

Gebruik

Voordat je in de gebruiksaanwijzing duikt, moet je eerst het assortiment YOLOv8 modellen bekijken dat Ultralytics aanbiedt. Dit zal je helpen het meest geschikte model te kiezen voor jouw projectvereisten.

Gebruik

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'

Ga voor meer informatie over het exportproces naar de Ultralytics documentatiepagina over exporteren.

Geƫxporteerde YOLOv8 CoreML modellen inzetten

Nadat je je Ultralytics YOLOv8 modellen met succes hebt geƫxporteerd naar CoreML, is de volgende kritieke fase het effectief implementeren van deze modellen. Bekijk deze bronnen voor gedetailleerde richtlijnen voor het implementeren van CoreML modellen in verschillende omgevingen:

  • CoreML Gereedschap: Deze gids bevat instructies en voorbeelden voor het converteren van modellen van TensorFlow, PyTorch, en andere bibliotheken naar Core ML.

  • ML en visie: Een verzameling uitgebreide video's die verschillende aspecten van het gebruik en de implementatie van CoreML modellen behandelen.

  • Een ML-kernmodel integreren in je app: Een uitgebreide handleiding voor het integreren van een CoreML model in een iOS applicatie, met gedetailleerde stappen van het voorbereiden van het model tot het implementeren ervan in de app voor verschillende functionaliteiten.

Samenvatting

In deze handleiding hebben we besproken hoe je Ultralytics YOLOv8 modellen kunt exporteren naar CoreML formaat. Door de stappen in deze gids te volgen, kun je zorgen voor maximale compatibiliteit en prestaties bij het exporteren van YOLOv8 modellen naar CoreML.

Ga voor meer informatie over het gebruik naar de officiƫle documentatie opCoreML .

Als je meer wilt weten over andere Ultralytics YOLOv8 integraties, bezoek dan onze integratiegids pagina. Daar vind je veel waardevolle bronnen en inzichten.



Gemaakt op 2024-02-07, Bijgewerkt op 2024-03-03
Auteurs: glenn-jocher (1), RizwanMunawar (1), abirami-vina (1)

Reacties