Overslaan naar inhoud

Een handleiding voor YOLOv8 Modelexport naar TFLite voor implementatie

TFLite Logo

Het implementeren van computervisiemodellen op randapparaten of ingebedde apparaten vereist een indeling die naadloze prestaties kan garanderen.

Met het exportformaat TensorFlow Lite of TFLite kun je je modellen optimaliseren voor taken als objectdetectie en beeldclassificatie in randapparaatgebaseerde toepassingen. Ultralytics YOLOv8 modellen optimaliseren voor taken als objectdetectie en beeldclassificatie in randapparaattoepassingen. In deze handleiding doorlopen we de stappen voor het converteren van je modellen naar het TFLite formaat, zodat je modellen beter presteren op verschillende randapparaten.

Waarom zou je naar TFLite exporteren?

GeĆÆntroduceerd door Google in mei 2017 als onderdeel van hun TensorFlow framework, is TensorFlow Lite, of kortweg TFLite, een open-source deep learning framework ontworpen voor inferentie op apparaten, ook wel bekend als edge computing. Het geeft ontwikkelaars de benodigde tools om hun getrainde modellen uit te voeren op mobiele, embedded en IoT apparaten, maar ook op traditionele computers.

TensorFlow Lite is compatibel met een groot aantal platformen, waaronder embedded Linux, Android, iOS en MCU. Door je model te exporteren naar TFLite worden je applicaties sneller, betrouwbaarder en kunnen ze offline worden uitgevoerd.

Belangrijkste kenmerken van TFLite modellen

TFLite modellen bieden een groot aantal belangrijke functies die on-device machine learning mogelijk maken door ontwikkelaars te helpen hun modellen uit te voeren op mobiele, embedded en edge apparaten:

  • Optimalisatie op het apparaat: TFLite optimaliseert voor ML op het apparaat, vermindert de latentie door gegevens lokaal te verwerken, verbetert de privacy door geen persoonlijke gegevens te verzenden en minimaliseert de grootte van het model om ruimte te besparen.

  • Ondersteuning voor meerdere platforms: TFLite biedt uitgebreide platformcompatibiliteit en ondersteunt Android, iOS, embedded Linux en microcontrollers.

  • Ondersteuning voor verschillende talen: TFLite is compatibel met verschillende programmeertalen, waaronder Java, Swift, Objective-C, C++ en Python.

  • Hoge prestaties: Bereikt superieure prestaties door hardwareversnelling en modeloptimalisatie.

Inzetmogelijkheden in TFLite

Voordat we kijken naar de code voor het exporteren van YOLOv8 modellen naar het TFLite formaat, moeten we eerst begrijpen hoe TFLite modellen normaal gesproken worden gebruikt.

TFLite biedt verschillende on-device inzetmogelijkheden voor machine learning modellen, waaronder:

  • Inzetten met Android en iOS: Zowel Android- als iOS-applicaties met TFLite kunnen edge-gebaseerde camerafeeds en sensoren analyseren om objecten te detecteren en identificeren. TFLite biedt ook native iOS bibliotheken geschreven in Swift en Objective-C. Het onderstaande architectuurdiagram toont het proces van het implementeren van een getraind model op Android- en iOS-platforms met TensorFlow Lite.

Architectuur

  • Implementeren met ingebed Linux: Als het uitvoeren van inferenties op een Raspberry Pi met behulp van de Ultralytics Gids niet voldoet aan de snelheidseisen voor je gebruikssituatie, kun je een geĆ«xporteerd TFLite model gebruiken om de inferentietijden te versnellen. Daarnaast is het mogelijk om de prestaties nog verder te verbeteren door gebruik te maken van een Coral Edge TPU apparaat.

  • Inzetten met microcontrollers: TFLite modellen kunnen ook worden ingezet op microcontrollers en andere apparaten met slechts een paar kilobyte geheugen. De core runtime past net in 16 KB op een Arm Cortex M3 en kan veel basismodellen draaien. Het vereist geen ondersteuning van het besturingssysteem, standaard C of C++ bibliotheken of dynamische geheugentoewijzing.

Exporteren naar TFLite: Je YOLOv8 model converteren

Je kunt de efficiƫntie van het uitvoeren van modellen op het apparaat verbeteren en de prestaties optimaliseren door ze te converteren naar het TFLite formaat.

Installatie

Voer het volgende uit om de vereiste pakketten 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 Ultralytics 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 gebruiksinstructies duikt, is het belangrijk om op te merken dat alle Ultralytics YOLOv8 modellen beschikbaar zijn voor exporteren, maar dat je hier kunt controleren of het model dat je kiest de exportfunctionaliteit ondersteunt.

Gebruik

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to TFLite format
model.export(format='tflite') # creates 'yolov8n_float32.tflite'

# Load the exported TFLite model
tflite_model = YOLO('yolov8n_float32.tflite')

# Run inference
results = tflite_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TFLite format
yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

# Run inference with the exported model
yolo predict model='yolov8n_float32.tflite' source='https://ultralytics.com/images/bus.jpg'

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

Geƫxporteerde YOLOv8 TFLite-modellen inzetten

Na het succesvol exporteren van je Ultralytics YOLOv8 modellen naar TFLite formaat, kun je ze nu implementeren. De primaire en aanbevolen eerste stap voor het uitvoeren van een TFLite model is het gebruik van de YOLO("model.tflite") methode, zoals beschreven in het vorige codefragment. Voor uitgebreide instructies over het implementeren van je TFLite modellen in verschillende andere instellingen, kun je een kijkje nemen in de volgende bronnen:

  • Android: Een snelstartgids voor het integreren van TensorFlow Lite in Android applicaties, met eenvoudig te volgen stappen voor het opzetten en uitvoeren van machine learning modellen.

  • iOS: Bekijk deze gedetailleerde gids voor ontwikkelaars over het integreren en implementeren van TensorFlow Lite modellen in iOS-applicaties, met stapsgewijze instructies en hulpmiddelen.

  • End-to-end voorbeelden: Deze pagina biedt een overzicht van verschillende TensorFlow Lite voorbeelden, die praktische toepassingen en tutorials laten zien die zijn ontworpen om ontwikkelaars te helpen TensorFlow Lite te implementeren in hun machine learning projecten op mobiele en edge apparaten.

Samenvatting

In deze handleiding hebben we ons gericht op het exporteren naar TFLite formaat. Door je Ultralytics YOLOv8 modellen te converteren naar het TFLite modelformaat, kun je de efficiƫntie en snelheid van YOLOv8 modellen verbeteren, waardoor ze effectiever worden en geschikt zijn voor edge computing omgevingen.

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

Als je nieuwsgierig bent naar andere Ultralytics YOLOv8 integraties, bekijk dan zeker onze integratiegids pagina. Daar vind je heel veel nuttige informatie en inzichten.



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

Reacties