Caminhos de instalação de modelos do kit de ML no Android

Todos os recursos do Kit de ML usam modelos de machine learning treinados pelo Google (conhecidos como modelos de base) por padrão. Este guia é aplicável apenas a modelos de base. Veja aqui orientações sobre modelos personalizados.

Os modelos nas APIs do Kit de ML podem ser instalados de três maneiras:

  1. Desagrupados: os modelos são baixados e gerenciados pelo Google Play Services.
  2. Empacotados: os modelos são vinculados estaticamente ao app no momento da criação.
  3. Download dinâmico: os modelos são baixados sob demanda.

Caminhos de instalação compatíveis com cada API

A tabela abaixo mostra quais caminhos de instalação de modelo são compatíveis com cada recurso do Kit de ML:

Desagrupado Pacote Download dinâmico
Reconhecimento de texto v2 ✅ ✅
Detecção facial ✅ ✅
Detecção de malha facial ✅
Detecção de poses ✅
Segmentação de selfie ✅
Leitura de código de barras ✅ ✅
Rotulagem de imagens ✅ ✅
Detecção e rastreamento de objetos ✅
Reconhecimento de tinta digital ✅
Scanner ✅
Segmentação de assunto ✅
Leitor de código do Google ✅
Identificação de idiomas ✅ ✅
Tradução ✅
Resposta inteligente ✅ ✅
Extração de entidade ✅

Os guias específicos de API mostram quais opções de instalação estão disponíveis para a API em questão.

Principais diferenças entre as opções de instalação

Desagrupado Pacote Download dinâmico
Onde os modelos são armazenados? Reside no Google Play Services e não é contabilizado no armazenamento usado por este app Salvos no armazenamento específico do app após a instalação Salvo no armazenamento específico do app após o download do modelo
Como o tamanho do modelo afeta o tamanho do app? Não contribui para o tamanho do app Contribui diretamente para o tamanho do app Não contribui para o tamanho do app, mas aumenta o armazenamento específico do app.
Quando os modelos são atualizados? Atualizado automaticamente quando uma versão mais recente é lançada É necessário atualizar o app para atualizar o modelo É necessário atualizar o app para atualizar o modelo
Quando os modelos são baixados? Os modelos precisam ser baixados antes do uso Todos os modelos e recursos estão incluídos quando o app é instalado, então podem ser usados imediatamente Os downloads, as atualizações e as exclusões de modelos precisam ser gerenciados manualmente usando a API RemoteModelManager.
Quando os modelos são removidos do dispositivo? O Google Play Services só vai remover o modelo do armazenamento se todos os apps que dependem dele forem desinstalados. Os modelos são removidos do armazenamento específico do app quando o app é desinstalado. Os modelos baixados são removidos do armazenamento específico do app quando o app é desinstalado.

Como escolher entre as opções com e sem pacote

Se uma API for compatível com as opções de instalação em pacote e sem pacote:

  • Use a opção de pacote se você priorizar:

    • Funcionalidade completa do recurso imediatamente após a instalação do app
    • Funcionalidade do recurso sem conexão de rede após a instalação do app
  • Use a opção sem pacote se você priorizar:

    • Menos espaço ocupado pelos apps.
    • Atualizações automáticas de modelos pelo Google Play Services

Como baixar modelos

Ao usar a opção de modelo desagrupado, é possível especificar como você quer que os modelos sejam baixados no dispositivo:

  • Para ativar os downloads de modelos no momento da instalação, adicione uma declaração ao arquivo AndroidManifest.xml do app. Por exemplo, o snippet de código abaixo mostra como configurar seu app para fazer o download automático do modelo de leitura de código de barras depois que o app for instalado pela Google Play Store:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • É possível solicitar o download explícito usando a API ModuleInstallClient do Google Play Services.

  • Se você não ativar os downloads do modelo no momento da instalação ou não solicitar o download explícito, o modelo será transferido na primeira vez que você executar o recurso. Até que o download seja concluído, as solicitações de inferência vão falhar.

Como atualizar modelos

Para atualizar os modelos ao usar o modelo empacotado ou a opção de modelos baixados dinamicamente:

  1. Atualize o arquivo gradle do app para usar a biblioteca de cliente de recursos do Kit de ML mais recente.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. Recrie seu app.

Por que algumas APIs oferecem modelos baixados dinamicamente

Algumas APIs do Kit de ML têm muitas opções de modelo para agrupar. Por exemplo, o reconhecimento de escrita manual é compatível com mais de 300 idiomas, e nem sempre é necessário colocar todos os idiomas no recurso durante a instalação. Para isso, oferecemos a terceira opção de instalação, em que os modelos são baixados sob demanda após a instalação. No momento, apenas o reconhecimento de escrita à mão, a tradução e a extração de entidades têm essa opção.