LiteRT fournit un certain nombre d'outils pour intégrer des modèles dans Android applications. Cette page décrit les outils de développement à utiliser pour créer des applications avec Kotlin, Java et C++, ainsi que la compatibilité avec le développement LiteRT dans Android Studio
Outils de création avec Kotlin et Java
Les sections suivantes décrivent les outils de développement pour LiteRT qui utilisent les langages Kotlin et Java.
Bibliothèque LiteRT
Utilisez la bibliothèque LiteRT dans votre application Android en ajoutant l'AAR hébergée sur MavenCentral à votre projet de développement.
Vous pouvez le spécifier dans vos dépendances build.gradle
comme suit:
dependencies {
...
implementation 'com.google.ai.edge.litert:+'
}
repositories {
...
google()
}
Si vous utilisez des instantanés nocturnes, veillez à ajouter l'instantané Sonatype un dépôt à votre projet.
Cette AAR inclut des binaires pour toutes les applications Android ABI Vous pouvez réduire la taille le binaire de votre application en n'incluant que les ABI que vous devez prendre en charge.
Sauf si vous ciblez du matériel spécifique, vous devez omettre les champs x86
, x86_64
,
et arm32
dans la plupart des cas. Vous pouvez le configurer à l'aide des commandes Gradle suivantes :
configuration. Elle n'inclut spécifiquement que armeabi-v7a
et arm64-v8a
, et
devrait couvrir la plupart
des appareils Android modernes.
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
Pour en savoir plus sur abiFilters
, consultez Android
ABI dans le NDK Android
dans la documentation Google Cloud.
Bibliothèque LiteRT Support
La bibliothèque LiteRT Android Support facilite l'intégration de modèles dans votre application. Il fournit des API de haut niveau qui permettent de transformer les entrées brutes au format requis par le modèle, et interpréter la sortie du modèle, ce qui réduit la quantité de code récurrent nécessaire.
Il est compatible avec les formats de données courants pour les entrées et les sorties, y compris les images et tableaux. Il fournit également des unités de prétraitement et de post-traitement qui exécutent des tâches telles que comme le redimensionnement et le recadrage d'images.
Utilisez la bibliothèque Support dans votre application Android en incluant la bibliothèque LiteRT L'AAR de la bibliothèque Support est hébergée sur MavenCentral.
Vous pouvez le spécifier dans vos dépendances build.gradle
comme suit:
dependencies {
implementation 'com.google.ai.edge.litert:litert-support:+'
}
Si vous utilisez des instantanés nocturnes, veillez à ajouter l'instantané Sonatype un dépôt à votre projet.
Pour savoir comment vous lancer, consultez la page d'assistance Android LiteRT bibliothèque.
Utiliser Android Studio
En plus des bibliothèques de développement décrites ci-dessus, Android Studio fournit également permet l'intégration des modèles LiteRT, comme décrit ci-dessous.
Liaison de modèles de ML dans Android Studio
La fonctionnalité de liaison de modèles de ML d'Android Studio 4.1 et versions ultérieures vous permet d'effectuer les opérations suivantes :
importer des fichiers de modèle .tflite
dans votre application Android existante et générer
pour faciliter l'intégration de votre code à un modèle.
Pour importer un modèle LiteRT, procédez comme suit:
Effectuez un clic droit sur le module pour lequel vous souhaitez utiliser le modèle LiteRT ou cliquez sur Fichier > Nouveau > Autre > modèle LiteRT.
Sélectionnez l'emplacement de votre fichier LiteRT. Notez que les outils configure la dépendance du module avec une liaison de modèle de ML et ajoute toutes les dépendances requises au fichier
build.gradle
du module Android.Cliquez sur
Finish
pour lancer le processus d'importation. Une fois l'importation terminée, affiche un écran décrivant le modèle, y compris ses entrées et sorties Tensors.Pour commencer à utiliser le modèle, sélectionnez Kotlin ou Java, puis copiez et collez le code la section Exemple de code.
Vous pouvez revenir à l'écran d'informations sur le modèle en double-cliquant sur le bouton
Modèle Lite dans le répertoire ml
d'Android Studio. Pour en savoir plus sur
à l'aide de la fonctionnalité de liaison de modle d'Android Studio, consultez la documentation
version
commentaires.
Pour en savoir plus sur l'utilisation de la liaison de modèles dans Android Studio, consultez l'exemple de code
instructions.
Outils de compilation C et C++
Les bibliothèques C et C++ pour LiteRT sont principalement destinées les développeurs qui utilisent le kit de développement natif Android (NDK) pour créer leurs applications. Il existe deux façons d'utiliser LiteRT via C++ si vous compilez votre application avec le NDK:
API LiteRT C
L'utilisation de cette API est l'approche recommandée pour les développeurs utilisant le NDK.
Téléchargez l'AAR LiteRT, hébergé sur
MavenCentral
renommez-le tensorflow-lite-*.zip
, puis décompressez-le. Vous devez inclure les quatre
fichiers d'en-tête dans headers/tensorflow/lite/
et headers/tensorflow/lite/c/
dossiers et la bibliothèque dynamique libtensorflowlite_jni.so
pertinente dans
jni/
dans votre projet NDK.
Le fichier d'en-tête c_api.h
contient la documentation de base sur l'utilisation de LiteRT C
API.
API C++ LiteRT
Si vous souhaitez utiliser LiteRT via l'API C++, vous pouvez compiler le code C++ partagé bibliothèques:
armeabi-v7a 32 bits:
bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so
arm64-v8a 64 bits:
bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so
Il n'existe actuellement aucun moyen simple d'extraire
tous les fichiers d'en-tête nécessaires,
Vous devez donc inclure tous les fichiers d'en-tête dans tensorflow/lite/
depuis le fichier
un dépôt de clés. De plus, vous aurez besoin
de fichiers d'en-tête provenant
FlatBuffers
Abseil :