Por padrão, todos os recursos do Kit de ML usam modelos de machine learning treinados pelo Google, conhecidos como modelos base. Este guia se aplica somente aos modelos básicos. Consulte este link para 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.
- Em pacote: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 ML Kit:
Desagrupados | Pacotes | 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 | ✅ |
Os guias específicos da API mostram as opções de instalação disponíveis para a API especificada.
Principais diferenças entre as opções de instalação
Desagrupados | Em pacote | Download dinâmico | |
Onde os modelos são armazenados? | Reside no Google Play Services e não é contabilizado no armazenamento usado pelo 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 |
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 é 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 | É preciso gerenciar manualmente os downloads, as atualizações e as exclusões de modelos 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 transferidos por download são removidos do armazenamento específico do app quando ele é 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
- Funcionalidade de recursos 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 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 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>
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 o download explícito, o download do modelo será feito na primeira vez que você executar o recurso. As solicitações de inferência vão falhar até a conclusão do download.
Como atualizar modelos
Para atualizar os modelos ao usar o modelo empacotado ou a opção de modelos baixados dinamicamente:
Atualize o arquivo Gradle do 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 }
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 empacotar. Por exemplo, o reconhecimento de tinta digital oferece suporte a mais de 300 idiomas e nem sempre é necessário incluir todos os idiomas no recurso durante a instalação. Para isso, oferecemos a terceira opção de instalação, em que o download dos modelos é feito sob demanda após a instalação. Atualmente, apenas o reconhecimento de tinta digital, a Translation e a Extração de entidade têm essa opção.