Ultralytics YOLO27:

Verstehe, wie du aus YOLO26 in das TF-SavedModel-Format exportierst#

Die Bereitstellung von Machine-Learning-Modellen kann eine Herausforderung sein. Ein effizientes und flexibles Modellformat kann dir die Arbeit jedoch erleichtern. TF SavedModel ist ein quelloffenes Machine-Learning-Framework, das TensorFlow verwendet, um Machine-Learning-Modelle auf konsistente Weise zu laden. Es ist wie ein Koffer für TensorFlow-Modelle, der den Transport und die Verwendung auf verschiedenen Geräten und Systemen erleichtert.

Wenn du lernst, wie du Modelle von Ultralytics YOLO26 in TF SavedModel exportierst, kannst du Modelle problemlos auf verschiedenen Plattformen und in unterschiedlichen Umgebungen bereitstellen. In diesem Leitfaden zeigen wir dir, wie du deine Modelle in das TF-SavedModel-Format konvertierst und dadurch die Ausführung von Inferenzen mit deinen Modellen auf verschiedenen Geräten vereinfachst.

Warum solltest du in TF SavedModel exportieren?#

Das TensorFlow-SavedModel-Format ist Teil des von Google entwickelten TensorFlow-Ökosystems, wie unten dargestellt. Es wurde entwickelt, um TensorFlow-Modelle nahtlos zu speichern und zu serialisieren. Es kapselt sämtliche Modelldetails, etwa die Architektur, die Gewichte und sogar Informationen zur Kompilierung. Dadurch lassen sich Modelle problemlos in verschiedenen Umgebungen teilen, bereitstellen und weitertrainieren.

TensorFlow SavedModel export format structure

TF SavedModel bietet einen entscheidenden Vorteil: Kompatibilität. Es funktioniert gut mit TensorFlow Serving, LiteRT (früher TensorFlow Lite) und TensorFlow.js. Diese Kompatibilität erleichtert das Teilen und Bereitstellen von Modellen auf verschiedenen Plattformen, einschließlich Web- und Mobilanwendungen. Das TF-SavedModel-Format ist sowohl für die Forschung als auch für den Produktiveinsatz nützlich. Es bietet eine einheitliche Möglichkeit, deine Modelle zu verwalten, und stellt sicher, dass sie für jede Anwendung bereit sind.

Wichtige Funktionen von TF SavedModel#

Hier sind die wichtigsten Funktionen, die TF SavedModel zu einer hervorragenden Option für KI-Entwickler machen:

  • Portabilität: TF SavedModel bietet ein sprachneutrales, wiederherstellbares und hermetisches Serialisierungsformat. Dadurch können übergeordnete Systeme und Werkzeuge TensorFlow-Modelle erzeugen, verarbeiten und umwandeln. SavedModels lassen sich problemlos auf verschiedenen Plattformen und in unterschiedlichen Umgebungen teilen und bereitstellen.

  • Einfache Bereitstellung: TF SavedModel bündelt den Berechnungsgraphen, trainierte Parameter und erforderliche Metadaten in einem einzigen Paket. Es lässt sich problemlos laden und für Inferenzen verwenden, ohne dass der ursprüngliche Code erforderlich ist, mit dem das Modell erstellt wurde. Dadurch wird die Bereitstellung von TensorFlow-Modellen in verschiedenen Produktionsumgebungen einfach und effizient.

  • Verwaltung von Ressourcen: TF SavedModel unterstützt die Einbindung externer Ressourcen wie Vokabulare, Embeddings oder Nachschlagetabellen. Diese Ressourcen werden zusammen mit der Graphdefinition und den Variablen gespeichert und sind dadurch beim Laden des Modells verfügbar. Diese Funktion vereinfacht die Verwaltung und Verteilung von Modellen, die auf externen Ressourcen basieren.

Bereitstellungsoptionen mit TF SavedModel#

Bevor wir uns mit dem Export von YOLO26-Modellen in das TF-SavedModel-Format befassen, sehen wir uns einige typische Bereitstellungsszenarien an, in denen dieses Format verwendet wird.

TF SavedModel bietet verschiedene Möglichkeiten, deine Machine-Learning-Modelle bereitzustellen:

  • TensorFlow Serving: TensorFlow Serving ist ein flexibles, leistungsstarkes Serving-System für Produktionsumgebungen. Es unterstützt TF SavedModels nativ und erleichtert dadurch die Bereitstellung und das Bereitstellen deiner Modelle auf Cloud-Plattformen, lokalen Servern oder Edge-Geräten.

  • Cloud-Plattformen: Große Cloud-Anbieter wie Google Cloud Platform (GCP), Amazon Web Services (AWS) und Microsoft Azure bieten Dienste für die Bereitstellung und Ausführung von TensorFlow-Modellen, einschließlich TF SavedModels. Diese Dienste stellen skalierbare und verwaltete Infrastrukturen bereit, sodass du deine Modelle problemlos bereitstellen und skalieren kannst.

  • Mobile und eingebettete Geräte: LiteRT (früher TensorFlow Lite), eine schlanke Lösung zur Ausführung von Machine-Learning-Modellen auf mobilen, eingebetteten und IoT-Geräten, unterstützt die Konvertierung von TF SavedModels in das LiteRT-Format. Dadurch kannst du deine Modelle auf einer Vielzahl von Geräten bereitstellen – von Smartphones und Tablets bis hin zu Mikrocontrollern und Edge-Geräten.

  • TensorFlow Runtime: TensorFlow Runtime (tfrt) ist eine leistungsstarke Laufzeitumgebung zur Ausführung von TensorFlow-Graphen. Sie bietet APIs auf niedrigerer Ebene zum Laden und Ausführen von TF SavedModels in C++-Umgebungen. TensorFlow Runtime bietet eine bessere Leistung als die standardmäßige TensorFlow-Laufzeitumgebung. Sie eignet sich für Bereitstellungsszenarien, die Inferenz mit geringer Latenz und eine enge Integration in vorhandene C++-Codebasen erfordern.

