LiteRT bietet eine Reihe von Tools zur Integration von Modellen in Android. Apps. Auf dieser Seite werden Entwicklungstools zum Erstellen von Apps mit Kotlin, Java und C++ sowie Unterstützung für LiteRT-Entwicklung in Android Studio
Tools für die Entwicklung mit Kotlin und Java
In den folgenden Abschnitten werden Entwicklungstools für LiteRT beschrieben, die die Programmiersprachen Kotlin und Java.
LiteRT-Bibliothek
Nutzen Sie die LiteRT-Bibliothek in Ihrer Android-App, indem Sie die automatisch angewendeten Empfehlungen hinzufügen, die unter MavenCentral für Ihr Entwicklungsprojekt.
Sie können dies so in Ihren build.gradle
-Abhängigkeiten angeben:
dependencies {
...
implementation 'com.google.ai.edge.litert:+'
}
repositories {
...
google()
}
Wenn Sie nächtliche Snapshots verwenden, sollten Sie den Sonatype-Snapshot mit Ihrem Projekt verknüpfen.
Diese AAE umfassen Binärprogramme für alle Android- ABIs. Sie können die Größe der das Binärprogramm Ihrer Anwendung, indem Sie nur die ABIs angeben, die Sie unterstützen müssen.
Sofern Sie kein Targeting auf bestimmte Hardware vornehmen, sollten Sie x86
, x86_64
,
und in den meisten Fällen arm32
ABIs. Du kannst dies mit folgendem Gradle konfigurieren:
Konfiguration. Insbesondere sind nur armeabi-v7a
und arm64-v8a
enthalten.
die die meisten modernen Android-Geräte abdecken.
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
Weitere Informationen zu abiFilters
findest du unter Android
ABIs im Android NDK
Dokumentation.
LiteRT-Supportbibliothek
Die LiteRT Android Support Library erleichtert die Integration von Modellen in Ihre Anwendung einbinden. Es bietet High-Level-APIs, die dazu beitragen, Roheingaben zu transformieren Daten in das für das Modell erforderliche Format umwandeln und die Ausgabe des Modells interpretieren. weniger Boilerplate-Code erforderlich.
Es unterstützt gängige Datenformate für Ein- und Ausgaben wie Bilder und Arrays. Es bietet auch Vor- und Nachbearbeitungseinheiten, die Aufgaben wie z. B. bei Bildgrößenänderung und -zuschnitt.
Support Library in deiner Android-App verwenden, indem du LiteRT einschließt Supportbibliothek AAE gehostet bei MavenCentral.
Sie können dies so in Ihren build.gradle
-Abhängigkeiten angeben:
dependencies {
implementation 'com.google.ai.edge.litert:litert-support:+'
}
Wenn Sie nächtliche Snapshots verwenden, sollten Sie den Sonatype-Snapshot mit Ihrem Projekt verknüpfen.
Eine Anleitung für die ersten Schritte finden Sie beim LiteRT-Android-Support. Mediathek.
Android Studio verwenden
Zusätzlich zu den oben beschriebenen Entwicklungsbibliotheken enthält Android Studio auch bietet Unterstützung für die Integration von LiteRT-Modellen, wie unten beschrieben.
Android Studio ML-Modellbindung
Mit der ML-Modellbindungsfunktion von Android Studio 4.1 und höher können Sie
.tflite
-Modelldateien in die vorhandene Android-App importieren und
, um die Integration Ihres Codes in ein Modell zu vereinfachen.
So importieren Sie ein LiteRT-Modell:
Klicken Sie mit der rechten Maustaste auf das Modul, in dem Sie das LiteRT-Modell verwenden möchten, oder klicken Sie auf Datei > Neu > Sonstiges > LiteRT-Modell.
Wählen Sie den Speicherort Ihrer LiteRT-Datei aus. Beachten Sie, dass die Tools konfiguriert die Abhängigkeit des Moduls mit ML-Modellbindung und fügt der Datei
build.gradle
Ihres Android-Moduls alle erforderlichen Abhängigkeiten hinzu.Klicken Sie auf
Finish
, um den Import zu starten. Wenn der Import abgeschlossen ist, zeigt das Tool einen Bildschirm an, in dem das Modell, einschließlich Eingabe und Ausgabe beschrieben wird. Tensoren.Wählen Sie „Kotlin“ oder „Java“ aus, kopieren Sie den Code und fügen Sie ihn im Abschnitt Beispielcode.
Wenn Sie zum Bildschirm mit den Modellinformationen zurückkehren möchten, doppelklicken Sie auf das TensorFlow-Symbol
Lite-Modell im Verzeichnis ml
in Android Studio. Weitere Informationen zu
Modle-Bindungsfunktion von Android Studio finden Sie in der
Veröffentlichung
Notizen.
Eine Übersicht über die Verwendung der Modellbindung in Android Studio finden Sie im Codebeispiel.
Anleitung.
Tools zum Erstellen mit C und C++
Die C- und C++-Bibliotheken für LiteRT sind in erster Linie für Entwicklerinnen und Entwicklern, die das Android Native Development Kit (NDK) zum Entwickeln ihrer Apps verwenden. Es gibt zwei Möglichkeiten, LiteRT mit C++ zu verwenden, wenn Sie Ihre App mit dem NDK erstellen:
LiteRT C-API
Die Verwendung dieser API ist der empfohlene Ansatz für Entwickler, die das NDK verwenden.
Laden Sie das LiteRT AAR herunter, das unter folgendem Link gehostet wird:
MavenCentral
-Datei, benennen Sie sie in tensorflow-lite-*.zip
um und entpacken Sie sie. Sie müssen die vier
Headerdateien in headers/tensorflow/lite/
und headers/tensorflow/lite/c/
Ordner und der relevanten dynamischen Bibliothek libtensorflowlite_jni.so
im
jni/
im NDK-Projekt.
Die Headerdatei c_api.h
enthält grundlegende Informationen zur Verwendung von LiteRT C.
der API erstellen.
LiteRT C++ API
Wenn Sie LiteRT über die C++ API verwenden möchten, können Sie die in C++ freigegebene Bibliotheken:
32-Bit-Armeabi-v7a:
bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so
64-Bit-arm64-v8a:
bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so
Derzeit gibt es keine einfache Möglichkeit, alle erforderlichen Headerdateien zu extrahieren.
Deshalb müssen Sie in tensorflow/lite/
alle Headerdateien aus dem TensorFlow-Format
zu erstellen. Außerdem benötigen Sie Headerdateien von
FlatBuffers und
Abseil: