Overslaan naar inhoud

Exporteren naar TF.js modelindeling vanuit een YOLOv8 modelindeling

Het kan lastig zijn om machine learning-modellen rechtstreeks in de browser of op Node.js te implementeren. U moet ervoor zorgen dat uw modelindeling is geoptimaliseerd voor snellere prestaties, zodat het model kan worden gebruikt om interactieve toepassingen lokaal op het apparaat van de gebruiker uit te voeren. De TensorFlow.js, of TF.js modelformaat is ontworpen om minimaal stroom te verbruiken en tegelijkertijd 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.

  • Support for Multiple Backends: TensorFlow.js supports various backends for computation including CPU, WebGL for GPU acceleration, WebAssembly (WASM) for near-native execution speed, and WebGPU for advanced browser-based machine learning capabilities.

  • 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.

FAQ

Hoe exporteer ik Ultralytics YOLOv8 modellen naar TensorFlow.js formaat?

Het exporteren van Ultralytics YOLOv8 modellen naar TensorFlow.js (TF.js) formaat is eenvoudig. Je kunt de volgende stappen volgen:

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.

Waarom zou ik mijn YOLOv8 modellen exporteren naar TensorFlow.js?

Het exporteren van YOLOv8 modellen naar TensorFlow.js biedt verschillende voordelen, waaronder:

  1. Lokale uitvoering: Modellen kunnen direct in de browser of Node.js worden uitgevoerd, waardoor de latentie wordt verminderd en de gebruikerservaring wordt verbeterd.
  2. Ondersteuning voor meerdere platforms: TF.js ondersteunt meerdere omgevingen, waardoor flexibiliteit bij de inzet mogelijk is.
  3. Offline mogelijkheden: Hiermee kunnen applicaties functioneren zonder internetverbinding, waardoor betrouwbaarheid en privacy gewaarborgd zijn.
  4. GPU Acceleration: Leverages WebGL for GPU acceleration, optimizing performance on devices with limited resources.

Zie voor een uitgebreid overzicht onze Integraties met TensorFlow.js.

Hoe komt TensorFlow.js ten goede aan browsergebaseerde machine-learning toepassingen?

TensorFlow.js is speciaal ontworpen voor het efficiƫnt uitvoeren van ML modellen in browsers en Node.js omgevingen. Hier wordt uitgelegd hoe browsergebaseerde toepassingen hiervan profiteren:

  • Vermindert latentie: Voert machine-learning modellen lokaal uit, waardoor onmiddellijke resultaten worden verkregen zonder afhankelijk te zijn van berekeningen op de server.
  • Verbetert privacy: Houdt gevoelige gegevens op het apparaat van de gebruiker, waardoor beveiligingsrisico's worden geminimaliseerd.
  • Offline gebruik mogelijk: Modellen kunnen werken zonder internetverbinding, zodat ze consistent functioneren.
  • Supports Multiple Backends: Offers flexibility with backends like CPU, WebGL, WebAssembly (WASM), and WebGPU for varying computational needs.

Wil je meer weten over TF.js? Bekijk de officiƫle TensorFlow.js gids.

Wat zijn de belangrijkste functies van TensorFlow.js voor het implementeren van YOLOv8 modellen?

De belangrijkste functies van TensorFlow.js zijn onder andere:

  • Ondersteuning voor meerdere platforms: TF.js kan zowel in webbrowsers als in Node.js worden gebruikt, wat uitgebreide inzetflexibiliteit biedt.
  • Multiple Backends: Supports CPU, WebGL for GPU acceleration, WebAssembly (WASM), and WebGPU for advanced operations.
  • Offline mogelijkheden: Modellen kunnen direct in de browser draaien zonder internetverbinding, waardoor het ideaal is voor het ontwikkelen van responsieve webapplicaties.

Zie voor implementatiescenario's en meer diepgaande informatie onze sectie over Implementatieopties met TensorFlow.js.

Kan ik een YOLOv8 model inzetten op server-side Node.js toepassingen met TensorFlow.js?

Ja, TensorFlow.js maakt de inzet van YOLOv8 modellen op Node.js-omgevingen mogelijk. Dit maakt server-side machine learning toepassingen mogelijk die profiteren van de verwerkingskracht van een server en toegang tot server-side gegevens. Typische gebruikssituaties zijn real-time gegevensverwerking en machine learning pipelines op backend servers.

Om aan de slag te gaan met Node.js deployment, raadpleeg je de gids Run TensorFlow.js in Node.js van TensorFlow.



Gemaakt op 2024-04-03, Bijgewerkt op 2024-07-05
Auteurs: glenn-jocher (6), abirami-vina (1)

Reacties