Le 3 juin 2020, nous avons apporté des modifications à ML Kit pour Firebase afin de mieux distinguer les API de l'appareil des API basées sur le cloud. L'ensemble actuel d'API est maintenant divisé en deux produits:
Un nouveau produit, simplement appelé ML Kit, qui contiendra toutes les API de l'appareil
Firebase Machine Learning, axé sur les API basées sur le cloud et sur le déploiement de modèles personnalisés.
Cette modification facilitera également l'intégration de ML Kit dans votre application si vous n'avez besoin que d'une solution sur l'appareil. Ce document explique comment migrer votre application du SDK Firebase ML Kit vers le nouveau SDK ML Kit.
Ce qui change
API de base sur l'appareil
Les API suivantes ont été transférées vers le nouveau SDK autonome pour ML Kit.
- Lecture de codes-barres
- Détection de visages
- Étiquette d'image
- Détectez les objets et assurez leur suivi.
- Reconnaissance de texte
- ID de langue
- Réponse suggérée
- Traduire
- API d'inférence AutoML Vision Edge
Les API de base existantes dans l'appareil du SDK ML Kit pour Firebase sont obsolètes et ne recevront plus de mises à jour.
Si vous utilisez ces API dans votre application aujourd'hui, veuillez migrer vers le nouveau SDK ML Kit en suivant les instructions du guide de migration ML Kit pour Android et du guide de migration ML Kit pour iOS.
API de modèles personnalisés
Pour télécharger des modèles hébergés dans Firebase, le programme de téléchargement de modèles personnalisés continue d'être proposé via le SDK Firebase ML. Le SDK récupère le dernier modèle disponible et le transmet à l'environnement d'exécution TensorFlow Lite distinct pour l'inférence.
L'interpréteur de modèle personnalisé existant dans le SDK ML Kit pour Firebase est obsolète et ne recevra plus de mises à jour. Nous vous recommandons d'utiliser directement l'environnement d'exécution TensorFlow Lite pour l'inférence. Si vous souhaitez uniquement utiliser des modèles personnalisés pour les API d'étiquetage d'images, de détection d'objets et de suivi, vous pouvez désormais utiliser des modèles personnalisés directement dans ces API dans ML Kit.
Pour obtenir des instructions détaillées, consultez les guides de migration pour Android et iOS.
Qu'est-ce qui n'a pas changé ?
Les API et services cloud continueront d'être proposés avec Firebase ML:
Les API d'étiquetage d'images dans le cloud, de reconnaissance de texte et de reconnaissance de points de repère sont toujours disponibles dans le SDK Firebase ML.
Firebase ML continue également de proposer le déploiement des modèles.
Questions fréquentes
Pourquoi ce changement ?
Nous apportons cette modification pour clarifier les solutions proposées par le produit. Avec ce changement, le nouveau SDK ML Kit est entièrement axé sur le machine learning sur l'appareil, où tout le traitement des données s'effectue sur l'appareil et est disponible sans frais pour les développeurs. Les services cloud qui faisaient partie de Firebase ML Kit restent disponibles via Firebase ML, et vous pouvez toujours les utiliser en parallèle avec les API ML Kit.
Pour les API de l'appareil, le nouveau SDK ML Kit permet aux développeurs d'intégrer plus facilement ML Kit à leur application. À l'avenir, il vous suffira d'ajouter des dépendances au projet de l'application, puis de commencer à utiliser l'API. Il n'est pas nécessaire de configurer un projet Firebase uniquement pour utiliser les API de l'appareil.
Qu'advient-il de mes modèles hébergés avec Firebase ?
Firebase Machine Learning continuera à diffuser vos modèles comme avant. Cette fonctionnalité ne change pas. Voici quelques améliorations:
Vous pouvez maintenant déployer vos modèles sur Firebase de manière automatisée à l'aide des SDK Python ou Node.
Vous pouvez désormais utiliser le SDK Firebase ML conjointement avec l'environnement d'exécution TensorFlow Lite. Le SDK Firebase télécharge le modèle sur l'appareil, puis l'environnement d'exécution TensorFlow Lite effectue l'inférence. Cela vous permet de choisir facilement la version d'exécution que vous préférez, y compris un build personnalisé.
Quels sont les avantages de la migration vers le nouveau SDK ML ?
La migration vers le nouveau SDK garantit que vos applications bénéficient des dernières corrections de bugs et améliorations apportées aux API de l'appareil. Par exemple, voici quelques modifications apportées à la première version:
Vous pouvez désormais utiliser les nouvelles API d'étiquetage d'images personnalisé et de détection et suivi d'objets personnalisés pour intégrer facilement des modèles de classification d'images personnalisés dans vos applications et créer des expériences utilisateur interactives en temps réel.
La compatibilité avec le cycle de vie Android Jetpack est ajoutée à toutes les API. Vous pouvez désormais utiliser
addObserver
pour gérer automatiquement le lancement et la suppression des API de ML Kit lorsque l'application subit une rotation de l'écran ou une fermeture par l'utilisateur ou le système. Cela facilite l'intégration à CameraX.
La liste complète des dernières modifications est disponible dans les notes de version du SDK ML Kit.
J'utilise ML Kit pour Firebase aujourd'hui. Quand dois-je le migrer ?
Cela dépend des API de ML Kit pour Firebase que vous utilisez actuellement dans votre application.
Les API de base sur l'appareil du SDK ML Kit pour Firebase continueront de fonctionner dans un avenir proche. Toutefois, en retardant le passage au nouveau SDK ML Kit, vous ne bénéficierez pas des nouvelles fonctionnalités et mises à jour. En outre, lorsque vous mettez à jour d'autres composants dans votre application, vous risquez de rencontrer des conflits de dépendances. Cela peut se produire lorsque certaines de vos autres dépendances (directes ou indirectes) sont plus récentes que celles attendues par l'ancien SDK ML pour Firebase. C'est le cas des bibliothèques OkHttp et Firebase Common.
Si vous utilisez les API Cloud via le SDK ML Kit pour Firebase, aucune modification n'est requise pour le moment.
Si vous utilisez le déploiement d'un modèle personnalisé, nous vous recommandons de passer à la dernière version, qui permet d'exécuter des inférences directement dans l'environnement d'exécution TensorFlow Lite.