Unterstützte Aufgaben#

Der Export von TF SavedModel unterstützt alle sieben Ultralytics-Aufgaben. Semantische Segmentierung und Tiefenschätzung sind nur mit YOLO26 verfügbar, der einzigen Familie, die diese Köpfe enthält.

AufgabeYOLOv8YOLO11YOLO26
Erkennen
Segmentieren
Semantisch
Tiefe
Klassifizieren
Pose
OBB

YOLO26-Modelle in TF SavedModel exportieren#

Durch den Export von YOLO26-Modellen in das TF-SavedModel-Format verbesserst du ihre Anpassungsfähigkeit und erleichterst ihre Bereitstellung auf verschiedenen Plattformen.

Installation#

Führe zur Installation des erforderlichen Pakets folgenden Befehl aus:

Installation
# Install the required package for YOLO26
pip install ultralytics

Ausführliche Anweisungen und bewährte Vorgehensweisen zur Installation findest du in unserem Installationsleitfaden von Ultralytics. Sollten bei der Installation der für YOLO26 erforderlichen Pakete Schwierigkeiten auftreten, findest du in unserem Leitfaden zu häufigen Problemen Lösungen und Tipps.

Verwendung#

Alle Ultralytics YOLO26-Modelle sind so konzipiert, dass sie standardmäßig den Export unterstützen, sodass du sie problemlos in deinen bevorzugten Bereitstellungsablauf integrieren kannst. Du kannst die vollständige Liste der unterstützten Exportformate und Konfigurationsoptionen anzeigen, um die beste Konfiguration für deine Anwendung auszuwählen.

Das TF-SavedModel-Format unterstützt die Modi Export, Predict und Validate. Exportiere dein Modell und lade anschließend das exportierte Modell, um Inferenzen auszuführen oder seine Genauigkeit zu validieren.

Export
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF SavedModel format
model.export(format="saved_model")  # creates 'yolo26n_saved_model'
Vorhersage
from ultralytics import YOLO

# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validieren
from ultralytics import YOLO

# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Exportargumente#

ArgumentTypStandardwertBeschreibung
formatstr'saved_model'Zielformat für das exportierte Modell, das die Kompatibilität mit verschiedenen Bereitstellungsumgebungen festlegt.
imgszint oder tuple640Gewünschte Bildgröße für die Modelleingabe. Kann für quadratische Bilder eine Ganzzahl oder für bestimmte Abmessungen ein Tupel (height, width) sein.
kerasboolFalseErmöglicht den Export in das Keras-Format und bietet Kompatibilität mit TensorFlow Serving und APIs.
quantizeint oder strNoneQuantisierungsgenauigkeit: 8 (INT8/PTQ; benötigt die Kalibrierung data/fraction) oder 32/nicht gesetzt (FP32). FP16 wird beim SavedModel-Export nicht unterstützt. Ersetzt das veraltete Flag int8.
opsetintNoneLegt die ONNX-Operationssatzversion für den Zwischenstand des ONNX-Graphen fest. Wenn keine Angabe erfolgt, wird die neueste unterstützte Version verwendet.
nmsbool, optionalNoneWähle die Rohausgabe (None, Standard), das eingebettete NMS (True) oder den NMS-freien Kopf (False).
batchint1Legt die Batchgröße für die Inferenz des exportierten Modells oder die maximale Anzahl der Bilder fest, die das exportierte Modell im Modus predict gleichzeitig verarbeitet.
datastrNonePfad zur Dataset-YAML-Datei, die für die Quantisierung erforderlich ist; bei der Klassifizierung wird stattdessen ein Dataset-Verzeichnis oder der Name eines integrierten Datasets verwendet. Wenn quantize=8 nicht angegeben wird, wählt Ultralytics das Standard-Kalibrierungsdataset für die Modellaufgabe aus.
fractionfloat, int oder list1.0Kalibrierungs-Teilmenge als Verhältnis, Bildanzahl oder [train, val, test]-Verhältnisse bzw. -Anzahlen. Bei Listen mit zwei Elementen bleibt test vollständig, während 0 übersprungen wird.
devicestrNoneGibt das Gerät für den Export an: CPU (device=cpu), MPS für Apple-Chips (device=mps).

