Wenn Sie Firebase Machine Learning zum Hosten benutzerdefinierter Modelle, verwenden, müssen Sie zu einer anderen Lösung migrieren, bevor der Firebase ML-Hostingdienst am 15. Juni 2027 eingestellt wird.
Eine Alternative ist, Ihre Modelle stattdessen mit Cloud Storage for Firebase zu hosten. Folgen Sie dieser Anleitung, um Ihre Modelle von Firebase ML zu Cloud Storage zu migrieren.
TensorFlow Lite-Modelle herunterladen
Wenn Ihre Modelle noch nicht lokal gespeichert sind, laden Sie sie aus Ihrem Firebase-Projekt herunter. Dazu haben Sie zwei Möglichkeiten:
Modelle einzeln aus der Firebase Console herunterladen
- Öffnen Sie in der Firebase Console den Bereich Machine Learning.
- Klicken Sie für jedes Modell, das Sie migrieren möchten, auf das Dreipunkt-Menü und dann auf Modell herunterladen.
Alle gehosteten Modelle im Bulk herunterladen
- Öffnen Sie in der Firebase Console die Seite Machine Learning.
- Klicken Sie auf die Schaltfläche Befehl für Bulk-Download abrufen , um einen
curl-Befehl zu erhalten, mit dem alle Modelle im Projekt heruntergeladen werden. Diese URLs laufen nach 7 Tagen ab. - Führen Sie den Befehl in Ihrem lokalen Terminal oder in
Cloud Shell aus. Wenn Sie Cloud Shell verwenden, beachten Sie das
Speicherlimit von 5 GB.
Mit dem Befehl werden Ihre Modelle in einen lokalen Ordner namens
hosted_modelsheruntergeladen.
Modelle mit Cloud Storage hosten
Sobald Sie Ihre Modelle lokal haben, müssen Sie sie in einen Cloud Storage-Bucket hochladen.
Wählen Sie die Upload-Methode aus, die Ihren Anforderungen entspricht:
Modelle einzeln hochladen
- Erstellen Sie einen Storage-Bucket: Rufen Sie in der Firebase Console Datenbanken & Speicher > Storage auf und folgen Sie der Anleitung, um einen Bucket zu erstellen, falls noch nicht geschehen. Dazu ist ein Abrechnungskonto erforderlich. Weitere Informationen finden Sie unter Firebase-Preise.
- Laden Sie im Bereich Storage Ihre
.tflite-Modelldateien in den gewünschten Pfad hoch.
Modelle im Bulk hochladen
- Erstellen Sie einen Storage-Bucket: Rufen Sie in der Firebase Console Datenbanken & Speicher > Storage auf und folgen Sie der Anleitung, um einen Bucket zu erstellen, falls noch nicht geschehen. Dazu ist ein Abrechnungskonto erforderlich. Weitere Informationen finden Sie unter Firebase-Preise.
Verwenden Sie den folgenden
gcloud-Befehl, um alle Modelle aus Ihrem lokalen Ordnerhosted_modelshochzuladen:gcloud storage rsync --recursive ./hosted_models gs://<your-storage-bucket>/models/
Sicherheit und App-Integration konfigurieren
Achten Sie darauf, dass Ihre Storage-Sicherheitsregeln Ihrer App das Lesen der Modelldateien erlauben. Sie können den Zugriff beispielsweise auf authentifizierte Nutzer beschränken.
Fügen Sie Ihrer App Storage hinzu: Folgen Sie der Einrichtungsanleitung für Android, Apple, oder Flutter.
Aktualisieren Sie Ihren Anwendungscode, um die
.tflite-Dateien aus Ihrem neuen Storage-Bucket herunterzuladen.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; } });Sobald das Modell heruntergeladen wurde, können Sie es mit Ihrer vorhandenen TensorFlow Lite-Bibliothek laden und verwenden.
Optional: Sie können Firebase Remote Config verwenden, um Modellpfade in Ihrer App dynamisch zu aktualisieren, ohne dass eine neue Version erforderlich ist.
Optional: Zur LiteRT CompiledModel API migrieren
Wenn Ihre App noch die Legacy-TensorFlow Lite Interpreter API verwendet, sollten Sie zur LiteRT CompiledModel API migrieren. Diese bietet eine verbesserte Hardwarebeschleunigung und andere Verbesserungen gegenüber der Legacy-API.