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:
- Desempacotado:os modelos são transferidos por download e gerenciados pelo Google Play Services.
- Agrupado:os modelos são vinculados de forma estática ao app no momento da build.
- 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:
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 }
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.