Par défaut, toutes les fonctionnalités de ML Kit utilisent des modèles de machine learning entraînés par Google (appelés modèles de base). Ce guide ne s'applique qu'aux modèles de base. Cliquez ici pour obtenir des conseils sur les modèles personnalisés.
Les modèles des API ML Kit peuvent être installés de trois manières :
- Non groupés : les modèles sont téléchargés et gérés via les services Google Play.
- Groupés : les modèles sont liés de manière statique à votre application au moment de la compilation.
- Téléchargés de manière dynamique : les modèles sont téléchargés à la demande.
Chemins d'installation compatibles pour chaque API
Le tableau ci-dessous indique les chemins d'installation de modèles compatibles avec chaque fonctionnalité de ML Kit :
| Non groupés | Groupés | Téléchargés de manière dynamique | |
| Reconnaissance de texte v2 | ✅ | ✅ | |
| Détection de visages | ✅ | ✅ | |
| Détection de maillage de visage | ✅ | ||
| Détection des postures | ✅ | ||
| Segmentation de selfie | ✅ | ||
| Lecture de codes-barres | ✅ | ✅ | |
| Attribution de libellés à des images | ✅ | ✅ | |
| Détection d'objets et suivi | ✅ | ||
| Reconnaissance de la saisie manuscrite numérique | ✅ | ||
| Scanner de documents | ✅ | ||
| Segmentation de sujet | ✅ | ||
| Lecteur de code Google | ✅ | ||
| Identification de la langue | ✅ | ✅ | |
| Traduction | ✅ | ||
| Réponse suggérée | ✅ | ✅ | |
| Extraction d'entités | ✅ |
Les guides spécifiques aux API indiquent les options d'installation disponibles pour l'API donnée.
Principales différences entre les options d'installation
| Non groupés | Groupés | Téléchargés de manière dynamique | |
| Où les modèles sont-ils stockés ? | Ils résident dans les services Google Play et ne sont pas comptabilisés dans l'espace de stockage utilisé par cette application. | Ils sont enregistrés dans l'espace de stockage propre à l'application après l'installation. | Ils sont enregistrés dans l'espace de stockage propre à l'application après le téléchargement du modèle. |
| Comment la taille du modèle affecte-t-elle la taille de l'application ? | Elle ne contribue pas à la taille de l'application. | Elle contribue directement à la taille de l'application. | Elle ne contribue pas à la taille de l'application, mais augmente l'espace de stockage propre à l' application. |
| Quand les modèles sont-ils mis à jour ? | Ils sont mis à jour automatiquement lorsqu'une version plus récente est publiée. | Vous devez mettre à jour l'application pour mettre à jour le modèle. | Vous devez mettre à jour l'application pour mettre à jour le modèle. |
| Quand les modèles sont-ils téléchargés ? | Les modèles doivent être téléchargés avant d'être utilisés. | Tous les modèles et toutes les fonctionnalités sont inclus lorsque l'application est installée. Ils sont donc utilisables immédiatement. | Les téléchargements, les mises à jour et les suppressions de modèles doivent être gérés manuellement à l'aide de l'RemoteModelManager . |
| Quand les modèles sont-ils supprimés de l'appareil ? | Les services Google Play ne suppriment le modèle de l'espace de stockage que si toutes les applications qui en dépendent sont désinstallées. | Les modèles sont supprimés de l'espace de stockage propre à l'application lorsque l'application est désinstallée. | Les modèles téléchargés sont supprimés de l'espace de stockage propre à l'application lorsque l'application est désinstallée. |
Comment choisir entre les modèles groupés et non groupés
Si une API est compatible avec les options d'installation groupée et non groupée :
Utilisez l'option groupée si vous privilégiez :
- La fonctionnalité complète immédiatement après l'installation de l'application
- La fonctionnalité sans connexion réseau après l'installation de l'application
Utilisez l'option non groupée si vous privilégiez :
- Une taille d'application plus petite
- Des mises à jour de modèles automatisées par les services Google Play
Comment télécharger des modèles
Lorsque vous utilisez l'option de modèle non groupé, vous pouvez spécifier comment vous souhaitez que les modèles soient téléchargés sur l'appareil :
Vous pouvez activer les téléchargements de modèles au moment de l'installation en ajoutant une déclaration au fichier
AndroidManifest.xmlde votre application. Par exemple, l'extrait de code ci-dessous montre comment configurer votre application pour qu'elle télécharge automatiquement le modèle de lecture de codes-barres après son installation depuis le 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>Vous pouvez demander un téléchargement explicite via l'API ModuleInstallClient des services Google Play.
Si vous n'activez pas les téléchargements de modèles au moment de l'installation ni ne demandez de téléchargement explicite, le modèle sera téléchargé la première fois que vous exécuterez la fonctionnalité. Tant que le téléchargement n'est pas terminé, les requêtes d'inférence échouent.
Comment mettre à jour des modèles
Pour mettre à jour vos modèles lorsque vous utilisez l'option de modèle groupé ou de modèles téléchargés de manière dynamique :
Mettez à jour le fichier Gradle de votre application pour utiliser la dernière bibliothèque cliente de fonctionnalités ML Kit.
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }Recompilez votre application.
Pourquoi certaines API proposent des modèles téléchargés de manière dynamique
Certaines API ML Kit comportent trop d'options de modèles pour être groupées. Par exemple, la reconnaissance de la saisie manuscrite numérique est compatible avec plus de 300 langues, et il n'est pas toujours nécessaire d'inclure toutes les langues dans la fonctionnalité lors de l'installation. C'est pourquoi nous proposons la troisième option d'installation, dans laquelle les modèles sont téléchargés à la demande après l'installation. Actuellement, seules la reconnaissance de la saisie manuscrite numérique, la traduction et l'extraction d'entités proposent cette option.