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

Por padrão, todos os recursos do Kit de ML usam modelos de aprendizado de máquina treinados pelo Google (conhecidos como modelos base). Este guia é aplicável apenas a modelos básicos. Consulte aqui orientações sobre modelos personalizados.

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

  1. Desempacotado:os modelos são transferidos por download e gerenciados pelo Google Play Services.
  2. Agrupado:os modelos são vinculados de forma estática ao app no momento da build.
  3. Download dinâmico:os modelos são transferidos por download sob demanda.

Caminhos de instalação com suporte para cada API

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

Não agrupado Em pacote Transferência dinâmica
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
Digitalizador de documentos
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 quais opções de instalação estão disponíveis para a API.

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

Não agrupado Em pacote Transferência dinâmica
Onde os modelos são armazenados? Está no Google Play Services e não é contabilizado no armazenamento usado por esse 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? Atualização automática 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 transferidos por download? Os modelos precisam ser transferidos antes do uso Todos os modelos e recursos são incluídos quando o app é instalado, então podem ser usados imediatamente Os 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ó 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 transferidos por download são removidos do armazenamento específico do app quando o app é desinstalado.

Como escolher entre pacotes e não pacotes

Se uma API oferecer suporte às opções de instalação agrupadas e não agrupadas:

  • Use a opção incluída se você priorizar:

    • Concluir a funcionalidade 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 automatizadas de modelos pelo Google Play Services

Como fazer o download de modelos

Ao usar a opção de modelo não agrupado, você pode especificar como os modelos serão transferidos para o dispositivo:

  • É possível ativar os downloads de modelos 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 o app para fazer o download automático do modelo de leitura de código de barras depois que o app for instalado da 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 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 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 seus modelos ao usar o modelo agrupado 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. Crie o app novamente.

Por que algumas APIs oferecem modelos transferidos por download dinamicamente

Algumas APIs do ML Kit têm muitas opções de modelo para agrupar. Por exemplo, o reconhecimento de tinta digital oferece suporte a 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 transferidos por download sob demanda após a instalação. No momento, apenas o reconhecimento de tinta digital, a tradução e a extração de entidades têm essa opção.