Zum Inhalt springen

Exportieren in das TF.js Modellformat aus einem YOLOv8 Modellformat

Das Bereitstellen von Machine Learning-Modellen direkt im Browser oder auf Node.js kann schwierig sein. Sie müssen sicherstellen, dass Ihr Modellformat für eine schnellere Leistung optimiert ist, damit das Modell zum lokalen Ausführen interaktiver Anwendungen auf dem Gerät des Benutzers verwendet werden kann. Das TensorFlow.js oder TF.js ist das Modellformat so konzipiert, dass es nur minimalen Stromverbrauch verbraucht und gleichzeitig eine schnelle Leistung bietet.

Mit der Funktion "Export in das TF.js-Modellformat" kannst du deine Ultralytics YOLOv8 Modelle für schnelle und lokal ausgeführte Objekterkennungsinferenzen zu optimieren. In diesem Leitfaden zeigen wir dir, wie du deine Modelle in das TF.js-Format konvertierst, damit sie in verschiedenen lokalen Browsern und Node.js-Anwendungen gut funktionieren.

Warum solltest du nach TF.js exportieren?

Der Export deiner Machine-Learning-Modelle nach TensorFlow.js, das vom TensorFlow Team als Teil des breiteren TensorFlow Ökosystems entwickelt wurde, bietet zahlreiche Vorteile für den Einsatz von Machine-Learning-Anwendungen. Es trägt dazu bei, die Privatsphäre und Sicherheit der Nutzer/innen zu verbessern, indem sensible Daten auf dem Gerät verbleiben. Die folgende Abbildung zeigt die TensorFlow.js-Architektur und wie Machine Learning-Modelle konvertiert und sowohl in Webbrowsern als auch in Node.js eingesetzt werden.

TF.js Architektur

Die lokale Ausführung von Modellen verringert außerdem die Latenzzeit und sorgt für ein schnelleres Nutzererlebnis. TensorFlow.js verfügt auch über Offline-Funktionen, so dass Nutzer deine Anwendung auch ohne Internetverbindung nutzen können. TF.js ist für die effiziente Ausführung komplexer Modelle auf Geräten mit begrenzten Ressourcen konzipiert, da es auf Skalierbarkeit ausgelegt ist und die Beschleunigung von GPU unterstützt.

Hauptmerkmale von TF.js

Hier sind die wichtigsten Funktionen, die TF.js zu einem leistungsstarken Werkzeug für Entwickler machen:

  • Plattformübergreifende Unterstützung: TensorFlow.js kann sowohl in Browser- als auch in Node.js-Umgebungen verwendet werden und bietet so Flexibilität bei der Bereitstellung auf verschiedenen Plattformen. So können Entwicklerinnen und Entwickler Anwendungen einfacher erstellen und einsetzen.

  • Unterstützung für mehrere Backends: TensorFlow.js unterstützt verschiedene Backends für Berechnungen, darunter CPU, WebGL für GPU Beschleunigung, WebAssembly (WASM) für nahezu native Ausführungsgeschwindigkeit und WebGPU für erweiterte browserbasierte maschinelle Lernfähigkeiten.

  • Offline-Fähigkeiten: Mit TensorFlow.js können Modelle im Browser ausgeführt werden, ohne dass eine Internetverbindung erforderlich ist, so dass es möglich ist, Anwendungen zu entwickeln, die auch offline funktionieren.

Bereitstellungsoptionen mit TensorFlow.js

Bevor wir uns mit dem Export von YOLOv8 Modellen in das TF.js Format befassen, wollen wir einige typische Einsatzszenarien untersuchen, in denen dieses Format verwendet wird.

