Overslaan naar inhoud

Hoe exporteren naar TF GraphDef vanuit YOLOv8 voor implementatie

Wanneer je geavanceerde computervisiemodellen, zoals YOLOv8, in verschillende omgevingen gebruikt, kun je tegen compatibiliteitsproblemen aanlopen. Google's TensorFlow GraphDef , of TF GraphDef , biedt een oplossing door een geserialiseerde, platformonafhankelijke weergave van je model te bieden. Met behulp van het TF GraphDef modelformaat kun je je YOLOv8 model inzetten in omgevingen waar het volledige TensorFlow ecosysteem mogelijk niet beschikbaar is, zoals mobiele apparaten of gespecialiseerde hardware.

In deze handleiding laten we je stap voor stap zien hoe je je Ultralytics YOLOv8 modellen exporteert naar het modelformaat TF GraphDef . Door je model te converteren, kun je de implementatie stroomlijnen en de computervisiemogelijkheden van YOLOv8 gebruiken in een breder scala aan toepassingen en platforms.

TensorFlow GraphDef

Waarom zou je exporteren naar TF GraphDef ?

TF GraphDef is een krachtig onderdeel van het TensorFlow ecosysteem dat is ontwikkeld door Google. Het kan worden gebruikt om modellen zoals YOLOv8 te optimaliseren en in te zetten. Door te exporteren naar TF GraphDef kunnen we modellen verplaatsen van onderzoek naar toepassingen in de echte wereld. Hiermee kunnen modellen draaien in omgevingen zonder het volledige TensorFlow framework.

Het formaat GraphDef geeft het model weer als een geserialiseerde rekengrafiek. Dit maakt verschillende optimalisatietechnieken mogelijk zoals constante vouwen, kwantisatie en grafiektransformaties. Deze optimalisaties zorgen voor een efficiƫnte uitvoering, minder geheugengebruik en hogere inferentiesnelheden.

GraphDef Modellen kunnen gebruik maken van hardwareversnellers zoals GPU's, TPU's en AI-chips, waardoor de YOLOv8 inferentiepijplijn aanzienlijk sneller wordt. Het TF GraphDef formaat creƫert een zelfstandig pakket met het model en zijn afhankelijkheden, wat het gebruik en de integratie in verschillende systemen vereenvoudigt.

Belangrijkste kenmerken van TF GraphDef modellen

TF GraphDef biedt verschillende functies voor het stroomlijnen van modelimplementatie en -optimalisatie.

Hier volgt een blik op de belangrijkste kenmerken:

  • Modelserialisatie: TF GraphDef biedt een manier om TensorFlow modellen te serialiseren en op te slaan in een platformonafhankelijk formaat. Met deze geserialiseerde weergave kun je je modellen laden en uitvoeren zonder de originele Python codebase, wat de implementatie eenvoudiger maakt.

  • Grafiekoptimalisatie: TF GraphDef maakt het mogelijk om rekengrafieken te optimaliseren. Deze optimalisaties kunnen de prestaties verhogen door de uitvoeringsstroom te stroomlijnen, redundanties te verminderen en bewerkingen aan te passen aan specifieke hardware.

  • Flexibele inzetbaarheid: Modellen die zijn geĆ«xporteerd naar de indeling GraphDef kunnen in verschillende omgevingen worden gebruikt, waaronder apparaten met beperkte bronnen, webbrowsers en systemen met gespecialiseerde hardware. Dit opent mogelijkheden voor een bredere inzet van je TensorFlow modellen.

  • Productiefocus: GraphDef is ontworpen voor productie-implementatie. Het ondersteunt efficiĆ«nte uitvoering, serialisatiefuncties en optimalisaties die aansluiten bij echte gebruikssituaties.

Inzetmogelijkheden met TF GraphDef

Voordat we duiken in het proces van het exporteren van YOLOv8 modellen naar TF GraphDef , laten we eens kijken naar enkele typische implementatiesituaties waarin dit formaat wordt gebruikt.

