Modellkonvertierung – Übersicht

Die Modelle für maschinelles Lernen (ML), die Sie mit LiteRT verwenden, die mit TensorFlow-Kernbibliotheken und -Tools erstellt und trainiert wurden. Sobald Sie mit TensorFlow Core erstellen, können Sie es in ein kleineres, ein effizientes Format für ML-Modelle, das sogenannte LiteRT-Modell. In diesem Abschnitt finden Sie Informationen zum Umwandeln in das LiteRT-Modellformat umwandeln.

Conversion-Workflow

Das Konvertieren von TensorFlow-Modellen in das LiteRT-Format kann mehrere Pfade umfassen je nach Inhalt Ihres ML-Modells. Als ersten Schritt dieses Prozesses sollten Sie Ihr Modell bewerten, um festzustellen, ob es direkt konvertiert werden kann. Diese Bewertung bestimmt, ob der Inhalt des Modells vom Standard-LiteRT-Laufzeitumgebungen basierend auf den TensorFlow-Vorgängen verwendet werden. Wenn Ihr Modell Vorgänge außerhalb des unterstützten Datasets verwendet, haben Sie die Option, Ihr Modell zu refaktorieren oder erweiterte Konvertierungstechniken zu verwenden.

Das folgende Diagramm zeigt die übergeordneten Schritte zum Umwandeln eines Modells.

TFLite-Konvertierungs-Workflow

Abbildung 1. LiteRT-Konvertierungs-Workflow.

In den folgenden Abschnitten wird der Prozess zum Bewerten und Umwandeln von Modellen beschrieben. zur Verwendung mit LiteRT.

Formate des Eingabemodells

Sie können den Converter mit den folgenden Eingabemodellformaten verwenden:

Sie können sowohl das Keras- als auch das konkrete Funktionsmodell als SavedModel speichern und führen Sie mit dem empfohlenen Pfad eine Conversion aus.

Wenn du ein Jax-Modell hast, kannst du die TFLiteConverter.experimental_from_jax verwenden API in das LiteRT-Format konvertieren. Diese API unterliegt dem im Testmodus ändern.

Conversion-Bewertung

Die Bewertung Ihres Modells ist ein wichtiger Schritt, bevor Sie versuchen, es zu konvertieren. Bei der Bewertung möchten Sie ermitteln, ob der Inhalt Ihres Modells LiteRT-Format. Sie sollten auch bestimmen, ob Ihr Modell hinsichtlich der vom Modell verwendeten Datenmenge, Anforderungen an die Hardwareverarbeitung sowie die Gesamtgröße des Modells und Komplexität.

Bei vielen Modellen sollte der Konverter sofort funktionieren. Sie können jedoch Die integrierte LiteRT-Operatorbibliothek unterstützt einen Teil der TensorFlow-Kernoperatoren. Das bedeutet, dass einige Modelle möglicherweise zusätzliche vor der Konvertierung in LiteRT. Darüber hinaus haben einige von LiteRT unterstützte Vorgänge eingeschränkte Nutzungsanforderungen aus Leistungsgründen. Weitere Informationen finden Sie in der Leitfaden zur Kompatibilität mit Operatoren um zu ermitteln, ob Ihr Modell für die Konvertierung refaktoriert werden muss.

Modellkonvertierung

Der LiteRT-Converter erstellt anhand eines TensorFlow-Modells LiteRT-Modell (ein optimiertes FlatBuffer-Format, das vom Dateiendung .tflite). Du kannst Folgendes laden: oder ein Modell, das Sie im Code erstellen, direkt zu konvertieren.

Der Converter verwendet drei Haupt-Flags (oder Optionen), mit denen die Konvertierung angepasst wird für Ihr Modell:

  1. Mit Kompatibilitäts-Flags können Sie ob die Conversion benutzerdefinierte Operatoren zulassen soll.
  2. Mit Optimierungs-Flags können Sie Art der anzuwendenden Optimierung angeben während der Conversion. Die am häufigsten verwendete Optimierungstechnik Quanitierung nach dem Training.
  3. Mit Metadaten-Flags können Sie dem konvertierten Modell Metadaten hinzufügen. wodurch es einfacher ist, plattformspezifischen Wrapper-Code bei der Bereitstellung zu erstellen auf verschiedenen Geräten.

Sie können Ihr Modell mithilfe der Python API oder das Befehlszeilentool. Weitere Informationen finden Sie in der Anleitung zum Konvertieren des TF-Modells mit einer detaillierten Anleitung zum Ausführen des Konverters in Ihrem Modell.

Normalerweise würden Sie Ihr Modell für die Standard-LiteRT-Version konvertieren runtime oder den Laufzeitumgebung der Google Play-Dienste für LiteRT (Beta). Einige erweiterte Anwendungsfälle erfordern Anpassung der Modelllaufzeitumgebung, die zusätzliche Schritte in der Umwandlungsprozess. Weitere Informationen finden Sie in der Erweiterte Laufzeitumgebung des Android- .

Erweiterte Konvertierung

Wenn Fehler auftreten wenn Sie den Konverter in Ihrem Modell ausführen, Kompatibilitätsprobleme mit dem Netzbetreiber. Nicht alle TensorFlow-Vorgänge sind unterstützt von TensorFlow Lite. Sie können diese Probleme umgehen, indem Sie Ihr Modell refaktorieren oder erweiterte Konvertierungsoptionen, mit denen Sie ein modifiziertes LiteRT erstellen können Formatmodell und eine benutzerdefinierte Laufzeitumgebung für dieses Modell.

  • Siehe Modellkompatibilität – Übersicht finden Sie weitere Informationen zur Kompatibilität von TensorFlow- und LiteRT-Modellen. zu berücksichtigen.
  • Die Themen in der Übersicht über die Modellkompatibilität behandeln fortgeschrittene Techniken für Refaktorierung des Modells, z. B. für Operatoren auswählen .
  • Eine vollständige Liste der Vorgänge und Einschränkungen finden Sie unter LiteRT Ops-Seite:

Nächste Schritte