Overslaan naar inhoud

Begrijpen hoe te exporteren naar TF SavedModel vanuit YOLOv8

Het implementeren van machine-learning modellen kan een uitdaging zijn. Het gebruik van een efficiƫnt en flexibel modelformaat kan je werk echter gemakkelijker maken. TF SavedModel is een open-source machine-learning framework dat wordt gebruikt door TensorFlow om machine-learning modellen op een consistente manier te laden. Het is als een koffer voor TensorFlow modellen, waardoor ze gemakkelijk mee te nemen en te gebruiken zijn op verschillende apparaten en systemen.

Leren hoe je modellen kunt exporteren naar TF SavedModel Ultralytics YOLOv8 modellen kan je helpen om modellen eenvoudig te implementeren op verschillende platforms en in verschillende omgevingen. In deze gids laten we je zien hoe je modellen kunt converteren naar het TF SavedModel formaat, waardoor het eenvoudiger wordt om inferenties uit te voeren met je modellen op verschillende apparaten.

Waarom zou je exporteren naar TF SavedModel ?

De indeling TensorFlow SavedModel is een onderdeel van het TensorFlow ecosysteem dat is ontwikkeld door Google, zoals hieronder weergegeven. Het is ontworpen om TensorFlow modellen naadloos op te slaan en te serialiseren. Het bevat alle details van modellen, zoals de architectuur, gewichten en zelfs compilatie-informatie. Dit maakt het eenvoudig om modellen te delen, in te zetten en verder te trainen in verschillende omgevingen.

TF SavedModel

De TF SavedModel heeft een belangrijk voordeel: zijn compatibiliteit. Het werkt goed met TensorFlow Serving, TensorFlow Lite en TensorFlow.js. Deze compatibiliteit maakt het eenvoudiger om modellen te delen en in te zetten op verschillende platforms, waaronder web- en mobiele applicaties. Het formaat TF SavedModel is nuttig voor zowel onderzoek als productie. Het biedt een uniforme manier om je modellen te beheren, zodat ze klaar zijn voor elke toepassing.

Belangrijkste kenmerken van TF OpgeslagenModellen

Hier zijn de belangrijkste functies die TF SavedModel een geweldige optie maken voor AI-ontwikkelaars:

  • Draagbaarheid: TF SavedModel biedt een taalneutraal, herstelbaar, hermetisch serialisatieformaat. Hiermee kunnen systemen en gereedschappen op een hoger niveau TensorFlow modellen produceren, consumeren en transformeren. OpgeslagenModellen kunnen eenvoudig worden gedeeld en ingezet op verschillende platforms en omgevingen.

  • Eenvoudige implementatie: TF SavedModel bundelt de rekengrafiek, getrainde parameters en noodzakelijke metadata in een enkel pakket. Ze kunnen eenvoudig worden geladen en gebruikt voor inferentie zonder dat de oorspronkelijke code nodig is die het model heeft gebouwd. Dit maakt de inzet van TensorFlow modellen eenvoudig en efficiĆ«nt in verschillende productieomgevingen.

  • Asset Management: TF SavedModel ondersteunt het opnemen van externe assets zoals vocabulaires, embeddings of opzoektabellen. Deze middelen worden opgeslagen naast de grafiekdefinitie en variabelen, zodat ze beschikbaar zijn wanneer het model wordt geladen. Deze functie vereenvoudigt het beheer en de distributie van modellen die afhankelijk zijn van externe bronnen.

Inzetmogelijkheden met TF SavedModel

Voordat we ons verdiepen in het exporteren van YOLOv8 modellen naar het TF SavedModel formaat, zullen we eerst een aantal typische implementatiescenario's bekijken waarbij dit formaat wordt gebruikt.

TF SavedModel biedt een reeks opties om je machine learning modellen in te zetten:

  • TensorFlow Serveren: TensorFlow Serving is een flexibel, krachtig serveersysteem dat is ontworpen voor productieomgevingen. Het ondersteunt TF SavedModels, waardoor het eenvoudig is om je modellen in te zetten en te serveren op cloudplatforms, servers op locatie of randapparaten.

  • Cloud Platforms: Grote cloudproviders zoals Google Cloud Platform (GCP), Amazon Web Services (AWS) en Microsoft Azure bieden diensten voor het implementeren en uitvoeren van TensorFlow modellen, waaronder TF SavedModels. Deze diensten bieden een schaalbare en beheerde infrastructuur, zodat je je modellen eenvoudig kunt inzetten en schalen.

  • Mobiele en embedded apparaten: TensorFlow Lite, een lichtgewicht oplossing voor het uitvoeren van machine learning modellen op mobiele, embedded en IoT apparaten, ondersteunt het converteren van TF SavedModels naar het TensorFlow Lite formaat. Hierdoor kun je je modellen inzetten op een breed scala aan apparaten, van smartphones en tablets tot microcontrollers en randapparaten.

  • TensorFlow Runtime: TensorFlow Runtime (tfrt) is een krachtige runtime voor het uitvoeren van TensorFlow grafieken. Het biedt API's op lager niveau voor het laden en uitvoeren van TF SavedModels in C++ omgevingen. TensorFlow Runtime biedt betere prestaties vergeleken met de standaard TensorFlow runtime. Het is geschikt voor implementatiescenario's die inference met lage latentie en nauwe integratie met bestaande C++ codebases vereisen.

YOLOv8 modellen exporteren naar TF SavedModel

Door YOLOv8 modellen te exporteren naar het TF SavedModel formaat, verbeter je de aanpasbaarheid en het gemak waarmee ze op verschillende platforms kunnen worden ingezet.

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 SavedModel format
model.export(format='saved_model')  # creates '/yolov8n_saved_model'

# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO('./yolov8n_saved_model')

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

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

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

Geƫxporteerde YOLOv8 TF SavedModel modellen inzetten

Nu je je YOLOv8 model hebt geƫxporteerd naar het TF SavedModel formaat, is de volgende stap om het uit te rollen. De primaire en aanbevolen eerste stap voor het uitvoeren van een TF GraphDef model is het gebruik van de YOLO("./yolov8n_saved_model") methode, zoals eerder getoond in het voorbeeld van de gebruikscode.

Voor uitgebreide instructies over het implementeren van je TF SavedModel modellen, kun je een kijkje nemen in de volgende bronnen:

  • TensorFlow Ik bedien: Hier is de documentatie voor ontwikkelaars over hoe je je TF SavedModel modellen kunt implementeren met TensorFlow Serving.

  • Een TensorFlow SavedModel uitvoeren in Node.js: Een TensorFlow blogpost over het direct uitvoeren van een TensorFlow SavedModel in Node.js zonder conversie.

  • Uitrollen op Cloud: Een TensorFlow blogpost over het implementeren van een TensorFlow SavedModel model op het Cloud AI Platform.

Samenvatting

In deze handleiding hebben we onderzocht hoe je Ultralytics YOLOv8 modellen kunt exporteren naar het TF SavedModel formaat. Door te exporteren naar TF SavedModel krijg je de flexibiliteit om je YOLOv8 modellen te optimaliseren, in te zetten en te schalen op een groot aantal platforms.

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

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



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

Reacties