اگر از یادگیری ماشینی فایربیس برای میزبانی مدلهای سفارشی استفاده میکنید، باید قبل از اینکه سرویس میزبانی فایربیس امال در ۱۵ ژوئن ۲۰۲۷ غیرفعال شود، به راهکار دیگری مهاجرت کنید.
یکی از گزینههایی که میتوانید استفاده کنید این است که مدلهای خود را با استفاده از فضای ذخیرهسازی ابری برای فایربیس میزبانی کنید. برای انتقال مدلهای خود از فایربیس امال به فضای ذخیرهسازی ابری، این راهنما را دنبال کنید.
مدلهای TensorFlow Lite خود را دانلود کنید
اگر مدلهای خود را از قبل به صورت محلی ذخیره نکردهاید، آنها را از پروژه Firebase خود دانلود کنید. برای این کار دو گزینه دارید:
آنها را یکی یکی از کنسول Firebase دانلود کنید
- بخش صفحه یادگیری ماشین را در کنسول Firebase باز کنید.
- برای هر مدلی که میخواهید منتقل کنید، روی منوی سهنقطهای آن کلیک کنید، سپس روی «دانلود مدل» کلیک کنید.
تمام مدلهای میزبانی شده خود را به صورت عمده دانلود کنید
- صفحه یادگیری ماشین را در کنسول Firebase باز کنید.
- برای دریافت دستور
curlکه تمام مدلهای موجود در پروژه را دانلود میکند، روی دکمهی Get command for bulk download کلیک کنید. این URLها ظرف ۷ روز منقضی میشوند. - دستور را در ترمینال محلی خود یا در Cloud Shell اجرا کنید. اگر از Cloud Shell استفاده میکنید، به محدودیت ۵ گیگابایتی فضای ذخیرهسازی دیسک آن توجه کنید. این دستور مدلهای شما را در یک پوشه محلی به نام
hosted_modelsدانلود میکند.
مدلهای خود را با استفاده از فضای ذخیرهسازی ابری میزبانی کنید
وقتی مدلهای خود را به صورت محلی دارید، باید آنها را در یک فضای ذخیرهسازی ابری آپلود کنید.
روش آپلودی را انتخاب کنید که با نیازهای شما مطابقت داشته باشد:
مدلهای خود را یکییکی آپلود کنید
- ایجاد یک مخزن ذخیرهسازی: در کنسول Firebase، به مسیر Databases & Storage > Storage بروید و مراحل راهاندازی را برای ایجاد یک مخزن دنبال کنید، البته اگر قبلاً این کار را نکردهاید. توجه داشته باشید که این کار نیاز به یک حساب کاربری دارد؛ برای جزئیات بیشتر به بخش قیمتگذاری Firebase مراجعه کنید.
- همچنان در بخش Storage ، فایلهای مدل
.tfliteخود را در مسیر دلخواه آپلود کنید.
مدلهای خود را به صورت عمده آپلود کنید
- ایجاد یک مخزن ذخیرهسازی: در کنسول Firebase، به مسیر Databases & Storage > Storage بروید و مراحل راهاندازی را برای ایجاد یک مخزن دنبال کنید، البته اگر قبلاً این کار را نکردهاید. توجه داشته باشید که این کار نیاز به یک حساب کاربری دارد؛ برای جزئیات بیشتر به بخش قیمتگذاری Firebase مراجعه کنید.
از دستور
gcloudزیر برای آپلود همه مدلها از پوشهhosted_modelsمحلی خود استفاده کنید:gcloud storage rsync --recursive ./hosted_models gs://<your-storage-bucket>/models/
پیکربندی امنیت و ادغام برنامه
مطمئن شوید که قوانین امنیتی ذخیرهسازی شما به برنامه شما اجازه میدهد فایلهای مدل را بخواند. برای مثال، میتوانید دسترسی را به کاربران احراز هویت شده محدود کنید.
فضای ذخیرهسازی را به برنامه خود اضافه کنید: راهنماهای راهاندازی را برای اندروید ، اپل یا فلاتر دنبال کنید.
کد برنامه خود را بهروزرسانی کنید تا فایلهای
.tfliteرا از مخزن ذخیرهسازی جدید خود دانلود کنید.اندروید
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 }اپل
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 } }فلوتر
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 Remote Config را برای بهروزرسانی پویای مسیرهای مدل در برنامه خود بدون نیاز به انتشار نسخه جدید در نظر بگیرید.
اختیاری: به LiteRT CompiledModel API مهاجرت کنید
اگر برنامه شما هنوز از API قدیمی TensorFlow Lite Interpreter استفاده میکند، مهاجرت به LiteRT CompiledModel API را در نظر بگیرید، که پشتیبانی از شتاب سختافزاری بهبود یافته و سایر پیشرفتها را نسبت به API قدیمی ارائه میدهد.