Zum Inhalt springen

Wie exportiere ich von YOLOv8 nach TF GraphDef für den Einsatz?

Wenn du hochmoderne Computer Vision Modelle wie YOLOv8 in verschiedenen Umgebungen einsetzt, kann es zu Kompatibilitätsproblemen kommen. Google TensorFlow GraphDef , oder TF GraphDef , bietet eine Lösung, indem es eine serialisierte, plattformunabhängige Darstellung deines Modells bereitstellt. Mit dem TF GraphDef Modellformat kannst du dein YOLOv8 Modell in Umgebungen einsetzen, in denen das komplette TensorFlow Ökosystem nicht zur Verfügung steht, z. B. auf mobilen Geräten oder spezieller Hardware.

In diesem Leitfaden zeigen wir dir Schritt für Schritt, wie du deine Ultralytics YOLOv8 Modelle in das Modellformat TF GraphDef exportierst. Durch die Konvertierung deines Modells kannst du die Bereitstellung vereinfachen und die Computer Vision-Funktionen von YOLOv8 in einer breiteren Palette von Anwendungen und Plattformen nutzen.

TensorFlow GraphDef

Warum solltest du auf TF GraphDef exportieren?

TF GraphDef ist eine leistungsstarke Komponente des TensorFlow Ökosystems, die von Google entwickelt wurde. Sie kann dazu verwendet werden, Modelle wie YOLOv8 zu optimieren und einzusetzen. Durch den Export nach TF GraphDef können wir Modelle von der Forschung in die reale Welt übertragen. Damit können Modelle in Umgebungen ohne das vollständige TensorFlow Framework ausgeführt werden.

Das Format GraphDef stellt das Modell als serialisierten Berechnungsgraphen dar. Dies ermöglicht verschiedene Optimierungstechniken wie Konstantenfaltung, Quantisierung und Graphentransformationen. Diese Optimierungen sorgen für eine effiziente Ausführung, einen geringeren Speicherbedarf und eine schnellere Inferenzgeschwindigkeit.

GraphDef Modelle können Hardware-Beschleuniger wie GPUs, TPUs und KI-Chips nutzen und so erhebliche Leistungssteigerungen für die YOLOv8 Inferenzpipeline freisetzen. Das Format TF GraphDef erstellt ein in sich geschlossenes Paket mit dem Modell und seinen Abhängigkeiten, was die Bereitstellung und Integration in verschiedene Systeme vereinfacht.

Die wichtigsten Merkmale der Modelle TF GraphDef

TF GraphDef bietet verschiedene Funktionen, um die Bereitstellung und Optimierung von Modellen zu vereinfachen.

Hier ein Blick auf seine wichtigsten Merkmale:

  • Modellserialisierung: TF GraphDef bietet eine Möglichkeit, TensorFlow Modelle in einem plattformunabhängigen Format zu serialisieren und zu speichern. Diese serialisierte Darstellung ermöglicht es dir, deine Modelle ohne die ursprüngliche Python Codebasis zu laden und auszuführen, was die Bereitstellung erleichtert.

  • Graph-Optimierung: TF GraphDef ermöglicht die Optimierung von Berechnungsgraphen. Diese Optimierungen können die Leistung steigern, indem sie den Ausführungsablauf straffen, Redundanzen reduzieren und die Operationen an die jeweilige Hardware anpassen.

  • Flexibilität bei der Bereitstellung: Modelle, die in das Format GraphDef exportiert wurden, können in verschiedenen Umgebungen eingesetzt werden, z. B. auf Geräten mit eingeschränkten Ressourcen, in Webbrowsern und auf Systemen mit spezieller Hardware. Das eröffnet Möglichkeiten für einen breiteren Einsatz deiner TensorFlow Modelle.

  • Schwerpunkt Produktion: GraphDef ist für den Einsatz in der Produktion konzipiert. Sie unterstützt eine effiziente Ausführung, Serialisierungsfunktionen und Optimierungen, die sich an realen Anwendungsfällen orientieren.

Einsatzoptionen mit TF GraphDef

Bevor wir uns mit dem Export von YOLOv8 Modellen nach TF GraphDef befassen, werfen wir einen Blick auf einige typische Einsatzsituationen, in denen dieses Format verwendet wird.

