Si vous utilisez Firebase Machine Learning pour héberger des modèles personnalisés, vous devez migrer vers une autre solution avant l'arrêt du service d'hébergement Firebase ML le 15 juin 2027.
Vous pouvez par exemple héberger vos modèles à l'aide de Cloud Storage pour Firebase. Suivez ce guide pour migrer vos modèles de Firebase ML vers Cloud Storage.
Télécharger vos modèles TensorFlow Lite
Si vos modèles ne sont pas déjà stockés localement, téléchargez-les depuis votre projet Firebase. Pour ce faire, vous avez deux possibilités :
Télécharger les modèles un par un depuis la console Firebase
- Ouvrez la section Machine Learning de la page dans la console Firebase.
- Pour chaque modèle que vous souhaitez migrer, cliquez sur le menu à trois points, puis sur Télécharger le modèle.
Télécharger tous vos modèles hébergés de manière groupée
- Ouvrez la page Machine Learning dans la console Firebase.
- Cliquez sur le bouton Obtenir la commande pour le téléchargement groupé afin d'obtenir une commande
curlqui télécharge tous les modèles du projet. Ces URL expireront dans sept jours. - Exécutez la commande dans votre terminal local ou dans
Cloud Shell. Si vous utilisez Cloud Shell, notez sa
limite de stockage sur disque de 5 Go.
La commande téléchargera vos modèles dans un dossier local nommé
hosted_models.
Héberger vos modèles à l'aide de Cloud Storage
Une fois vos modèles disponibles localement, vous devez les importer dans un bucket Cloud Storage.
Choisissez la méthode d'importation qui correspond à vos besoins :
Importer vos modèles un par un
- Créez un bucket Storage : dans la console Firebase, accédez à Bases de données et stockage > Storage , puis suivez les étapes d'intégration pour créer un bucket si vous ne l'avez pas déjà fait. Notez que cela nécessite un compte de facturation. Pour en savoir plus, consultez la page Tarifs de Firebase.
- Toujours dans la section Storage, importez vos fichiers de modèle
.tflitedans le chemin souhaité.
Importer vos modèles de manière groupée
- Créez un bucket Storage : dans la console Firebase, accédez à Bases de données et stockage > Storage , puis suivez les étapes d'intégration pour créer un bucket si vous ne l'avez pas déjà fait. Notez que cela nécessite un compte de facturation. Pour en savoir plus, consultez la page Tarifs de Firebase.
Utilisez la commande
gcloudsuivante pour importer tous les modèles de votre dossier localhosted_models:gcloud storage rsync --recursive ./hosted_models gs://<your-storage-bucket>/models/
Configurer la sécurité et l'intégration des applications
Assurez-vous que vos règles de sécurité Storage autorisent votre application à lire les fichiers de modèle. Vous pouvez par exemple limiter l'accès aux utilisateurs authentifiés.
Ajoutez Storage à votre application : suivez les guides de configuration pour Android, Apple, ou Flutter.
Mettez à jour le code de votre application pour télécharger les fichiers
.tflitedepuis votre nouveau bucket Storage.Android
modelRef = storage.getReferenceFromUrl("gs://YOUR_BUCKET/path/to/model.tflite") val localFile = File.createTempFile("models", "tflite") modelRef.getFile(localFile).addOnSuccessListener { // Local temp file has been created }.addOnFailureListener { // Handle any errors }Apple
let gsReference = storage.reference(forURL: "gs://YOUR_BUCKET/path/to/model.tflite") // Create local filesystem URL let localURL = URL(string: "path/to/model.tflite")! // Download to the local filesystem let downloadTask = gsReference.write(toFile: localURL) { url, error in if let error = error { // Uh-oh, an error occurred! } else { // Local file URL for "model.tflite" is returned } }Flutter
final modelRef = FirebaseStorage.instance.refFromURL("gs://YOUR_BUCKET/path/to/model.tflite"); final appDocDir = await getApplicationDocumentsDirectory(); final filePath = "${appDocDir.absolute}/models/model.tflite"; final file = File(filePath); final downloadTask = modelRef.writeToFile(file); downloadTask.snapshotEvents.listen((taskSnapshot) { switch (taskSnapshot.state) { case TaskState.running: // TODO: Handle this case. break; case TaskState.paused: // TODO: Handle this case. break; case TaskState.success: // TODO: Handle this case. break; case TaskState.canceled: // TODO: Handle this case. break; case TaskState.error: // TODO: Handle this case. break; } });Une fois le modèle téléchargé, vous pouvez utiliser votre bibliothèque Tensorflow Lite existante pour le charger et l'utiliser.
(Facultatif) Envisagez d'utiliser Firebase Remote Config pour mettre à jour de manière dynamique les chemins d'accès aux modèles dans votre application sans nécessiter de nouvelle version.
Facultatif : Migrer vers l'API LiteRT CompiledModel
Si votre application utilise toujours l'ancienne API TensorFlow Lite Interpreter, envisagez
de migrer vers l'API CompiledModelLiteRT,
qui offre une meilleure prise en charge de l'accélération matérielle et d'autres améliorations par rapport à
l'ancienne API.