अगर आपने कस्टम मॉडल होस्ट करने के लिए, Firebase Machine Learning का इस्तेमाल किया है, तो आपको किसी दूसरे प्लैटफ़ॉर्म पर माइग्रेट करना होगा. ऐसा इसलिए, क्योंकि Firebase ML की होस्टिंग सेवा 15 जून, 2027 को बंद हो जाएगी.
एक विकल्प यह है कि मॉडल होस्ट करने के लिए, Firebase के लिए Cloud Storage का इस्तेमाल किया जाए. Firebase ML से Cloud Storage पर अपने मॉडल माइग्रेट करने के लिए, यह गाइड पढ़ें.
अपने TensorFlow लाइट मॉडल डाउनलोड करना
अगर आपके मॉडल, डिवाइस पर सेव नहीं हैं, तो उन्हें अपने Firebase प्रोजेक्ट से डाउनलोड करें. इसके लिए, आपके पास दो विकल्प हैं:
Firebase कंसोल से, एक-एक करके मॉडल डाउनलोड करना
- Firebase कंसोल में, मशीन लर्निंग पेज का सेक्शन खोलें.
- माइग्रेट करने के लिए, हर मॉडल के तीन बिंदु वाले ओवरफ़्लो मेन्यू पर क्लिक करें. इसके बाद, मॉडल डाउनलोड करें पर क्लिक करें.
होस्ट किए गए सभी मॉडल एक साथ डाउनलोड करना
- Firebase कंसोल में, मशीन लर्निंग पेज खोलें.
- प्रोजेक्ट में मौजूद सभी मॉडल डाउनलोड करने के लिए,
curlकमांड पाने के लिए, एक साथ डाउनलोड करने के लिए कमांड पाएं बटन पर क्लिक करें. ये यूआरएल, सात दिनों में काम करना बंद कर देंगे. - अपने लोकल टर्मिनल या
Cloud Shell में, कमांड चलाएं. Cloud Shell का इस्तेमाल करते समय, ध्यान दें कि इसमें डिस्क स्टोरेज की सीमा
5 जीबी है.
कमांड से, आपके मॉडल
hosted_modelsनाम के लोकल फ़ोल्डर में डाउनलोड हो जाएंगे.
Cloud Storage का इस्तेमाल करके मॉडल होस्ट करना
मॉडल को लोकल तौर पर सेव करने के बाद, आपको उन्हें Cloud Storage बकेट में अपलोड करना होगा.
अपलोड करने का ऐसा तरीका चुनें जो आपकी ज़रूरत के हिसाब से हो:
एक-एक करके मॉडल अपलोड करना
- स्टोरेज बकेट बनाना: Firebase कंसोल में, डेटाबेस और स्टोरेज > स्टोरेज पर जाएं. अगर आपने पहले से कोई बकेट नहीं बनाई है, तो उसे बनाने के लिए, ऑनबोर्डिंग के चरणों का पालन करें. ध्यान दें कि इसके लिए, बिलिंग खाता होना ज़रूरी है. ज़्यादा जानकारी के लिए, Firebase की कीमत देखें.
- स्टोरेज सेक्शन में रहते हुए,
.tfliteमॉडल फ़ाइलें, अपनी पसंद के पाथ पर अपलोड करें.
एक साथ कई मॉडल अपलोड करना
- स्टोरेज बकेट बनाना: Firebase कंसोल में, डेटाबेस और स्टोरेज > स्टोरेज पर जाएं. अगर आपने पहले से कोई बकेट नहीं बनाई है, तो उसे बनाने के लिए, ऑनबोर्डिंग के चरणों का पालन करें. ध्यान दें कि इसके लिए, बिलिंग खाता होना ज़रूरी है. ज़्यादा जानकारी के लिए, Firebase की कीमत देखें.
अपने लोकल
hosted_modelsफ़ोल्डर से सभी मॉडल अपलोड करने के लिए, यहgcloudकमांड इस्तेमाल करें:gcloud storage rsync --recursive ./hosted_models gs://<your-storage-bucket>/models/
सुरक्षा और ऐप्लिकेशन इंटिग्रेशन कॉन्फ़िगर करना
पक्का करें कि आपके स्टोरेज के सुरक्षा नियमों के तहत, आपका ऐप्लिकेशन मॉडल फ़ाइलें पढ़ सके. उदाहरण के लिए, पुष्टि किए गए उपयोगकर्ताओं के लिए ऐक्सेस सीमित किया जा सकता है.
अपने ऐप्लिकेशन में स्टोरेज जोड़ना: Android, Apple, या Flutter के लिए सेटअप गाइड का पालन करें.
अपने नए स्टोरेज बकेट से
.tfliteफ़ाइलें डाउनलोड करने के लिए, अपने ऐप्लिकेशन का कोड अपडेट करें.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; } });मॉडल डाउनलोड होने के बाद, उसे लोड करने और इस्तेमाल करने के लिए, अपनी मौजूदा Tensorflow Lite लाइब्रेरी का इस्तेमाल किया जा सकता है.
(ज़रूरी नहीं) अपने ऐप्लिकेशन में मॉडल पाडल पाथ को डाइनैमिक तरीके से अपडेट करने के लिए, Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल किया जा सकता है. इसके लिए, ऐप्लिकेशन का नया वर्शन रिलीज़ करने की ज़रूरत नहीं होती.
ज़रूरी नहीं: LiteRT CompiledModel API पर माइग्रेट करना
अगर आपका ऐप्लिकेशन अब भी पुराने TensorFlow Lite Interpreter API का इस्तेमाल करता है, तो LiteRT CompiledModel API पर माइग्रेट करें. यह API, पुराने API के मुकाबले बेहतर हार्डवेयर ऐक्सेलरेशन सपोर्ट और अन्य सुधार उपलब्ध कराता है.