إذا كان تطبيقك يستخدم تنسيقًا مخصّصًا TensorFlow Lite، يمكنك استخدام تعلُّم الآلة في Firebase لنشر نماذجك. من خلال نشر النماذج باستخدام Firebase، يمكنك يمكنك تقليل حجم التنزيل الأولي لتطبيقك وتعديل نماذج تعلُّم الآلة الخاصة به. بدون طرح إصدار جديد من التطبيق وباستخدام "الإعداد عن بُعد" وA/B الاختبار، يمكنك عرض نماذج مختلفة بشكل ديناميكي لمجموعات مختلفة من المستخدمين.
طُرز TensorFlow Lite
نماذج TensorFlow Lite هي نماذج تعلُّم الآلة التي تم تحسينها لتعمل على الأجهزة الجوّالة. الأجهزة. للحصول على نموذج TensorFlow Lite، اتّبِع الخطوات التالية:
- استخدام نموذج مصمّم مسبقًا، مثل أحد طُرز TensorFlow Lite الرسمية
- تحويل نموذج TensorFlow أو نموذج Keras أو دالة الخرسانة إلى TensorFlow Lite.
تجدر الإشارة إلى أنّه في حال عدم توفّر مكتبة TensorFlow Lite محفوظة لـ Dart، التكامل مع مكتبة TensorFlow Lite الأصلية الأساسية. هذا الدمج غير موثَّق هنا.
قبل البدء
تثبيت حِزم تطوير البرامج (SDK) لمنصة Firebase وإعدادها من أجل Flutter إذا لم تكن قد قمت بذلك بالفعل.
من الدليل الجذري لمشروع Flutter، شغِّل ما يلي: لتثبيت المكوّن الإضافي لأداة تنزيل نموذج تعلُّم الآلة:
flutter pub add firebase_ml_model_downloader
إعادة إنشاء مشروعك:
flutter run
1- نشر النموذج
انشر نماذج TensorFlow المخصّصة باستخدام وحدة تحكُّم Firebase أو حزم تطوير البرامج (SDK) الخاصة بمشرفي Firebase وهما Python وNode.js. عرض نشر النماذج المخصَّصة وإدارتها
بعد إضافة نموذج مخصّص إلى مشروعك على Firebase، يمكنك الرجوع إلى
النموذج في تطبيقاتك باستخدام الاسم الذي حددته. يمكنك في أي وقت نشر
نموذج TensorFlow Lite الجديد وتنزيل النموذج الجديد على حسابات المستخدمين الأجهزة بواسطة
الاتصال بـ getModel()
(انظر أدناه).
2- تنزيل النموذج على الجهاز وإعداد أداة الترجمة الفورية من TensorFlow Lite
لاستخدام نموذج TensorFlow Lite في تطبيقك، عليك أولاً استخدام أداة تنزيل النموذج. لتنزيل أحدث إصدار من الطراز على الجهاز. ثم، قم بإنشاء مثيل أداة الترجمة الفورية من TensorFlow Lite باستخدام النموذج.
لبدء تنزيل النموذج، يمكنك استدعاء طريقة getModel()
لأداة تنزيل النموذج،
تحديد الاسم الذي عينته للنموذج عند تحميله، سواء
ترغب دائمًا في تنزيل أحدث طراز، والحالات التي بموجبها
يريدون السماح بالتنزيل.
يمكنك الاختيار من بين ثلاثة سلوكيات للتنزيل:
نوع عملية التنزيل | الوصف |
---|---|
localModel
|
الحصول على الطراز المحلي من الجهاز
في حال عدم توفُّر نموذج محلي، سيتم
يتصرف مثل latestModel . استخدام هذه المسودة
نوع التنزيل إذا لم تكن مهتمًا
البحث عن تحديثات النموذج. على سبيل المثال:
تستخدم "الإعداد عن بُعد" لاسترداد
أسماء النماذج ودائمًا تحميل النماذج
تحت أسماء جديدة (يُنصح بهذا الخيار) |
localModelUpdateInBackground
|
الحصول على الطراز المحلي من الجهاز
تحديث النموذج في الخلفية.
في حال عدم توفُّر نموذج محلي، سيتم
يتصرف مثل latestModel . |
latestModel
|
احصل على أحدث طراز. إذا كان النموذج المحلي يعرض أحدث إصدار، الأمثل. أو يمكنك تنزيل أحدث إصدار الأمثل. سيتم حظر هذا السلوك حتى تنزيل أحدث إصدار (ليس (يوصى به). لا تستخدم هذا السلوك إلا في الحالات التي تحتاج فيها صراحة إلى أحدث . |
ينبغي لك تعطيل الوظائف المتعلقة بالنموذج، على سبيل المثال، الوضع الرمادي أو إخفاء جزء من واجهة المستخدم — إلى أن تتأكد من تنزيل النموذج.
FirebaseModelDownloader.instance
.getModel(
"yourModelName",
FirebaseModelDownloadType.localModel,
FirebaseModelDownloadConditions(
iosAllowsCellularAccess: true,
iosAllowsBackgroundDownloading: false,
androidChargingRequired: false,
androidWifiRequired: false,
androidDeviceIdleRequired: false,
)
)
.then((customModel) {
// Download complete. Depending on your app, you could enable the ML
// feature, or switch from the local model to the remote model, etc.
// The CustomModel object contains the local path of the model file,
// which you can use to instantiate a TensorFlow Lite interpreter.
final localModelPath = customModel.file;
// ...
});
تبدأ العديد من التطبيقات مهمة التنزيل من خلال رمز الإعداد الخاص بها، ولكن يمكنك إجراء ذلك لذا في أي وقت قبل أن تحتاج إلى استخدام النموذج.
3- إجراء استنتاج على بيانات الإدخال
الآن بعد أن يتوفّر لديك ملف الطراز على الجهاز، يمكنك استخدامه مع أداة الترجمة الفورية من TensorFlow Lite لإجراء الاستنتاج. في حالة عدم وجود مكتبة TensorFlow Lite لـ Dart، ستحتاج إلى الدمج مع مكتبات TensorFlow Lite الأصلية لأجهزة iOS وAndroid.
الملحق: أمان النموذج
بغض النظر عن كيفية إتاحة طُرز TensorFlow Lite تخزنها تكنولوجيا تعلُّم الآلة في Firebase، بتنسيق أولي تسلسلي عادي التخزين المحلي.
ومن الناحية النظرية، يعني هذا أنه بإمكان أي شخص نسخ نموذجك. ومع ذلك، عمليًا، تكون معظم النماذج خاصة بالتطبيقات ومشوَّشة بواسطة تتشابه المخاطر مع تلك الخاصة بالمنافسين الذين يقومون بتفكيكها إعادة استخدام التعليمات البرمجية. ومع ذلك، يجب أن تكون على دراية بهذا الخطر قبل استخدام نموذج مخصص في تطبيقك.