Esta página foi traduzida pela API Cloud Translation.
Switch to English

Android quickstart

Para começar a usar o TensorFlow Lite no Android, recomendamos explorar o exemplo a seguir.

Exemplo de classificação de imagem Android

Leia a classificação de imagens do TensorFlow Lite Android para uma explicação do código-fonte.

Este aplicativo de exemplo usa classificação de imagem para classificar continuamente tudo o que vê da câmera traseira do dispositivo. O aplicativo pode ser executado no dispositivo ou emulador.

A inferência é realizada usando a API TensorFlow Lite Java e a biblioteca de suporte do Android TensorFlow Lite . O aplicativo de demonstração classifica os frames em tempo real, exibindo as classificações mais prováveis. Ele permite que o usuário escolha entre um modelo de ponto flutuante ou quantizado , selecione a contagem de threads e decida se deseja executar na CPU, GPU ou via NNAPI .

Construir no Android Studio

Para construir o exemplo no Android Studio, siga as instruções em README.md .

Crie seu próprio aplicativo Android

Para começar a escrever rapidamente seu próprio código Android, recomendamos usar nosso exemplo de classificação de imagens Android como ponto de partida.

As seções a seguir contêm algumas informações úteis para trabalhar com o TensorFlow Lite no Android.

Use o Android Studio ML Model Binding

Para importar um modelo TensorFlow Lite (TFLite):

  1. Clique com o botão direito do mouse no módulo que deseja usar no modelo TFLite ou clique em File e em New > Other > TensorFlow Lite Model Menus do botão direito para acessar a funcionalidade de importação do TensorFlow Lite

  2. Selecione a localização do seu arquivo TFLite. Observe que o conjunto de ferramentas configurará a dependência do módulo em seu nome com a vinculação do modelo ML e todas as dependências inseridas automaticamente no arquivo build.gradle do módulo Android.

    Opcional: marque a segunda caixa de seleção para importar a GPU do TensorFlow se quiser usar a aceleração da GPU . Diálogo de importação para o modelo TFLite

  3. Clique em Finish .

  4. A tela a seguir aparecerá após a importação ser bem-sucedida. Para começar a usar o modelo, selecione Kotlin ou Java, copie e cole o código na seção Sample Code . Você pode voltar a esta tela clicando duas vezes no modelo TFLite no diretório ml no Android Studio. Página de detalhes do modelo no Android Studio

Use a biblioteca de tarefas TensorFlow Lite

A Biblioteca de Tarefas do TensorFlow Lite contém um conjunto de bibliotecas específicas de tarefas poderosas e fáceis de usar para desenvolvedores de aplicativos criarem experiências de ML com TFLite. Ele fornece interfaces de modelo out-of-box otimizadas para tarefas populares de aprendizado de máquina, como classificação de imagem, pergunta e resposta, etc. As interfaces de modelo são projetadas especificamente para cada tarefa para obter o melhor desempenho e usabilidade. A biblioteca de tarefas funciona em várias plataformas e é compatível com Java, C ++ e Swift (em breve).

Para usar a Biblioteca de Suporte em seu aplicativo Android, recomendamos usar o AAR hospedado no JCenter para a biblioteca Task Vision e a biblioteca Task Text , respectivamente.

Você pode especificar isso nas dependências de build.gradle da seguinte maneira:

dependencies {
    implementation 'org.tensorflow:tensorflow-lite-task-vision:0.1.0'
    implementation 'org.tensorflow:tensorflow-lite-task-text:0.1.0'
}

Consulte a introdução na visão geral da Biblioteca de tarefas do TensorFlow Lite para mais detalhes.

Use a biblioteca de suporte do TensorFlow Lite para Android

A biblioteca de suporte do TensorFlow Lite para Android facilita a integração de modelos em seu aplicativo. Ele fornece APIs de alto nível que ajudam a transformar dados de entrada brutos na forma exigida pelo modelo e interpretar a saída do modelo, reduzindo a quantidade de código clichê necessário.

Ele suporta formatos de dados comuns para entradas e saídas, incluindo imagens e matrizes. Ele também fornece unidades de pré e pós-processamento que realizam tarefas como redimensionamento e corte de imagens.

Para usar a Biblioteca de Suporte em seu aplicativo Android, recomendamos o uso da Biblioteca de Suporte TensorFlow Lite AAR hospedada no JCenter .

Você pode especificar isso nas dependências de build.gradle da seguinte maneira:

dependencies {
    implementation 'org.tensorflow:tensorflow-lite-support:0.1.0'
}

Para começar, siga as instruções na Biblioteca de suporte do TensorFlow Lite para Android .

Use o TensorFlow Lite AAR do JCenter

Para usar o TensorFlow Lite em seu aplicativo Android, recomendamos o uso do TensorFlow Lite AAR hospedado no JCenter .

Você pode especificar isso nas dependências de build.gradle da seguinte maneira:

dependencies {
    implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly-SNAPSHOT'
}

Este AAR inclui binários para todas as ABIs do Android . Você pode reduzir o tamanho do binário do seu aplicativo incluindo apenas os ABIs que você precisa oferecer suporte.

Recomendamos que a maioria dos desenvolvedores omita os arm32 x86 , x86_64 e arm32. Isso pode ser alcançado com a seguinte configuração do Gradle, que inclui especificamente apenas armeabi-v7a e arm64-v8a , que deve abranger a maioria dos dispositivos Android modernos.

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

Para saber mais sobre abiFilters , consulte NdkOptions na documentação do Android Gradle.

Crie um aplicativo Android usando C ++

Existem duas maneiras de usar TFLite por meio de C ++ se você criar seu aplicativo com o NDK:

Use TFLite C API

Esta é a abordagem recomendada . Faça o download do TensorFlow Lite AAR hospedado no JCenter , renomeie-o para tensorflow-lite-*.zip e descompacte-o. Você deve incluir os quatro arquivos de headers/tensorflow/lite/ em headers/tensorflow/lite/ e headers/tensorflow/lite/c/ folder e a biblioteca dinâmica libtensorflowlite_jni.so relevante em jni/ folder em seu projeto NDK.

O arquivo de cabeçalho c_api.h contém documentação básica sobre como usar a API C TFLite.

Use a API TFLite C ++

Se você deseja usar TFLite por meio da API C ++, pode criar as bibliotecas compartilhadas C ++:

32 bits armeabi-v7a:

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

64 bits arm64-v8a:

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, então você deve incluir todos os arquivos de cabeçalho em tensorflow/lite/ do repositório TensorFlow. Além disso, você precisará de arquivos de cabeçalho do FlatBuffers e do Abseil .