Overslaan naar inhoud

Exporteren naar TF.js modelindeling vanuit een YOLOv8 modelindeling

Het direct implementeren van machine learning modellen in de browser of op Node.js kan lastig zijn. Je moet ervoor zorgen dat je modelformaat geoptimaliseerd is voor snellere prestaties, zodat het model gebruikt kan worden om interactieve applicaties lokaal op het apparaat van de gebruiker uit te voeren. Het modelformaat TensorFlow.js, of TF.js, is ontworpen om zo min mogelijk energie te gebruiken en toch snelle prestaties te leveren.

Met de functie 'exporteren naar TF.js modelformaat' kun je je modellen optimaliseren voor Ultralytics YOLOv8 modellen optimaliseren voor inferentie van objectdetectie op hoge snelheid en lokaal. In deze handleiding begeleiden we je bij het converteren van je modellen naar het TF.js formaat, zodat je modellen beter presteren op verschillende lokale browsers en Node.js toepassingen.

Waarom zou je exporteren naar TF.js?

Het exporteren van je machine learning modellen naar TensorFlow.js, ontwikkeld door het TensorFlow team als onderdeel van het bredere TensorFlow ecosysteem, biedt talloze voordelen voor het implementeren van machine learning toepassingen. Het helpt de privacy en veiligheid van gebruikers te verbeteren door gevoelige gegevens op het apparaat te houden. De afbeelding hieronder toont de architectuur van TensorFlow.js en hoe modellen voor machinaal leren worden geconverteerd en ingezet op zowel webbrowsers als Node.js.

TF.js architectuur

Modellen lokaal uitvoeren vermindert ook de latentie en zorgt voor een responsievere gebruikerservaring. TensorFlow.js wordt ook geleverd met offline mogelijkheden, zodat gebruikers je applicatie zelfs zonder internetverbinding kunnen gebruiken. TF.js is ontworpen voor efficiƫnte uitvoering van complexe modellen op apparaten met beperkte bronnen, omdat het is ontworpen voor schaalbaarheid, met ondersteuning voor GPU-versnelling.

Belangrijkste functies van TF.js

Hier zijn de belangrijkste functies die TF.js tot een krachtig hulpmiddel voor ontwikkelaars maken:

  • Ondersteuning voor meerdere platforms: TensorFlow.js kan worden gebruikt in zowel browser- als Node.js-omgevingen, wat flexibiliteit biedt bij het inzetten op verschillende platforms. Ontwikkelaars kunnen hiermee eenvoudiger toepassingen bouwen en implementeren.

  • Ondersteuning voor meerdere backends: TensorFlow.js ondersteunt verschillende backends voor berekeningen, waaronder CPU, WebGL voor GPU-versnelling, WebAssembly (WASM) voor bijna native uitvoeringssnelheid en WebGPU voor geavanceerde browsergebaseerde mogelijkheden voor machinaal leren.

  • Offline mogelijkheden: Met TensorFlow.js kunnen modellen in de browser draaien zonder dat er een internetverbinding nodig is, waardoor het mogelijk is om applicaties te ontwikkelen die offline werken.

Implementatieopties met TensorFlow.js

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

TF.js biedt een reeks opties om je modellen voor machinaal leren in te zetten:

  • In-browser ML toepassingen: Je kunt webapplicaties bouwen die machine learning modellen direct in de browser uitvoeren. Berekeningen op de server zijn niet meer nodig en de belasting van de server wordt verminderd.

  • Node.js toepassingen:: TensorFlow.js ondersteunt ook inzet in Node.js-omgevingen, waardoor de ontwikkeling van server-side machine learning-toepassingen mogelijk wordt. Het is vooral handig voor toepassingen die de verwerkingskracht van een server of toegang tot server-side gegevens nodig hebben.

  • Chrome-extensies: Een interessant implementatiescenario is het maken van Chrome extensies met TensorFlow.js. Je kunt bijvoorbeeld een extensie ontwikkelen waarmee gebruikers met de rechtermuisknop op een afbeelding op een willekeurige webpagina kunnen klikken om deze te classificeren met behulp van een vooraf getraind ML-model. TensorFlow.js kunnen worden geĆÆntegreerd in alledaagse surfervaringen om direct inzichten of verbeteringen te bieden op basis van machine learning.

YOLOv8 modellen exporteren naar TensorFlow.js

Je kunt de compatibiliteit en inzetbaarheid van modellen uitbreiden door YOLOv8 modellen te converteren naar TF.js.

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.js format
model.export(format='tfjs')  # creates '/yolov8n_web_model'

# Load the exported TF.js model
tfjs_model = YOLO('./yolov8n_web_model')

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

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

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

Geƫxporteerde YOLOv8 TensorFlow .js modellen inzetten

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

Voor diepgaande instructies over het implementeren van je TF.js modellen, kun je een kijkje nemen in de volgende bronnen:

Samenvatting

In deze handleiding hebben we geleerd hoe je Ultralytics YOLOv8 modellen kunt exporteren naar het TensorFlow.js formaat. Door te exporteren naar TF.js 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 vanTensorFlow.js.

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-04-03, Bijgewerkt op 2024-04-18
Auteurs: glenn-jocher (1), abirami-vina (1)

Reacties