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 base) por padrão. Este guia se aplica somente aos modelos básicos. Consulte aqui as 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 transferidos por download e gerenciados pelo Google Play Services.
  2. Em pacote:os modelos são vinculados estaticamente ao app no tempo de build.
  3. Download dinâmico:o download dos modelos é feito sob demanda.

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

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

Desagrupados Agrupado Download dinâmico
Reconhecimento de texto v2
Detecção facial
Detecção de malha facial
Detecção de posição
Segmentação de selfie
Leitura de código de barras
Rotulagem de imagens
Detecção e rastreamento de objetos
Reconhecimento de tinta digital
Segmentação de assuntos
Leitor de código do Google
Identificação de idioma
Tradução
Resposta inteligente
Extração de entidades

Os guias específicos da API mostram as opções de instalação disponíveis para determinada API.

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

Desagrupados 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 Salvo 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? Atualizadas automaticamente quando uma versão mais recente for lançada É necessário atualizar o app para atualizar o modelo É necessário atualizar o app para atualizar o modelo
Quando é feito o download dos modelos? É necessário fazer o download dos modelos antes do uso Todos os modelos e recursos são incluídos quando o app é instalado, então podem ser usados imediatamente Downloads, atualizações e 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ó 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 transferidos por download são removidos do armazenamento específico do app quando o app é desinstalado

Como escolher entre agrupado e desagrupado

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

  • Use a opção "Agrupada" se você priorizar:

    • Concluir a funcionalidade do recurso imediatamente após a instalação do app
    • Recurso do recurso sem conexão de rede após a instalação do app
  • Use a opção desagrupado se você priorizar:

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

Como fazer o download de modelos

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

  • É possível ativar os downloads do modelo no momento da instalação adicionando 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 é instalado na 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>
    
  • Você pode solicitar um 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 solicitar um download explícito, o download do modelo será feito 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 seus modelos ao usar o modelo empacotado ou a opção de modelos transferidos por download dinamicamente:

  1. Atualize o arquivo Gradle do seu app para usar a biblioteca de cliente de recursos mais recente do kit de ML.

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

Por que algumas APIs oferecem modelos de download dinâmico

Algumas APIs do Kit de ML têm muitas opções de modelo para agrupar. Por exemplo, o reconhecimento de tinta digital tem suporte a mais de 300 idiomas e nem sempre é necessário colocar todos os idiomas no recurso durante a instalação. Para essa finalidade, fornecemos a terceira opção de instalação, em que o download dos modelos é feito sob demanda após a instalação. No momento, apenas o reconhecimento de tinta digital, o Translation e a Extração de entidade têm essa opção.