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?

TensorFlow Lite, kortweg TFLite, werd in mei 2017 geĆÆntroduceerd door Google als onderdeel van hun TensorFlow framework en is een open-source deep learning framework dat is 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 draaien.

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 YOLOv8 modellen naar het TFLite-formaat, laten we eens kijken hoe TFLite-modellen normaal gesproken worden gebruikt.

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

  • Implementeren met Android en iOS: Zowel Android als iOS applicaties met TFLite kunnen randgebaseerde 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 inzetten 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 toepassingen, 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.

FAQ

Hoe exporteer ik een YOLOv8 model naar TFLite formaat?

Om een YOLOv8 model te exporteren naar TFLite formaat, kun je de Ultralytics bibliotheek gebruiken. Installeer eerst het benodigde pakket met:

pip install ultralytics

Gebruik dan het volgende codefragment om je model te exporteren:

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'

Voor CLI gebruikers kun je dit bereiken met:

yolo export model=yolov8n.pt format=tflite  # creates 'yolov8n_float32.tflite'

Ga voor meer informatie naar Ultralytics exportgids.

Wat zijn de voordelen van het gebruik van TensorFlow Lite voor de implementatie van YOLOv8 modellen?

TensorFlow Lite (TFLite) is een open-source deep learning raamwerk ontworpen voor inferentie op apparaten, waardoor het ideaal is voor het implementeren van YOLOv8 modellen op mobiele, embedded en IoT apparaten. De belangrijkste voordelen zijn:

  • Optimalisatie op het apparaat: Minimaliseer latentie en verbeter privacy door gegevens lokaal te verwerken.
  • Compatibiliteit platform: Ondersteunt Android, iOS, embedded Linux en MCU.
  • Prestaties: Maakt gebruik van hardwareversnelling om de snelheid en efficiĆ«ntie van het model te optimaliseren.

Bekijk de TFLite gids voor meer informatie.

Is het mogelijk om YOLOv8 TFLite-modellen op Raspberry Pi te draaien?

Ja, je kunt YOLOv8 TFLite modellen uitvoeren op Raspberry Pi om de inferentiesnelheid te verbeteren. Exporteer eerst je model naar TFLite formaat zoals hier wordt uitgelegd. Gebruik dan een tool als TensorFlow Lite Interpreter om het model uit te voeren op je Raspberry Pi.

Voor verdere optimalisaties kun je overwegen om Coral Edge TPU te gebruiken. Raadpleeg voor gedetailleerde stappen onze Raspberry Pi implementatiegids.

Kan ik TFLite-modellen op microcontrollers gebruiken voor YOLOv8 voorspellingen?

Ja, TFLite ondersteunt het gebruik op microcontrollers met beperkte middelen. De core runtime van TFLite heeft slechts 16 KB geheugen nodig op een Arm Cortex M3 en kan eenvoudige YOLOv8 modellen uitvoeren. Dit maakt het geschikt voor gebruik op apparaten met minimale rekenkracht en geheugen.

Ga om te beginnen naar de handleiding TFLite Micro voor Microcontrollers.

Welke platforms zijn compatibel met TFLite geƫxporteerde YOLOv8 modellen?

TensorFlow Lite biedt uitgebreide platformcompatibiliteit, zodat je YOLOv8 modellen kunt implementeren op een groot aantal apparaten, waaronder:

  • Android en iOS: Native ondersteuning via TFLite Android en iOS bibliotheken.
  • Embedded Linux: Ideaal voor single-board computers zoals de Raspberry Pi.
  • Microcontrollers: Geschikt voor MCU's met beperkte bronnen.

Raadpleeg voor meer informatie over de implementatieopties onze gedetailleerde implementatiegids.

Hoe los ik veelvoorkomende problemen op tijdens het exporteren van YOLOv8 modellen naar TFLite?

Als je fouten tegenkomt tijdens het exporteren van YOLOv8 modellen naar TFLite, zijn veelvoorkomende oplossingen onder andere:

  • Controleer pakketcompatibiliteit: Controleer of je compatibele versies van Ultralytics en TensorFlow gebruikt. Raadpleeg onze installatiegids.
  • Modelondersteuning: Controleer hier of het specifieke YOLOv8 model TFLite export ondersteunt.

Ga voor aanvullende tips voor het oplossen van problemen naar onze gids Veelgestelde problemen.



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

Reacties