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 apenas a modelos base. Consulte aqui as orientações sobre modelos personalizados.
Os modelos nas APIs do Kit de ML podem ser instalados de três maneiras:
- Desagrupados:os modelos são transferidos por download e gerenciados pelo Google Play Services.
- Agrupado:os modelos são vinculados estaticamente ao app no tempo de build.
- 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 Kit de ML:
Desagrupado | 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 | ✅ | ||
Leitor de documentos | ✅ | ||
Segmentação de assuntos | ✅ | ||
Leitor de código do Google | ✅ | ||
Identificação de idioma | ✅ | ✅ | |
Tradução | ✅ | ||
Resposta inteligente | ✅ | ✅ | |
Extração de entidades | ✅ |
Guias específicos da 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 | Agrupado | 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 | Contribuem 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? | Atualizada automaticamente quando uma versão mais recente é lançada | É preciso atualizar o app para atualizar o modelo | É preciso atualizar o app para atualizar o modelo |
Quando é feito o download dos modelos? | É preciso fazer o download dos modelos antes do uso | Todos os modelos e recursos são incluídos quando o app é instalado, por isso 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 do modelo 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 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:
- Conclua a funcionalidade do recurso imediatamente após a instalação do app
- Recurso de funcionalidade sem conexão de rede após a instalação do app
Use a opção desagrupada 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, você pode especificar como quer que os modelos sejam transferidos para o dispositivo:
É possível ativar os downloads do modelo de tempo de 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 após a instalação do app pela 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 o download explícito por meio da API ModuleInstallClient do Google Play Services.
Se você não ativar os downloads do modelo de tempo de instalação ou solicitar o download explícito, o modelo será transferido na primeira vez que você executar o recurso. As solicitações de inferência vão falhar até que o download seja concluído.
Como atualizar modelos
Para atualizar seus modelos ao usar o modelo empacotado ou a opção de modelos transferidos dinamicamente:
Atualize o arquivo do 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.2.0' // The latest version number of the API }
Recrie o 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 tinta digital oferece suporte a mais de 300 idiomas, e nem sempre é necessário inserir todos os idiomas no recurso durante a instalação. Para isso, fornecemos a terceira opção de instalação, em que os modelos são transferidos sob demanda após a instalação. Atualmente, apenas Reconhecimento de tinta digital, Tradução e Extração de entidades têm essa opção.