TF.js bietet eine Reihe von Optionen, um deine Machine Learning-Modelle einzusetzen:

  • In-Browser ML-Anwendungen: Du kannst Webanwendungen erstellen, die Machine-Learning-Modelle direkt im Browser ausführen. Die Notwendigkeit für serverseitige Berechnungen entfällt und die Serverlast wird reduziert.

  • Node.js-Anwendungen:: TensorFlow.js unterstützt auch den Einsatz in Node.js-Umgebungen und ermöglicht so die Entwicklung von serverseitigen Machine Learning-Anwendungen. Es ist besonders nützlich für Anwendungen, die die Rechenleistung eines Servers oder den Zugriff auf serverseitige Daten benötigen.

  • Chrome-Erweiterungen: Ein interessantes Einsatzszenario ist die Erstellung von Chrome-Erweiterungen mit TensorFlow.js. Du kannst z. B. eine Erweiterung entwickeln, die es Nutzern ermöglicht, mit der rechten Maustaste auf ein Bild auf einer beliebigen Webseite zu klicken, um es mit einem vorab trainierten ML-Modell zu klassifizieren. TensorFlow.js kann in das alltägliche Webbrowsing integriert werden, um sofortige Erkenntnisse oder Erweiterungen auf der Grundlage von maschinellem Lernen zu liefern.

Exportieren von YOLOv8 Modellen nach TensorFlow.js

Du kannst die Modellkompatibilität und Einsatzflexibilität erweitern, indem du YOLOv8 Modelle in TF.js konvertierst.

Installation

Um das benötigte Paket zu installieren, führe es aus:

Installation

# Install the required package for YOLOv8
pip install ultralytics

Ausführliche Anweisungen und bewährte Verfahren für den Installationsprozess findest du in unserem Ultralytics Installationsleitfaden. Wenn du bei der Installation der erforderlichen Pakete für YOLOv8 auf Schwierigkeiten stößt, findest du in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

Verwendung

Bevor du dich mit den Nutzungshinweisen beschäftigst, solltest du wissen, dass alle Modelle vonUltralytics YOLOv8 exportiert werden können. Hier kannst du sicherstellen, dass das von dir ausgewählte Modell die Exportfunktion unterstützt.

Verwendung

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'

Weitere Details zu den unterstützten Exportoptionen findest du auf der Ultralytics Dokumentationsseite zu den Bereitstellungsoptionen.

Bereitstellen exportierter YOLOv8 TensorFlow .js-Modelle

Nachdem du dein YOLOv8 Modell in das TF.js Format exportiert hast, musst du es im nächsten Schritt einsetzen. Der wichtigste und empfohlene erste Schritt zum Ausführen einer TF.js ist die Verwendung der Methode YOLO("./yolov8n_web_model"), wie zuvor im Codeausschnitt zur Verwendung gezeigt.

Ausführliche Anleitungen für den Einsatz deiner TF.js-Modelle findest du in den folgenden Ressourcen:

Zusammenfassung

In dieser Anleitung haben wir gelernt, wie man Ultralytics YOLOv8 Modelle in das TensorFlow.js Format exportiert. Durch den Export in TF.js erhältst du die Flexibilität, deine YOLOv8 Modelle auf einer Vielzahl von Plattformen zu optimieren, einzusetzen und zu skalieren.

Weitere Details zur Verwendung findest du in der offiziellen Dokumentation vonTensorFlow.js.

Weitere Informationen zur Integration von Ultralytics YOLOv8 mit anderen Plattformen und Frameworks findest du in unserem Integrationsleitfaden. Sie ist vollgepackt mit großartigen Ressourcen, die dir helfen, das Beste aus YOLOv8 in deinen Projekten zu machen.

FAQ

Wie exportiere ich Ultralytics YOLOv8 Modelle in das TensorFlow.js Format?

Der Export von Ultralytics YOLOv8 Modellen in das TensorFlow.js (TF.js) Format ist ganz einfach. Du kannst diese Schritte befolgen:

Verwendung

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'

Weitere Details zu den unterstützten Exportoptionen findest du auf der Ultralytics Dokumentationsseite zu den Bereitstellungsoptionen.

