Strumenti di sviluppo per Android

LiteRT fornisce una serie di strumenti per integrare i modelli in Android app. In questa pagina vengono descritti gli strumenti di sviluppo da utilizzare nella creazione di app con Kotlin, Java e C++, nonché il supporto per lo sviluppo LiteRT in Android Studio.

Strumenti per creare con Kotlin e Java

Le seguenti sezioni descrivono gli strumenti di sviluppo per LiteRT che utilizzano i linguaggi Kotlin e Java.

Libreria LiteRT

Utilizza la libreria LiteRT nella tua app Android aggiungendo il AAR ospitato su MavenCentral al tuo progetto di sviluppo.

Puoi specificare questa opzione nelle dipendenze build.gradle come segue:

dependencies {
    ...
    implementation 'com.google.ai.edge.litert:+'
}

repositories {
    ...
    google()
}

Se usi istantanee notturne, assicurati di aggiungere lo snapshot Sonatype repository al tuo progetto.

Questo AAR include programmi binari per tutti i servizi Android ABI. Puoi ridurre le dimensioni il programma binario della tua applicazione includendo solo le ABI che devi supportare.

A meno che tu non abbia come target hardware specifici, devi omettere x86, x86_64, e arm32 ABI nella maggior parte dei casi. Puoi configurare questa funzionalità con il seguente Gradle configurazione. Nello specifico sono inclusi solo armeabi-v7a e arm64-v8a e dovrebbe coprire la maggior parte dei moderni dispositivi Android.

android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a'
        }
    }
}

Per ulteriori informazioni su abiFilters, vedi Android ABI nell'NDK di Android documentazione.

Libreria di supporto LiteRT

La libreria di supporto Android LiteRT semplifica l'integrazione dei modelli nella tua applicazione. Fornisce API di alto livello che aiutano a trasformare l'input non elaborato nel formato richiesto dal modello e interpreta l'output del modello riducendo la quantità di codice boilerplate necessario.

Supporta formati di dati comuni per input e output, tra cui immagini e di grandi dimensioni. Fornisce inoltre unità di pre- e post-elaborazione che eseguono attività come come ridimensionamento e ritaglio delle immagini.

Usa la libreria di supporto nella tua app Android includendo LiteRT Supporto AAR della libreria di supporto ospitato su MavenCentral.

Puoi specificare questa opzione nelle dipendenze build.gradle come segue:

dependencies {
    implementation 'com.google.ai.edge.litert:litert-support:+'
}

Se usi istantanee notturne, assicurati di aggiungere lo snapshot Sonatype repository al tuo progetto.

Per istruzioni su come iniziare, vedi Assistenza LiteRT per Android Raccolta.

Utilizzo di Android Studio

Oltre alle librerie di sviluppo descritte sopra, Android Studio fornisce il supporto per l'integrazione dei modelli LiteRT, come descritto di seguito.

Associazione di modelli ML di Android Studio

La funzionalità ML Model Binding di Android Studio 4.1 e versioni successive ti consente importa .tflite file modello nell'app per Android esistente e genera di interfaccia per semplificare l'integrazione del codice con un modello.

Per importare un modello LiteRT:

  1. Fai clic con il tasto destro del mouse sul modulo che desideri utilizzare il modello LiteRT oppure fai clic File > Nuovo > Altro > Modello LiteRT.

  2. Seleziona la posizione del file LiteRT. Tieni presente che gli strumenti configura la dipendenza del modulo con l'associazione del modello ML aggiunge tutte le dipendenze obbligatorie al file build.gradle del modulo Android.

  3. Fai clic su Finish per avviare il processo di importazione. Al termine dell'importazione, visualizza una schermata che descrive il modello, compresi i dati di input e output tensori.

  4. Per iniziare a utilizzare il modello, seleziona Kotlin o Java, copia e incolla il codice sezione Codice di esempio.

Puoi tornare alla schermata delle informazioni sul modello facendo doppio clic sul Modello Lite nella directory ml di Android Studio. Per ulteriori informazioni utilizzando la funzione Modle Binding di Android Studio, consultate la sezione rilascio note. Per una panoramica dell'utilizzo dell'associazione di modelli in Android Studio, guarda l'esempio di codice istruzioni.

Strumenti per creare con C e C++

Le librerie C e C++ per LiteRT sono destinate principalmente sviluppatori che usano Android Native Development Kit (NDK) per creare le proprie app. Se crei la tua app con l'NDK, puoi utilizzare LiteRT tramite C++ in due modi:

API LiteRT C

Questa API è l'approccio consigliato per gli sviluppatori che usano l'NDK. Scarica il LiteRT AAR ospitato su MavenCentral , rinominalo in tensorflow-lite-*.zip e decomprimilo. Devi includere i quattro file di intestazione in headers/tensorflow/lite/ e headers/tensorflow/lite/c/ e la libreria dinamica libtensorflowlite_jni.so pertinente nel jni/ nel tuo progetto NDK.

Il file di intestazione c_api.h contiene la documentazione di base sull'utilizzo di LiteRT C tramite Google Cloud CLI o tramite l'API Compute Engine.

API LiteRT C++

Se vuoi utilizzare LiteRT tramite l'API C++, puoi creare il file librerie:

armeabi-v7a a 32 bit:

bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so

ARM64-v8a a 64 bit:

bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so

Al momento, non esiste un modo semplice per estrarre tutti i file di intestazione necessari, devi quindi includere tutti i file di intestazione in tensorflow/lite/ da TensorFlow repository Git. Inoltre, avrai bisogno di file di intestazione FlatBuffers e Abseil (Abseil).