A LiteRT oferece várias ferramentas para integrar modelos ao Android apps. Esta página descreve ferramentas de desenvolvimento para uso na criação de aplicativos com Kotlin, Java e C++, além do suporte ao desenvolvimento LiteRT em Android Studio
Ferramentas para criar com Kotlin e Java
As seções a seguir descrevem as ferramentas de desenvolvimento para o LiteRT que usam as linguagens Kotlin e Java.
Biblioteca LiteRT
Use a biblioteca LiteRT no seu app Android adicionando as AARs hospedadas em MavenCentral ao seu projeto de desenvolvimento.
É possível especificar isso nas dependências build.gradle
da seguinte maneira:
dependencies {
...
implementation 'com.google.ai.edge.litert:+'
}
repositories {
...
google()
}
Se você usar snapshots noturnos, adicione o snapshot do Sonatype repositório de código aberto ao seu projeto.
Este AAR inclui binários para todos os recursos do Android ABIs É possível reduzir o tamanho o binário do seu aplicativo incluindo apenas as ABIs que você precisa oferecer suporte.
A menos que você esteja segmentando um hardware específico, omita x86
, x86_64
,
e nas ABIs arm32
na maioria dos casos. Você pode configurar isso com o comando do Gradle
configuração do Terraform. Isso inclui especificamente apenas armeabi-v7a
e arm64-v8a
, e
deve abranger a maioria dos dispositivos Android modernos.
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
Para saber mais sobre o abiFilters
, consulte Android
ABIs no Android NDK
na documentação do Google Cloud.
Biblioteca de Suporte do LiteRT
A Biblioteca de Suporte LiteRT Android facilita a integração de modelos ao seu aplicativo. Ele fornece APIs de alto nível que ajudam a transformar entradas brutas os dados para a forma exigida pelo modelo e interpretar a saída do modelo, reduzindo a quantidade necessária de código boilerplate.
Ele suporta formatos de dados comuns para entradas e saídas, incluindo imagens e matrizes de dados. Ele também fornece unidades de pré e pós-processamento que executam tarefas como como redimensionamento e corte de imagens.
Use a Biblioteca de Suporte no seu app Android incluindo a biblioteca LiteRT A AAR da Biblioteca de Suporte hospedada em MavenCentral.
É possível especificar isso nas dependências build.gradle
da seguinte maneira:
dependencies {
implementation 'com.google.ai.edge.litert:litert-support:+'
}
Se você usar snapshots noturnos, adicione o snapshot do Sonatype repositório de código aberto ao seu projeto.
Para instruções sobre como começar, consulte o Suporte da LiteRT para Android Biblioteca.
Usar o Android Studio
Além das bibliotecas de desenvolvimento descritas acima, o Android Studio também fornece suporte para a integração de modelos LiteRT, conforme descrito abaixo.
Vinculação de modelos de ML do Android Studio
O recurso ML Model Binding do Android Studio 4.1 e versões mais recentes permite que você:
importar arquivos de modelo .tflite
para seu app Android atual e gerar
classes de interface para facilitar a integração do seu código com um modelo.
Para importar um modelo LiteRT:
Clique com o botão direito do mouse no módulo em que você quer usar o modelo LiteRT ou clique Arquivo > Novo > Outro > Modelo LiteRT.
Selecione o local do seu arquivo LiteRT. Observe que o conjunto de ferramentas configura a dependência do módulo com vinculação de modelos de ML e automaticamente adiciona todas as dependências necessárias ao arquivo
build.gradle
do módulo do Android.Clique em
Finish
para iniciar o processo de importação. Quando a importação for concluída, o exibe uma tela que descreve o modelo, incluindo sua entrada e saída de carga.Para começar a usar o modelo, selecione Kotlin ou Java, copie e cole o código a seção Exemplo de código.
Para retornar à tela de informações do modelo, clique duas vezes no botão do
Modelo Lite no diretório ml
no Android Studio. Para mais informações sobre
usando o recurso Modle Binding do Android Studio, consulte a documentação do
lançar
.
Para ter uma visão geral do uso da vinculação de modelos no Android Studio, consulte o exemplo de código.
instruções.
Ferramentas para criar com C e C++
As bibliotecas C e C++ para LiteRT são destinadas principalmente a desenvolvedores que usam o Kit de desenvolvimento nativo do Android (NDK, na sigla em inglês) para criar apps. Há duas maneiras de usar o LiteRT com o C++ se você cria seu app com o NDK:
API LiteRT C
O uso dessa API é a abordagem recomendada para desenvolvedores que usam o NDK.
Faça o download do AAR da LiteRT hospedado em
MavenCentral
arquivo, renomeie como tensorflow-lite-*.zip
e descompacte-o. Você deve incluir os quatro
arquivos principais nos arquivos headers/tensorflow/lite/
e headers/tensorflow/lite/c/
pastas e a biblioteca dinâmica libtensorflowlite_jni.so
relevante na
jni/
no seu projeto do NDK.
O arquivo principal c_api.h
contém a documentação básica sobre como usar o LiteRT C
API.
API LiteRT C++
Se quiser usar o LiteRT com a API C++, você pode criar o arquivo compartilhado bibliotecas:
armeabi-v7a de 32 bits:
bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so
Arm64-v8a de 64 bits:
bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so
Atualmente, não há uma maneira direta de extrair todos os arquivos de cabeçalho necessários,
Portanto, é necessário incluir todos os arquivos principais em tensorflow/lite/
do código
repositório de dados. Além disso, você precisará de arquivos de cabeçalho de
FlatBuffers e
Abseil (link em inglês).