Export in das TF.js-Modellformat von einem YOLO26-Modellformat
Das Bereitstellen von machine learning-Modellen direkt im Browser oder in Node.js kann schwierig sein. Du musst sicherstellen, dass dein Modellformat für eine schnellere Leistung optimiert ist, damit das Modell für den Betrieb interaktiver Anwendungen lokal auf dem Gerät des Benutzers verwendet werden kann. Das TensorFlow.js- oder TF.js-Modellformat ist darauf ausgelegt, bei minimalem Stromverbrauch eine schnelle Leistung zu liefern.
Mit der Funktion 'Export in das TF.js-Modellformat' kannst du deine Ultralytics YOLO26-Modelle für eine schnelle, lokal ausgeführte object detection-Inferenz optimieren. In dieser Anleitung führen wir dich durch die Konvertierung deiner Modelle in das TF.js-Format, damit deine Modelle auf verschiedenen lokalen Browsern und in Node.js-Anwendungen besser funktionieren.
Warum solltest du in TF.js exportieren?
Der Export deiner Machine-Learning-Modelle nach TensorFlow.js, das vom TensorFlow-Team als Teil des umfassenderen TensorFlow-Ökosystems entwickelt wurde, bietet zahlreiche Vorteile für die Bereitstellung von Machine-Learning-Anwendungen. Es trägt dazu bei, die Privatsphäre und Sicherheit der Benutzer zu erhöhen, indem sensible Daten auf dem Gerät verbleiben. Das Bild unten zeigt die TensorFlow.js-Architektur und wie Machine-Learning-Modelle konvertiert und sowohl in Webbrowsern als auch in Node.js bereitgestellt werden.
Das lokale Ausführen von Modellen reduziert zudem die Latenz und sorgt für eine reaktionsschnellere Benutzererfahrung. TensorFlow.js bietet auch Offline-Funktionen, die es Benutzern ermöglichen, deine Anwendung auch ohne Internetverbindung zu nutzen. TF.js ist für die effiziente Ausführung komplexer Modelle auf Geräten mit begrenzten Ressourcen konzipiert, da es auf Skalierbarkeit mit Unterstützung für GPU-Beschleunigung ausgelegt ist.
Hauptfunktionen von TF.js
Hier sind die Hauptfunktionen, 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, was Flexibilität bei der Bereitstellung auf verschiedenen Plattformen bietet. Es ermöglicht Entwicklern, Anwendungen einfacher zu erstellen und bereitzustellen.
-
Unterstützung für mehrere Backends: TensorFlow.js unterstützt verschiedene Backends für die Berechnung, darunter CPU, WebGL für GPU-Beschleunigung, WebAssembly (WASM) für nahezu native Ausführungsgeschwindigkeit und WebGPU für fortschrittliche browserbasierte Machine-Learning-Funktionen.
-
Offline-Funktionen: Mit TensorFlow.js können Modelle im Browser ohne Internetverbindung ausgeführt werden, was die Entwicklung von Anwendungen ermöglicht, die offline funktionsfähig sind.
Bereitstellungsoptionen mit TensorFlow.js
Bevor wir in den Prozess des Exports von YOLO26-Modellen in das TF.js-Format eintauchen, schauen wir uns einige typische Bereitstellungsszenarien an, in denen dieses Format verwendet wird.
TF.js bietet eine Reihe von Optionen zur Bereitstellung deiner Machine-Learning-Modelle:
-
Browserbasierte ML-Anwendungen: Du kannst Webanwendungen erstellen, die Machine-Learning-Modelle direkt im Browser ausführen. Der Bedarf an serverseitiger Berechnung entfällt und die Serverlast wird reduziert.
-
Node.js-Anwendungen: TensorFlow.js unterstützt auch die Bereitstellung in Node.js-Umgebungen und ermöglicht so die Entwicklung serverseitiger Machine-Learning-Anwendungen. Dies ist besonders nützlich für Anwendungen, die die Rechenleistung eines Servers oder den Zugriff auf serverseitige Daten erfordern.
-
Chrome-Erweiterungen: Ein interessantes Bereitstellungsszenario ist die Erstellung von Chrome-Erweiterungen mit TensorFlow.js. Du kannst beispielsweise eine Erweiterung entwickeln, mit der Benutzer per Rechtsklick auf ein Bild innerhalb einer Webseite dieses mit einem vortrainierten ML-Modell klassifizieren können. TensorFlow.js lässt sich in alltägliche Web-Browsing-Erlebnisse integrieren, um sofortige Einblicke oder auf Machine Learning basierende Erweiterungen bereitzustellen.
Exportieren von YOLO26-Modellen nach TensorFlow.js
Du kannst die Modellkompatibilität und Bereitstellungsflexibilität erweitern, indem du YOLO26-Modelle nach TF.js konvertierst.
Installation
Um das erforderliche Paket zu installieren, führe Folgendes aus:
# Install the required package for YOLO26
pip install ultralyticsFür detaillierte Anleitungen und Best Practices zur Installation, schau in unserem Ultralytics-Installationsleitfaden nach. Wenn du bei der Installation der erforderlichen Pakete für YOLO26 auf Schwierigkeiten stößt, konsultiere unseren Leitfaden für allgemeine Probleme für Lösungen und Tipps.
Verwendung
Alle Ultralytics YOLO26-Modelle sind so konzipiert, dass sie den Export direkt unterstützen, was eine einfache Integration in deinen bevorzugten Bereitstellungs-Workflow ermöglicht. Du kannst die vollständige Liste der unterstützten Exportformate und Konfigurationsoptionen ansehen, um die beste Einrichtung für deine Anwendung zu wählen.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")Export-Argumente
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
format | str | 'tfjs' | Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen definiert. |
imgsz | int oder tuple | 640 | Gewünschte Bildgröße für den Modelleingang. Kann eine Ganzzahl für quadratische Bilder oder ein Tupel (height, width) für spezifische Dimensionen sein. |
half | bool | False | Aktiviert die FP16-Quantisierung (Halbpräzision), was die Modellgröße reduziert und die Inferenz auf unterstützter Hardware potenziell beschleunigt. |
int8 | bool | False | Aktiviert die INT8-Quantisierung, die das Modell weiter komprimiert und die Inferenz mit minimalem Verlust an accuracy beschleunigt, hauptsächlich für Edge-Geräte. |
nms | bool | False | Fügt Non-Maximum Suppression (NMS) hinzu, was für eine genaue und effiziente Nachbearbeitung der Erkennung unerlässlich ist. |
batch | int | 1 | Legt die Batch-Inferenzgröße für den Export fest oder die maximale Anzahl an Bildern, die das exportierte Modell gleichzeitig im predict Modus verarbeitet. |
data | str | 'coco8.yaml' | Pfad zur Konfigurationsdatei für das Datenset (Standard: coco8.yaml), essenziell für die Quantisierung. |
fraction | float | 1.0 | Gibt den Anteil des Datensatzes an, der für die INT8-Quantisierungskalibrierung verwendet werden soll. Ermöglicht die Kalibrierung auf einer Teilmenge des gesamten Datensatzes, was für Experimente oder bei begrenzten Ressourcen nützlich ist. Wenn bei aktivierter INT8-Option nichts angegeben ist, wird der gesamte Datensatz verwendet. |
device | str | None | Gibt das Gerät für den Export an: CPU (device=cpu), MPS für Apple Silicon (device=mps). |
Weitere Details zum Exportprozess findest du auf der Ultralytics-Dokumentationsseite zum Export.
Bereitstellung exportierter YOLO26 TensorFlow.js-Modelle
Nachdem du dein YOLO26-Modell in das TF.js-Format exportiert hast, ist der nächste Schritt die Bereitstellung. Der primäre und empfohlene erste Schritt zur Ausführung eines TF.js-Modells besteht darin, die Methode YOLO("./yolo26n_web_model") zu verwenden, wie zuvor im Code-Schnipsel gezeigt.
Für detaillierte Anweisungen zur Bereitstellung deiner TF.js-Modelle wirf jedoch einen Blick auf die folgenden Ressourcen:
-
Chrome Extension: Hier ist die Entwicklerdokumentation zur Bereitstellung deiner TF.js-Modelle in einer Chrome-Erweiterung.
-
Run TensorFlow.js in Node.js: Ein TensorFlow-Blogbeitrag zum direkten Ausführen von TensorFlow.js in Node.js.
-
Deploying TensorFlow.js - Node Project on Cloud Platform: Ein TensorFlow-Blogbeitrag zur Bereitstellung eines TensorFlow.js-Modells auf einer Cloud-Plattform.
Zusammenfassung
In dieser Anleitung haben wir gelernt, wie man Ultralytics YOLO26-Modelle in das TensorFlow.js-Format exportiert. Durch den Export nach TF.js gewinnst du die Flexibilität, deine YOLO26-Modelle auf einer Vielzahl von Plattformen zu optimieren, bereitzustellen und zu skalieren.
Weitere Details zur Verwendung findest du in der offiziellen TensorFlow.js-Dokumentation.
Für weitere Informationen zur Integration von Ultralytics YOLO26 mit anderen Plattformen und Frameworks, vergiss nicht, unsere Integrationsanleitungsseite zu besuchen. Sie ist vollgepackt mit großartigen Ressourcen, die dir helfen, das Beste aus YOLO26 in deinen Projekten herauszuholen.
FAQ
Wie exportiere ich Ultralytics YOLO26-Modelle in das TensorFlow.js-Format?
Der Export von Ultralytics YOLO26-Modellen in das TensorFlow.js (TF.js)-Format ist unkompliziert. Du kannst diese Schritte befolgen:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")Für weitere Details zu unterstützten Exportoptionen besuche die Ultralytics-Dokumentationsseite zu Bereitstellungsoptionen.
Warum sollte ich meine YOLO26-Modelle nach TensorFlow.js exportieren?
Der Export von YOLO26-Modellen nach TensorFlow.js bietet mehrere Vorteile, darunter:
- Lokale Ausführung: Modelle können direkt im Browser oder in Node.js ausgeführt werden, was die Latenz verringert und die Benutzererfahrung verbessert.
- Plattformübergreifende Unterstützung: TF.js unterstützt mehrere Umgebungen, was Flexibilität bei der Bereitstellung ermöglicht.
- Offline-Funktionen: Ermöglicht es Anwendungen, ohne Internetverbindung zu funktionieren, was Zuverlässigkeit und Privatsphäre gewährleistet.
- GPU-Beschleunigung: Nutzt WebGL für GPU-Beschleunigung und optimiert die Leistung auf Geräten mit begrenzten Ressourcen.
Einen umfassenden Überblick findest du in unseren Integrationen mit TensorFlow.js.
Wie profitiert browserbasiertes Machine Learning von TensorFlow.js?
TensorFlow.js ist speziell für die effiziente Ausführung von ML-Modellen in Browser- und Node.js-Umgebungen konzipiert. So profitieren browserbasierte Anwendungen davon:
- Reduziert die Latenz: Führt Machine-Learning-Modelle lokal aus und liefert sofortige Ergebnisse, ohne auf serverseitige Berechnungen angewiesen zu sein.
- Verbessert den Datenschutz: Hält sensible Daten auf dem Gerät des Benutzers und minimiert Sicherheitsrisiken.
- Ermöglicht Offline-Nutzung: Modelle können ohne Internetverbindung arbeiten und gewährleisten eine konsistente Funktionalität.
- Unterstützt mehrere Backends: Bietet Flexibilität mit Backends wie CPU, WebGL, WebAssembly (WASM) und WebGPU für unterschiedliche Rechenanforderungen.
Möchtest du mehr über TF.js erfahren? Schau dir den offiziellen TensorFlow.js-Leitfaden an.
Was sind die Hauptfunktionen von TensorFlow.js für die Bereitstellung von YOLO26-Modellen?
Zu den Hauptfunktionen von TensorFlow.js gehören:
- Plattformübergreifende Unterstützung: TF.js kann sowohl in Webbrowsern als auch in Node.js verwendet werden, was eine umfassende Bereitstellungsflexibilität bietet.
- Mehrere Backends: Unterstützt CPU, WebGL für GPU-Beschleunigung, WebAssembly (WASM) und WebGPU für erweiterte Vorgänge.
- Offline-Funktionen: Modelle können ohne Internetverbindung direkt im Browser ausgeführt werden, was es ideal für die Entwicklung reaktionsschneller Webanwendungen macht.
Für Bereitstellungsszenarien und detailliertere Informationen siehe unseren Abschnitt über Bereitstellungsoptionen mit TensorFlow.js.
Kann ich mit TensorFlow.js ein YOLO26-Modell auf serverseitigen Node.js-Anwendungen bereitstellen?
Ja, TensorFlow.js ermöglicht die Bereitstellung von YOLO26-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 Machine-Learning-Pipelines auf Backend-Servern.
Um mit der Node.js-Bereitstellung zu beginnen, beziehe dich auf den Leitfaden Run TensorFlow.js in Node.js von TensorFlow.