Hier erfährst du, wie du TF GraphDef effizient über verschiedene Plattformen hinweg einsetzen kannst.

  • TensorFlow Dienen: Dieses Framework wurde entwickelt, um TensorFlow Modelle in Produktionsumgebungen einzusetzen. TensorFlow Serving bietet Modellmanagement, Versionierung und die Infrastruktur für effizientes Model-Serving in großem Maßstab. So kannst du deine GraphDef-basierten Modelle nahtlos in produktive Webservices oder APIs integrieren.

  • Mobile und eingebettete Geräte: Mit Tools wie TensorFlow Lite kannst du TF GraphDef Modelle in Formate konvertieren, die für Smartphones, Tablets und verschiedene eingebettete Geräte optimiert sind. Deine Modelle können dann für die Inferenz auf dem Gerät verwendet werden, wo sie lokal ausgeführt werden, was oft zu Leistungssteigerungen und Offline-Fähigkeiten führt.

  • Webbrowser: TensorFlow.js ermöglicht den Einsatz von TF GraphDef Modellen direkt in Webbrowsern. Es ebnet den Weg für Echtzeit-Objekterkennungsanwendungen, die auf der Client-Seite laufen und die Möglichkeiten von YOLOv8 durch JavaScript nutzen.

  • Spezialisierte Hardware: TF GraphDef ist plattformunabhängig und kann daher benutzerdefinierte Hardware, wie z. B. Beschleuniger und TPUs (Tensor Processing Units), nutzen. Diese Geräte können Leistungsvorteile für rechenintensive Modelle bieten.

Exportieren von YOLOv8 Modellen nach TF GraphDef

Du kannst dein YOLOv8 Objekterkennungsmodell in das TF GraphDef Format konvertieren, das mit verschiedenen Systemen kompatibel ist, um die Leistung auf verschiedenen Plattformen zu verbessern.

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 GraphDef format
model.export(format="pb")  # creates 'yolov8n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolov8n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model=yolov8n.pt format=pb  # creates 'yolov8n.pb'

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

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

Einsatz von exportierten YOLOv8 TF GraphDef Modellen

Nachdem Sie Ihre YOLOv8 Modell zum TF GraphDef -Format ist der nächste Schritt die Bereitstellung. Der primäre und empfohlene erste Schritt zum Ausführen eines TF GraphDef Modell ist die Verwendung der YOLO("model.pb") verwenden, wie zuvor im Verwendungscodeausschnitt gezeigt.

Weitere Informationen zum Einsatz deiner TF GraphDef Modelle findest du in den folgenden Ressourcen:

  • TensorFlow Bedienung von: Der Leitfaden TensorFlow Serving zeigt, wie man maschinelle Lernmodelle effizient in Produktionsumgebungen einsetzt und bedient.

  • TensorFlow Lite: Auf dieser Seite wird beschrieben, wie du mit TensorFlow Lite Modelle für maschinelles Lernen in ein Format konvertierst, das für Inferenzen auf dem Gerät optimiert ist.

  • TensorFlow.js: Ein Leitfaden zur Modellkonvertierung, der zeigt, wie man TensorFlow oder Keras-Modelle in das TensorFlow.js-Format konvertiert, um sie in Webanwendungen zu verwenden.

Zusammenfassung

In dieser Anleitung haben wir uns angesehen, wie du Ultralytics YOLOv8 Modelle in das TF GraphDef Format exportierst. Auf diese Weise kannst du deine optimierten YOLOv8 Modelle flexibel in verschiedenen Umgebungen einsetzen.

Weitere Einzelheiten zur Verwendung findest du in der offiziellen DokumentationTF GraphDef .

Wenn du mehr über die Integration von Ultralytics YOLOv8 mit anderen Plattformen und Frameworks wissen willst, solltest du dir unseren Integrationsleitfaden ansehen. Dort findest du tolle Ressourcen und Einblicke, die dir helfen, YOLOv8 in deinen Projekten optimal zu nutzen.

FAQ

Wie exportiere ich ein Modell von YOLOv8 in das Format TF GraphDef ?

Ultralytics YOLOv8 Modelle können nahtlos in das Format TensorFlow GraphDef (TF GraphDef ) exportiert werden. Dieses Format bietet eine serialisierte, plattformunabhängige Darstellung des Modells, die sich ideal für den Einsatz in verschiedenen Umgebungen wie Mobile und Web eignet. Um ein YOLOv8 Modell nach TF GraphDef zu exportieren, befolge diese Schritte:

