Özel modelleri barındırmak için Firebase Machine Learning'i kullanıyorsanız Firebase ML barındırma hizmeti 15 Haziran 2027'de kapatılmadan önce başka bir çözüme geçmeniz gerekir.
Kullanabileceğiniz bir alternatif, modellerinizi Firebase için Cloud Storage'ı kullanarak barındırmaktır. Modellerinizi Firebase ML'den Cloud Storage'a taşımak için bu kılavuzu inceleyin.
TensorFlow Lite modellerinizi indirme
Modelleriniz henüz yerel olarak depolanmıyorsa bunları Firebase projenizden indirin. Bunu yapmak için iki seçeneğiniz vardır:
Bunları Firebase konsolundan tek tek indirin.
- Firebase konsolunda Makine Öğrenimi sayfa bölümünü açın.
- Taşımak istediğiniz her model için üç nokta taşma menüsünü, ardından Modeli indir'i tıklayın.
Barındırılan tüm modellerinizi toplu olarak indirme
- Firebase konsolunda Machine Learning sayfasını açın.
- Projedeki tüm modelleri indiren bir
curlkomutu almak için Toplu indirme komutunu al düğmesini tıklayın. Bu URL'lerin süresi 7 gün içinde dolacak. - Komutu yerel terminalinizde veya Cloud Shell'de çalıştırın. Cloud Shell kullanıyorsanız 5 GB disk depolama alanı sınırını unutmayın.
Bu komut, modellerinizi
hosted_modelsadlı yerel bir klasöre indirir.
Cloud Storage'ı kullanarak modellerinizi barındırma
Modellerinizi yerel olarak aldıktan sonra bir Cloud Storage paketine yüklemeniz gerekir.
İhtiyaçlarınıza uygun yükleme yöntemini seçin:
Modellerinizi teker teker yükleme
- Storage paketi oluşturun: Firebase konsolunda Veritabanları ve Depolama > Storage'a gidin ve daha önce oluşturmadıysanız paket oluşturmak için ilk katılım adımlarını uygulayın. Bunun için faturalandırma hesabı gerektiğini unutmayın. Ayrıntılar için Firebase fiyatlandırması bölümüne bakın.
- Hâlâ Depolama bölümündeyken
.tflitemodel dosyalarınızı istediğiniz yola yükleyin.
Modellerinizi toplu olarak yükleme
- Storage paketi oluşturun: Firebase konsolunda Veritabanları ve Depolama > Storage'a gidin ve daha önce oluşturmadıysanız paket oluşturmak için ilk katılım adımlarını uygulayın. Bunun için faturalandırma hesabı gerektiğini unutmayın. Ayrıntılar için Firebase fiyatlandırması bölümüne bakın.
Yerel
gcloudklasörünüzdeki tüm modelleri yüklemek için aşağıdaki komutu kullanın:hosted_modelsgcloud storage rsync --recursive ./hosted_models gs://<your-storage-bucket>/models/
Güvenliği ve uygulama entegrasyonunu yapılandırma
Depolama güvenlik kurallarınızın, uygulamanızın model dosyalarını okumasına izin verdiğinden emin olun. Örneğin, erişimi kimliği doğrulanmış kullanıcılarla kısıtlayabilirsiniz.
Uygulamanıza depolama alanı ekleyin: Android, Apple veya Flutter için kurulum kılavuzlarını uygulayın.
Uygulama kodunuzu güncelleyerek yeni Storage paketinize yüklediğiniz
.tflitedosyalarını indirin.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; } });Model indirildikten sonra, modeli yüklemek ve kullanmak için mevcut TensorFlow Lite kitaplığınızı kullanabilirsiniz.
(İsteğe bağlı) Yeni bir sürüm yayınlamanıza gerek kalmadan uygulamanızdaki model yollarını dinamik olarak güncellemek için Firebase Remote Config'i kullanmayı düşünebilirsiniz.
İsteğe bağlı: LiteRT CompiledModel API'ye geçiş yapma
Uygulamanız hâlâ eski TensorFlow Lite Interpreter API'sini kullanıyorsa LiteRT CompiledModel API'ye geçmeyi düşünebilirsiniz. Bu API, eski API'ye kıyasla donanım hızlandırma desteği ve başka iyileştirmeler sunar.