Hier lees je hoe je met TF GraphDef efficiƫnt kunt implementeren op verschillende platforms.

  • TensorFlow Dienen: Dit framework is ontworpen om TensorFlow modellen in te zetten in productieomgevingen. TensorFlow Serving biedt modelbeheer, versiebeheer en de infrastructuur voor het efficiĆ«nt serveren van modellen op schaal. Het is een naadloze manier om je op GraphDef gebaseerde modellen te integreren in productiewebservices of API's.

  • Mobiele en ingebedde apparaten: Met tools als TensorFlow Lite kun je TF GraphDef modellen converteren naar formaten die geoptimaliseerd zijn voor smartphones, tablets en diverse ingebedde apparaten. Je modellen kunnen dan worden gebruikt voor inferentie op het apparaat, waarbij de uitvoering lokaal gebeurt, wat vaak prestatieverbeteringen en offline mogelijkheden oplevert.

  • Webbrowsers: TensorFlow.js maakt de inzet van TF GraphDef modellen direct in webbrowsers mogelijk. Het maakt de weg vrij voor realtime objectdetectietoepassingen die aan de clientzijde draaien en gebruik maken van de mogelijkheden van YOLOv8 via JavaScript.

  • Gespecialiseerde hardware: TF GraphDef is platformagnostisch waardoor het zich kan richten op aangepaste hardware, zoals versnellers en TPU's (Tensor Processing Units). Deze apparaten kunnen prestatievoordelen bieden voor rekenintensieve modellen.

YOLOv8 modellen exporteren naar TF GraphDef

Je kunt je YOLOv8 objectdetectiemodel converteren naar het TF GraphDef formaat, dat compatibel is met verschillende systemen, om de prestaties op verschillende platforms te verbeteren.

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 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 TF GraphDef format
model.export(format='pb')  # creates 'yolov8n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO('yolov8n.pb')

# Run inference
results = tf_graphdef_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model=yolov8n.pt format=pb  # creates 'yolov8n.pb'

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

Ga voor meer informatie over ondersteunde exportopties naar de Ultralytics documentatiepagina over implementatieopties.

Geƫxporteerde YOLOv8 TF GraphDef modellen inzetten

Nadat je je YOLOv8 model hebt geƫxporteerd naar het TF GraphDef formaat, is de volgende stap het uitrollen. De primaire en aanbevolen eerste stap voor het uitvoeren van een TF GraphDef model is het gebruik van de YOLO("model.pb") methode, zoals eerder getoond in het voorbeeld van de gebruikscode.

Voor meer informatie over het inzetten van je TF GraphDef modellen, kun je de volgende bronnen bekijken:

  • TensorFlow Ik bedien: Een gids over TensorFlow Serving leert je hoe je machine learning modellen efficiĆ«nt kunt inzetten en serveren in productieomgevingen.

  • TensorFlow Lite: Deze pagina beschrijft hoe je modellen voor machinaal leren kunt converteren naar een formaat dat geoptimaliseerd is voor inferentie op het apparaat met TensorFlow Lite.

  • TensorFlow.js: Een gids over modelconversie die leert hoe je TensorFlow of Keras modellen kunt converteren naar TensorFlow.js formaat voor gebruik in webapplicaties.

Samenvatting

In deze handleiding hebben we onderzocht hoe je Ultralytics YOLOv8 modellen kunt exporteren naar het TF GraphDef formaat. Hierdoor kun je je geoptimaliseerde YOLOv8 modellen flexibel inzetten in verschillende omgevingen.

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

Vergeet voor meer informatie over het integreren van Ultralytics YOLOv8 met andere platforms en frameworks niet om onze integratiegids pagina te bekijken. Deze bevat geweldige bronnen en inzichten om je te helpen het meeste uit YOLOv8 te halen in je projecten.



Gemaakt op 2024-03-22, Bijgewerkt op 2024-04-03
Auteurs: RizwanMunawar (1), Burhan-Q (1), abirami-vina (1)

Reacties