Guide de migration

Le 3 juin 2020, nous avons apporté des modifications à ML Kit pour Firebase afin de mieux distinguer les API sur l'appareil des API dans le cloud. L'ensemble actuel d'API est désormais divisé en deux produits:

  • Un nouveau produit, appelé simplement ML Kit, qui contiendra toutes les API installées sur l'appareil

  • Firebase Machine Learning, axé sur les API basées sur le cloud et le déploiement de modèles personnalisés.

Ce changement facilitera également l'intégration de ML Kit à 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 ML Kit autonome.

  • Lecture de codes-barres
  • Détection de visages
  • Étiquetage d'images
  • Détectez les objets et assurez leur suivi.
  • Reconnaissance de texte
  • ID de langue
  • Réponse suggérée
  • Traduction
  • API d'inférence AutoML Vision Edge

Les API de base existantes sur 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 de ML Kit pour Android et du guide de migration de ML Kit pour iOS.

API de modèles personnalisés

Pour le téléchargement de modèles hébergés dans Firebase, l'outil 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èles 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 ne souhaitez utiliser que des modèles personnalisés pour l'étiquetage d'images et les API de détection et de suivi d'objets, vous pouvez désormais utiliser des modèles personnalisés directement dans ces API de 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 cloud d'étiquetage d'images, 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 de modèles

Questions fréquentes

Pourquoi ce changement ?

Cette modification a pour but de 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 auparavant restent disponibles via Firebase ML et vous pouvez toujours les utiliser parallèlement aux API ML Kit.

Pour les API sur 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 des API sur l'appareil.

Qu'advient-il de mes modèles hébergés par Firebase ?

Firebase Machine Learning continuera de diffuser vos modèles comme auparavant. 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 avec l'environnement d'exécution TensorFlow Lite. Le SDK Firebase télécharge le modèle sur l'appareil, et 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 une version personnalisée.

Quels sont les avantages de la migration vers le nouveau SDK ML Kit ?

En migrant vers le nouveau SDK, vous vous assurez que vos applications bénéficieront des dernières corrections de bugs et améliorations apportées aux API sur l'appareil. Par exemple, voici quelques modifications apportées dans la première version:

  • Vous pouvez maintenant utiliser les nouvelles API d'étiquetage personnalisé des images et de détection et suivi d'objets personnalisés pour intégrer facilement des modèles de classification d'images personnalisés à vos applications et créer des expériences utilisateur interactives en temps réel.

  • La prise en charge du cycle de vie d'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 ML Kit lorsque l'application subit une rotation ou une fermeture de l'écran 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 aujourd'hui ML Kit pour Firebase. Quand dois-je effectuer la migration ?

Tout dépend des API 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, si vous retardez le passage au nouveau SDK ML Kit, vous ne bénéficierez pas des nouvelles fonctionnalités et mises à jour. De plus, une fois que vous avez mis à jour d'autres composants de 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 Kit pour Firebase. OkHttp et firebase-common sont des exemples de bibliothèques où cela peut se produire.

  • Si vous utilisez des API Cloud via le SDK ML Kit pour Firebase, aucune modification n'est requise pour le moment.

  • Si vous utilisez le déploiement de modèles personnalisés, nous vous recommandons de passer à la dernière version, qui permet d'exécuter des inférences directement sur l'environnement d'exécution TensorFlow Lite.