Zum Inhalt springen

Exportieren in das TF.js Modellformat aus einem YOLOv8 Modellformat

Die Bereitstellung von Machine-Learning-Modellen direkt im Browser oder auf Node.js kann schwierig sein. Du musst sicherstellen, dass dein Modellformat für eine schnellere Leistung optimiert ist, damit das Modell verwendet werden kann, um interaktive Anwendungen lokal auf dem Gerät des Nutzers auszuführen. Das Modellformat TensorFlow.js oder TF.js wurde entwickelt, um möglichst wenig Energie zu verbrauchen und gleichzeitig eine hohe Leistung zu erzielen.

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 GPU-Beschleunigung 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.



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

Kommentare