Warum sollte ich meine YOLOv8 Modelle nach TensorFlow.js exportieren?

Der Export von YOLOv8 Modellen nach TensorFlow.js bietet mehrere Vorteile, darunter

  1. Lokale Ausführung: Modelle können direkt im Browser oder in Node.js ausgeführt werden, was die Latenzzeit verringert und das Nutzererlebnis verbessert.
  2. Plattformübergreifende Unterstützung: TF.js unterstützt mehrere Umgebungen und ermöglicht so einen flexiblen Einsatz.
  3. Offline-Fähigkeiten: Ermöglicht Anwendungen, die ohne Internetverbindung funktionieren, und gewährleistet so Zuverlässigkeit und Datenschutz.
  4. GPU Beschleunigung: Nutzt WebGL für die GPU Beschleunigung, um die Leistung auf Geräten mit begrenzten Ressourcen zu optimieren.

Einen umfassenden Überblick findest du unter TensorFlow.js-Integrationen.

Wie profitiert TensorFlow.js von browserbasierten maschinellen Lernanwendungen?

TensorFlow.js wurde speziell für die effiziente Ausführung von ML-Modellen in Browsern und Node.js-Umgebungen entwickelt. Hier erfährst du, wie es browserbasierte Anwendungen unterstützt:

  • Reduziert die Latenzzeit: Führt Machine-Learning-Modelle lokal aus und liefert sofortige Ergebnisse, ohne auf serverseitige Berechnungen angewiesen zu sein.
  • Verbessert den Datenschutz: Sensible Daten bleiben auf dem Gerät des Nutzers/der Nutzerin, wodurch Sicherheitsrisiken minimiert werden.
  • Ermöglicht Offline-Nutzung: Die Modelle können auch ohne Internetverbindung betrieben werden, um eine gleichbleibende Funktionalität zu gewährleisten.
  • Unterstützt mehrere Backends: Bietet Flexibilität mit Backends wie CPU, WebGL, WebAssembly (WASM) und WebGPU für unterschiedliche Berechnungsanforderungen.

Willst du mehr über TF.js erfahren? Schau dir den offiziellen TensorFlow.js Leitfaden an.

Was sind die wichtigsten Funktionen von TensorFlow.js für den Einsatz von YOLOv8 Modellen?

Zu den wichtigsten Funktionen von TensorFlow.js gehören:

  • Plattformübergreifende Unterstützung: TF.js kann sowohl in Webbrowsern als auch in Node.js verwendet werden und bietet so eine hohe Flexibilität bei der Bereitstellung.
  • Mehrere Backends: Unterstützt CPU, WebGL für GPU Beschleunigung, WebAssembly (WASM) und WebGPU für erweiterte Operationen.
  • Offline-Fähigkeiten: Die Modelle können direkt im Browser ohne Internetverbindung ausgeführt werden, was sie ideal für die Entwicklung von responsiven Webanwendungen macht.

Einsatzszenarien und weitere Informationen findest du in unserem Abschnitt über Einsatzoptionen mit TensorFlow.js.

Kann ich ein YOLOv8 Modell in serverseitigen Node.js-Anwendungen mit TensorFlow.js einsetzen?

Ja, TensorFlow.js ermöglicht den Einsatz von YOLOv8 Modellen in Node.js-Umgebungen. Dies ermöglicht serverseitige Machine Learning-Anwendungen, die von der Rechenleistung eines Servers und dem Zugriff auf serverseitige Daten profitieren. Typische Anwendungsfälle sind Echtzeit-Datenverarbeitung und maschinelle Lernpipelines auf Backend-Servern.

Um mit der Node.js-Bereitstellung zu beginnen, sieh dir die Anleitung Run TensorFlow.js in Node.js von TensorFlow an.



Erstellt am 2024-04-03, Aktualisiert am 2024-07-05
Autoren: glenn-jocher (6), abirami-vina (1)

Kommentare