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 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 integreert in iOS toepassingen en ondersteunt taken 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 hulpmiddelen 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 YOLOv8 modellen naar de CoreML formaat, laten we begrijpen waar CoreML Meestal worden modellen gebruikt.

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

  • Inzet 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 de platforms iOS, macOS, watchOS en tvOS.

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.

FAQ

Hoe exporteer ik YOLOv8 modellen naar het formaat CoreML ?

Om je Ultralytics YOLOv8 modellen naar CoreML formaat, moet je er eerst voor zorgen dat je de ultralytics pakket geĆÆnstalleerd. Je kunt het installeren met:

Installatie

pip install ultralytics

Vervolgens kun je het model exporteren met de volgende opdrachten Python of CLI :

Gebruik

from ultralytics import YOLO

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

Raadpleeg voor meer informatie de sectie YOLOv8 Modellen exporteren naar CoreML in onze documentatie.

Wat zijn de voordelen van het gebruik van CoreML voor het implementeren van YOLOv8 modellen?

CoreML biedt tal van voordelen voor het inzetten van Ultralytics YOLOv8 modellen op Apple apparaten:

  • Verwerking op apparaten: Maakt lokale modelinferentie op apparaten mogelijk, waardoor gegevensprivacy wordt gewaarborgd en latentie wordt geminimaliseerd.
  • Optimalisatie van de prestaties: Benut het volledige potentieel van de CPU, GPU en Neural Engine van het apparaat, waardoor zowel snelheid als efficiĆ«ntie worden geoptimaliseerd.
  • Eenvoudige integratie: Biedt een naadloze integratie met de ecosystemen van Apple, waaronder iOS, macOS, watchOS en tvOS.
  • Veelzijdigheid: Ondersteunt een breed scala aan machine-learning taken zoals beeldanalyse, audioverwerking en natuurlijke taalverwerking met behulp van het CoreML framework.

Voor meer details over het integreren van je CoreML model in een iOS app, bekijk je de gids over het integreren van een Core ML Model in je app.

Wat zijn de implementatieopties voor YOLOv8 modellen die zijn geƫxporteerd naar CoreML?

Zodra je je YOLOv8 model hebt geƫxporteerd naar het CoreML formaat, heb je meerdere opties om het in te zetten:

  1. Implementatie op apparaat: Integreer CoreML modellen direct in je app voor verbeterde privacy en offline functionaliteit. Dit kan worden gedaan als:

    • Ingebedde modellen: Inbegrepen in de app-bundel, direct toegankelijk.
    • Gedownloade modellen: Naar behoefte opgehaald van een server, waardoor de grootte van de app-bundel kleiner blijft.
  2. Cloud-gebaseerde implementatie: Host CoreML modellen op servers en benader ze via API verzoeken. Deze aanpak ondersteunt eenvoudigere updates en kan complexere modellen aan.

Raadpleeg CoreML Inzetmogelijkheden voor gedetailleerde richtlijnen voor het inzetten van CoreML modellen.

Hoe zorgt CoreML voor optimale prestaties voor YOLOv8 modellen?

CoreML zorgt voor optimale prestaties voor Ultralytics YOLOv8 modellen door gebruik te maken van verschillende optimalisatietechnieken:

  • Hardwareversnelling: Gebruikt de CPU, GPU en Neural Engine van het apparaat voor efficiĆ«nte berekeningen.
  • Modelcompressie: Biedt gereedschappen voor het comprimeren van modellen om hun voetafdruk te verkleinen zonder dat dit ten koste gaat van de nauwkeurigheid.
  • Adaptieve inferentie: Past de inferentie aan op basis van de mogelijkheden van het apparaat om een balans te bewaren tussen snelheid en prestaties.

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

Kan ik inferentie direct uitvoeren met het geƫxporteerde CoreML model?

Ja, je kunt inferentie direct uitvoeren met het geƫxporteerde CoreML model. Hieronder staan de commando's voor Python en CLI:

Lopende gevolgtrekking

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'

Raadpleeg voor aanvullende informatie het gedeelte Gebruik van de exportgids CoreML .



Aangemaakt 2024-02-07, Bijgewerkt 2024-07-05
Auteurs: glenn-jocher (6), RizwanMunawar (1), abirami-vina (1)

Reacties