استخدام نموذج TensorFlow Lite المخصّص مع Flutter

إذا كان تطبيقك يستخدم تنسيقًا مخصّصًا TensorFlow Lite، يمكنك استخدام تعلُّم الآلة في Firebase لنشر نماذجك. من خلال نشر النماذج باستخدام Firebase، يمكنك يمكنك تقليل حجم التنزيل الأولي لتطبيقك وتعديل نماذج تعلُّم الآلة الخاصة به. بدون طرح إصدار جديد من التطبيق وباستخدام "الإعداد عن بُعد" وA/B الاختبار، يمكنك عرض نماذج مختلفة بشكل ديناميكي لمجموعات مختلفة من المستخدمين.

طُرز TensorFlow Lite

نماذج TensorFlow Lite هي نماذج تعلُّم الآلة التي تم تحسينها لتعمل على الأجهزة الجوّالة. الأجهزة. للحصول على نموذج TensorFlow Lite، اتّبِع الخطوات التالية:

تجدر الإشارة إلى أنّه في حال عدم توفّر مكتبة TensorFlow Lite محفوظة لـ Dart، مع مكتبة TensorFlow Lite الأصلية الأساسية. هذا الدمج غير موثَّق هنا.

قبل البدء

  1. تثبيت حِزم تطوير البرامج (SDK) لمنصة Firebase وإعدادها من أجل Flutter إذا لم تكن قد قمت بذلك بالفعل.

  2. من الدليل الجذري لمشروع Flutter، شغِّل ما يلي: لتثبيت المكوّن الإضافي لأداة تنزيل نموذج تعلُّم الآلة:

    flutter pub add firebase_ml_model_downloader
    
  3. إعادة إنشاء مشروعك:

    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 احصل على أحدث طراز. إذا كان النموذج المحلي يعرض الإصدار المحلي model. أو يمكنك تنزيل أحدث إصدار model. سيتم حظر هذا السلوك حتى تنزيل أحدث إصدار (ليس (يوصى به). لا تستخدم هذا السلوك إلا في الحالات التي تحتاج فيها صراحة إلى أحدث .

ينبغي لك تعطيل الوظائف المتعلقة بالنموذج، على سبيل المثال، الوضع الرمادي أو إخفاء جزء من واجهة المستخدم — إلى أن تتأكد من تنزيل النموذج.

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، بتنسيق أولي متسلسل قياسي في التخزين المحلي.

ومن الناحية النظرية، يعني هذا أنه بإمكان أي شخص نسخ نموذجك. ومع ذلك، عمليًا، تكون معظم النماذج خاصة بالتطبيقات ومشوَّشة بواسطة تتشابه المخاطر مع تلك الخاصة بالمنافسين الذين يقومون بتفكيكها إعادة استخدام التعليمة البرمجية. ومع ذلك، يجب أن تكون على دراية بهذه الخطر قبل استخدام نموذج مخصص في تطبيقك.