Modellkonvertierung – Übersicht

Die Modelle für maschinelles Lernen (ML), die Sie mit TensorFlow Lite verwenden, werden ursprünglich mit TensorFlow Core-Bibliotheken und -Tools erstellt und trainiert. Nachdem Sie ein Modell mit TensorFlow Core erstellt haben, können Sie es in ein kleineres, effizienteres ML-Modellformat namens TensorFlow Lite-Modell konvertieren. Dieser Abschnitt enthält eine Anleitung zum Konvertieren Ihrer TensorFlow-Modelle in das TensorFlow Lite-Modellformat.

Konvertierungs-Workflow

Das Konvertieren von TensorFlow-Modellen in das TensorFlow Lite-Format kann je nach Inhalt Ihres ML-Modells einige Pfade dauern. Im ersten Schritt sollten Sie Ihr Modell evaluieren, um festzustellen, ob es direkt konvertiert werden kann. Diese Bewertung bestimmt, ob der Inhalt des Modells von den standardmäßigen TensorFlow Lite-Laufzeitumgebungen basierend auf den verwendeten TensorFlow-Vorgängen unterstützt wird. Wenn Ihr Modell Vorgänge außerhalb des unterstützten Satzes verwendet, können Sie das Modell refaktorieren oder erweiterte Konvertierungstechniken verwenden.

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

TFLite-Konvertierungsworkflow

Abbildung 1: TensorFlow Lite-Konvertierungsworkflow.

In den folgenden Abschnitten wird der Prozess zum Bewerten und Konvertieren von Modellen für die Verwendung mit TensorFlow Lite beschrieben.

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 Student speichern und mit dem empfohlenen Pfad konvertieren.

Wenn Sie ein Jax-Modell haben, können Sie es mit der TFLiteConverter.experimental_from_jax API in das TensorFlow Lite-Format konvertieren. Diese API kann sich im experimentellen Modus noch ändern.

Conversion-Auswertung

Die Bewertung Ihres Modells ist ein wichtiger Schritt, bevor Sie versuchen, es zu konvertieren. Bei der Auswertung möchten Sie feststellen, ob der Inhalt Ihres Modells mit dem TensorFlow Lite-Format kompatibel ist. Außerdem sollten Sie herausfinden, ob sich Ihr Modell in Bezug auf die Größe der vom Modell verwendeten Daten, die Hardwareverarbeitungsanforderungen und die Gesamtgröße und Komplexität des Modells für den Einsatz auf Mobilgeräten und Edge-Geräten eignet.

Bei vielen Modellen sollte der Konverter sofort einsatzbereit sein. Die integrierte Operatorbibliothek TensorFlow Lite unterstützt jedoch einen Teil der TensorFlow Core-Operatoren. Dies bedeutet, dass einige Modelle möglicherweise zusätzliche Schritte benötigen, bevor sie in TensorFlow Lite konvertiert werden. Darüber hinaus gelten für einige von TensorFlow Lite unterstützte Vorgänge aus Leistungsgründen eingeschränkte Nutzungsanforderungen. Im Leitfaden zur Kompatibilität mit Operatoren erfahren Sie, ob Ihr Modell für eine Konvertierung refaktoriert werden muss.

Modellkonvertierung

Der TensorFlow Lite-Konverter verwendet ein TensorFlow-Modell und generiert ein TensorFlow Lite-Modell (ein optimiertes FlatBuffer-Format, das durch die Dateiendung .tflite identifiziert wird). Sie können ein Modell laden oder ein Modell, das Sie im Code erstellen, direkt konvertieren.

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

  1. Mit Kompatibilitäts-Flags können Sie angeben, ob für die Konvertierung benutzerdefinierte Operatoren zulässig sind.
  2. Mit Optimierungs-Flags können Sie angeben, welche Art von Optimierung bei der Conversion angewendet werden soll. Die am häufigsten verwendete Optimierungstechnik ist die Quanitisierung nach dem Training.
  3. Mit Metadaten-Flags können Sie dem konvertierten Modell Metadaten hinzufügen. Dies vereinfacht das Erstellen plattformspezifischer Wrapper-Codes bei der Bereitstellung von Modellen auf Geräten.

Sie können das Modell mit der Python API oder dem Befehlszeilentool konvertieren. Eine detaillierte Anleitung zum Ausführen des Converters in Ihrem Modell finden Sie in der Anleitung TF-Modell konvertieren.

In der Regel würden Sie Ihr Modell für die standardmäßige Laufzeit von TensorFlow Lite oder die Laufzeitumgebung der Google Play-Dienste für TensorFlow Lite (Beta) konvertieren. Bei einigen erweiterten Anwendungsfällen muss die Modelllaufzeitumgebung angepasst werden, was zusätzliche Schritte im Konvertierungsprozess erfordert. Weitere Informationen finden Sie im Abschnitt Erweiterte Laufzeitumgebung der Android-Übersicht.

Erweiterte Konvertierung

Wenn beim Ausführen des Converters für Ihr Modell Fehler auftreten, liegt das wahrscheinlich an einem Kompatibilitätsproblem mit den Operatoren. Nicht alle TensorFlow-Vorgänge werden von TensorFlow Lite unterstützt. Sie können diese Probleme umgehen, indem Sie Ihr Modell refaktorieren oder erweiterte Konvertierungsoptionen verwenden, mit denen Sie ein geändertes TensorFlow Lite-Formatmodell und eine benutzerdefinierte Laufzeitumgebung für dieses Modell erstellen können.

Nächste Schritte