Weitere Informationen zum Exportvorgang findest du auf der Ultralytics-Dokumentationsseite zum Export.

Exportierte YOLO26-TF-SavedModel-Modelle bereitstellen#

Nachdem du dein YOLO26-Modell in das TF-SavedModel-Format exportiert hast, besteht der nächste Schritt in seiner Bereitstellung. Der wichtigste und empfohlene erste Schritt zum Ausführen eines TF-SavedModel-Modells ist die Verwendung der Methode YOLO("yolo26n_saved_model/"), wie bereits im Codebeispiel zur Verwendung gezeigt.

Ausführliche Anleitungen zur Bereitstellung deiner TF-SavedModel-Modelle findest du in den folgenden Ressourcen:

Zusammenfassung#

In diesem Leitfaden haben wir untersucht, wie du Ultralytics YOLO26-Modelle in das TF-SavedModel-Format exportierst. Mit dem Export in TF SavedModel erhältst du die Flexibilität, deine YOLO26-Modelle auf einer Vielzahl von Plattformen zu optimieren, bereitzustellen und zu skalieren.

Weitere Informationen zur Verwendung findest du in der offiziellen Dokumentation zu TF SavedModel.

Weitere Informationen zur Integration von Ultralytics YOLO26 in andere Plattformen und Frameworks findest du auf unserer Seite mit Integrationsleitfäden. Dort findest du zahlreiche hilfreiche Ressourcen, mit denen du YOLO26 optimal in deinen Projekten einsetzen kannst.

FAQ#

  • Der Export eines Ultralytics-YOLO-Modells in das TensorFlow-SavedModel-Format ist unkompliziert. Du kannst dafür entweder Python oder die CLI verwenden:

    YOLO26 in TF SavedModel exportieren
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF SavedModel format
    model.export(format="saved_model")  # creates 'yolo26n_saved_model'
    
    # Load the exported TF SavedModel for inference
    tf_savedmodel_model = YOLO("./yolo26n_saved_model")
    results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")

    Weitere Informationen findest du in der Ultralytics-Exportdokumentation.

  • Das TensorFlow-SavedModel-Format bietet mehrere Vorteile für die Modellbereitstellung:

    • Portabilität: Es bietet ein sprachneutrales Format, mit dem sich Modelle problemlos in verschiedenen Umgebungen teilen und bereitstellen lassen.
    • Kompatibilität: Es lässt sich nahtlos in Werkzeuge wie TensorFlow Serving, LiteRT und TensorFlow.js integrieren, die für die Bereitstellung von Modellen auf verschiedenen Plattformen, einschließlich Web- und Mobilanwendungen, unverzichtbar sind.
    • Vollständige Kapselung: Es kodiert die Modellarchitektur, die Gewichte und die Informationen zur Kompilierung und ermöglicht dadurch eine unkomplizierte gemeinsame Nutzung und Fortsetzung des Trainings.

    Weitere Vorteile und Bereitstellungsoptionen findest du unter Bereitstellungsoptionen für Ultralytics-YOLO-Modelle.

  • TF SavedModel kann in verschiedenen Umgebungen bereitgestellt werden, darunter:

    • TensorFlow Serving: Ideal für Produktionsumgebungen, die skalierbares und leistungsstarkes Bereitstellen von Modellen erfordern.
    • Cloud-Plattformen: Unterstützt große Cloud-Dienste wie Google Cloud Platform (GCP), Amazon Web Services (AWS) und Microsoft Azure für die skalierbare Bereitstellung von Modellen.
    • Mobile und eingebettete Geräte: Die Verwendung von LiteRT (früher TensorFlow Lite) zur Konvertierung von TF SavedModels ermöglicht die Bereitstellung auf Mobilgeräten, IoT-Geräten und Mikrocontrollern.
    • TensorFlow Runtime: Für C++-Umgebungen, die Inferenz mit geringer Latenz und besserer Leistung benötigen.

    Detaillierte Bereitstellungsoptionen findest du in den offiziellen Leitfäden zur Bereitstellung von TensorFlow-Modellen.

  • Für den Export von YOLO26-Modellen musst du das Paket ultralytics installieren. Führe den folgenden Befehl in deinem Terminal aus:

    pip install ultralytics

    Ausführlichere Installationsanweisungen und bewährte Vorgehensweisen findest du in unserem Ultralytics-Installationsleitfaden. Falls Probleme auftreten, konsultiere unseren Leitfaden zu häufigen Problemen.

  • Das TF-SavedModel-Format ist aufgrund der folgenden Funktionen für KI-Entwickler besonders nützlich:

    • Portabilität: Ermöglicht das mühelose Teilen und Bereitstellen von Modellen in verschiedenen Umgebungen.
    • Einfache Bereitstellung: Kapselt den Berechnungsgraphen, trainierte Parameter und Metadaten in einem einzigen Paket und vereinfacht dadurch das Laden und die Inferenz.
    • Verwaltung von Ressourcen: Unterstützt externe Ressourcen wie Vokabulare und stellt sicher, dass diese beim Laden des Modells verfügbar sind.

    Weitere Informationen findest du in der offiziellen TensorFlow-Dokumentation.

Kommentare