Outils de développement pour Android

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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 :