LiteRT-Modelle erstellen

Auf dieser Seite finden Sie eine Anleitung zum Erstellen von TensorFlow-Modellen, die in das LiteRT-Modellformat konvertiert werden sollen. Die Modelle für maschinelles Lernen (ML), die Sie mit LiteRT verwenden, werden ursprünglich mit TensorFlow-Kernbibliotheken 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 LiteRT-Modell konvertieren.

Wenn Sie bereits ein Modell haben, das Sie konvertieren möchten, finden Sie auf der Seite Modelle konvertieren – Übersicht eine Anleitung dazu.

Modell erstellen

Wenn Sie ein benutzerdefiniertes Modell für Ihren speziellen Anwendungsfall erstellen, sollten Sie zuerst ein TensorFlow-Modell entwickeln und trainieren oder ein vorhandenes Modell erweitern.

Einschränkungen beim Modelldesign

Bevor Sie mit der Entwicklung Ihres Modells beginnen, sollten Sie sich mit den Einschränkungen für LiteRT-Modelle vertraut machen und Ihr Modell unter Berücksichtigung dieser Einschränkungen erstellen:

  • Begrenzte Rechenleistung: Im Vergleich zu voll ausgestatteten Servern mit mehreren CPUs, hoher Speicherkapazität und spezialisierten Prozessoren wie GPUs und TPUs sind mobile Geräte und Edge-Geräte viel eingeschränkter. Obwohl sie an Rechenleistung und Kompatibilität mit spezieller Hardware zunehmen, sind die Modelle und Daten, die Sie damit effektiv verarbeiten können, immer noch vergleichsweise begrenzt.
  • Größe von Modellen: Die Gesamtkomplexität eines Modells, einschließlich der Logik für die Datenvorverarbeitung und der Anzahl der Ebenen im Modell, erhöht die In-Memory-Größe eines Modells. Ein großes Modell kann unannehmbar langsam ausgeführt werden oder passt einfach nicht in den verfügbaren Speicher eines Mobil- oder Edge-Geräts.
  • Größe der Daten: Die Größe der Eingabedaten, die mit einem Machine-Learning-Modell auf einem Mobilgerät oder Edge-Gerät effektiv verarbeitet werden können, ist begrenzt. Modelle, die große Datenbibliotheken wie Sprach-, Bild- oder Videoclip-Bibliotheken verwenden, passen möglicherweise nicht auf diese Geräte und erfordern möglicherweise Speicher- und Zugriffslösungen außerhalb des Geräts.
  • Unterstützte TensorFlow-Operationen: LiteRT-Laufzeitumgebungen unterstützen im Vergleich zu regulären TensorFlow-Modellen nur eine Teilmenge von Operationen für Machine-Learning-Modelle. Wenn Sie ein Modell für die Verwendung mit LiteRT entwickeln, sollten Sie die Kompatibilität Ihres Modells mit den Funktionen der LiteRT-Laufzeitumgebungen im Blick behalten.

Weitere Informationen zum Erstellen effektiver, kompatibler und leistungsstarker Modelle für LiteRT finden Sie unter Best Practices für die Leistung.

Modellentwicklung

Um ein LiteRT-Modell zu erstellen, müssen Sie zuerst ein Modell mit den TensorFlow-Kernbibliotheken erstellen. TensorFlow-Kernbibliotheken sind die Bibliotheken auf niedrigerer Ebene, die APIs zum Erstellen, Trainieren und Bereitstellen von ML-Modellen bereitstellen.

TFLite-Build-Workflow

TensorFlow bietet dafür zwei Möglichkeiten. Sie können Ihren eigenen benutzerdefinierten Modellcode entwickeln oder mit einer Modellimplementierung beginnen, die im TensorFlow Model Garden verfügbar ist.

Model Garden

Der TensorFlow Model Garden bietet Implementierungen vieler moderner Modelle für maschinelles Lernen (ML) für Vision und Natural Language Processing (NLP). Außerdem finden Sie Workflow-Tools, mit denen Sie diese Modelle schnell für Standard-Datasets konfigurieren und ausführen können. Die Modelle für maschinelles Lernen im Model Garden enthalten vollständigen Code, sodass Sie sie mit Ihren eigenen Datasets testen, trainieren oder neu trainieren können.

Ob Sie die Leistung eines bekannten Modells vergleichen, die Ergebnisse einer kürzlich veröffentlichten Studie überprüfen oder vorhandene Modelle erweitern möchten – der Model Garden kann Ihnen helfen, Ihre ML-Ziele zu erreichen.

Benutzerdefinierte Modelle

Wenn Ihr Anwendungsfall nicht von den Modellen in Model Garden unterstützt wird, können Sie eine Bibliothek auf hoher Ebene wie Keras verwenden, um Ihren benutzerdefinierten Trainingscode zu entwickeln. Die Grundlagen von TensorFlow finden Sie im TensorFlow-Leitfaden. TensorFlow-Tutorials mit Beispielen für Anfänger und Experten

Modellbewertung

Nachdem Sie Ihr Modell entwickelt haben, sollten Sie seine Leistung bewerten und es auf Endnutzergeräten testen. TensorFlow bietet dafür mehrere Möglichkeiten.

  • TensorBoard ist ein Tool, das die für den Workflow für maschinelles Lernen erforderlichen Messungen und Visualisierungen bereitstellt. Es ermöglicht das Verfolgen von Testmesswerten wie Verlust und Accuracy, die Visualisierung des Modelldiagramms, das Projizieren von Einbettungen in einen niedrigdimensionalen Raum und vieles mehr.
  • Für jede unterstützte Plattform sind Benchmarking-Tools verfügbar, z. B. die Android-Benchmark-App und die iOS-Benchmark-App. Mit diesen Tools können Sie Statistiken für wichtige Leistungsmesswerte messen und berechnen.

Modelloptimierung

Mit den Einschränkungen für Ressourcen, die speziell für TensorFlow Lite-Modelle gelten, kann die Modelloptimierung dazu beitragen, dass Ihr Modell eine gute Leistung erbringt und weniger Rechenressourcen verwendet. Die Leistung von Modellen für maschinelles Lernen ist in der Regel ein Kompromiss zwischen Größe und Geschwindigkeit der Inferenz und Genauigkeit. LiteRT unterstützt derzeit die Optimierung durch Quantisierung, Beschneidung und Clustering. Weitere Informationen zu diesen Techniken finden Sie im Thema Modelloptimierung. TensorFlow bietet auch ein Toolkit zur Modelloptimierung mit einer API, die diese Techniken implementiert.

Nächste Schritte