Verwendung

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to TF GraphDef format
model.export(format="pb")  # creates 'yolov8n.pb'

# Load the exported TF GraphDef model
tf_graphdef_model = YOLO("yolov8n.pb")

# Run inference
results = tf_graphdef_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to TF GraphDef format
yolo export model="yolov8n.pt" format="pb"  # creates 'yolov8n.pb'

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

Weitere Informationen zu den verschiedenen Exportoptionen findest du in der Ultralytics Dokumentation zum Modellexport.

Welche Vorteile hat die Verwendung von TF GraphDef für die Bereitstellung von Modellen YOLOv8 ?

Der Export von YOLOv8 Modellen in das Format TF GraphDef bietet mehrere Vorteile, darunter

  1. Plattformunabhängigkeit: TF GraphDef bietet ein plattformunabhängiges Format, so dass die Modelle in verschiedenen Umgebungen eingesetzt werden können, z. B. auf mobilen Geräten und in Webbrowsern.
  2. Optimierungen: Das Format ermöglicht verschiedene Optimierungen wie Konstantenfaltung, Quantisierung und Graphenumwandlung, die die Ausführungseffizienz erhöhen und den Speicherverbrauch reduzieren.
  3. Hardware-Beschleunigung: Modelle im Format TF GraphDef können Hardware-Beschleuniger wie GPUs, TPUs und KI-Chips zur Leistungssteigerung nutzen.

Mehr über die Vorteile erfährst du im AbschnittTF GraphDef in unserer Dokumentation.

Warum sollte ich Ultralytics YOLOv8 gegenüber anderen Objekterkennungsmodellen verwenden?

Ultralytics YOLOv8 bietet zahlreiche Vorteile im Vergleich zu anderen Modellen wie YOLOv5 und YOLOv7. Einige der wichtigsten Vorteile sind:

  1. Modernste Leistung: YOLOv8 bietet außergewöhnliche Geschwindigkeit und Genauigkeit bei der Objekterkennung, Segmentierung und Klassifizierung in Echtzeit.
  2. Benutzerfreundlichkeit: Eine benutzerfreundliche API für das Training, die Validierung, die Vorhersage und den Export des Modells macht es sowohl für Anfänger als auch für Experten zugänglich.
  3. Breite Kompatibilität: Unterstützt mehrere Exportformate, darunter ONNX, TensorRT, CoreML und TensorFlow, für vielseitige Einsatzmöglichkeiten.

Weitere Details findest du in unserer Einführung zu YOLOv8.

Wie kann ich ein YOLOv8 Modell auf spezieller Hardware mit TF GraphDef einsetzen?

Sobald ein YOLOv8 Modell in das Format TF GraphDef exportiert wurde, kannst du es auf verschiedenen spezialisierten Hardware-Plattformen einsetzen. Typische Einsatzszenarien sind:

  • TensorFlow Serving: Nutze TensorFlow Serving für eine skalierbare Modellbereitstellung in Produktionsumgebungen. Es unterstützt die Modellverwaltung und effizientes Serving.
  • Mobile Geräte: Konvertiere TF GraphDef Modelle in TensorFlow Lite, das für mobile und eingebettete Geräte optimiert ist und On-Device-Inferenz ermöglicht.
  • Webbrowser: Setze Modelle mit TensorFlow.js für die clientseitige Inferenz in Webanwendungen ein.
  • KI-Beschleuniger: Nutze TPUs und benutzerdefinierte KI-Chips für beschleunigte Inferenzen.

Ausführliche Informationen findest du im Abschnitt Einsatzoptionen.

Wo finde ich Lösungen für häufige Probleme beim Export von YOLOv8 Modellen?

Für die Behebung häufiger Probleme beim Export von YOLOv8 Modellen bietet Ultralytics umfassende Anleitungen und Ressourcen. Wenn du bei der Installation oder dem Modellexport auf Probleme stößt, lies nach:

Diese Ressourcen sollten dir helfen, die meisten Probleme im Zusammenhang mit dem YOLOv8 Modellexport und -einsatz zu lösen.



Erstellt 2024-03-22, Aktualisiert 2024-07-05
Autoren: glenn-jocher (5), RizwanMunawar (1), Burhan-Q (1), abirami-vina (1)

Kommentare