أضف توصيات إلى تطبيقك باستخدام TensorFlow Lite و Firebase - Android Codelab

1. نظرة عامة

مرحبًا بك في التوصيات مع TensorFlow Lite و Firebase codelab. ستتعلم في مختبر الرموز هذا كيفية استخدام TensorFlow Lite و Firebase لنشر نموذج توصية لتطبيقك. ويستند هذا codelab على هذا TensorFlow لايت سبيل المثال .

تسمح التوصيات للتطبيقات باستخدام التعلم الآلي لتقديم المحتوى الأكثر صلة بكل مستخدم بذكاء. يأخذون في الاعتبار سلوك المستخدم السابق لاقتراح محتوى التطبيق الذي قد يرغب المستخدم في التفاعل معه في المستقبل باستخدام نموذج تم تدريبه على السلوك الكلي لعدد كبير من المستخدمين الآخرين.

يوضح هذا البرنامج التعليمي كيفية الحصول على البيانات من مستخدمي تطبيقك باستخدام Firebase Analytics ، وإنشاء نموذج للتعلم الآلي للتوصيات من تلك البيانات ، ثم استخدام هذا النموذج في تطبيق Android لتشغيل الاستدلال والحصول على التوصيات. على وجه الخصوص ، ستقترح توصياتنا الأفلام التي من المرجح أن يشاهدها المستخدم نظرًا لقائمة الأفلام التي أحبها المستخدم سابقًا.

ماذا ستتعلم

  • ادمج Firebase Analytics في تطبيق android لجمع بيانات سلوك المستخدم
  • قم بتصدير تلك البيانات إلى Google Big Query
  • قم بمعالجة البيانات مسبقًا وتدريب نموذج توصيات TF Lite
  • انشر نموذج TF Lite على Firebase ML وقم بالوصول إليه من تطبيقك
  • قم بتشغيل الاستدلال على الجهاز باستخدام النموذج لاقتراح توصيات للمستخدمين

ماذا ستحتاج

  • الإصدار 3.4+ من Android Studio.
  • عينة من الرموز.
  • جهاز اختبار يعمل بنظام Android 2.3+ وخدمات Google Play 9.8 أو أحدث ، أو محاكي مع خدمات Google Play 9.8 أو أحدث
  • في حالة استخدام جهاز ، كبل اتصال.

كيف ستستخدم هذا البرنامج التعليمي؟

اقرأها فقط اقرأها وأكمل التدريبات

كيف تقيم تجربتك مع إنشاء تطبيقات Android؟

مبتدئ متوسط بارع

2. احصل على نموذج التعليمات البرمجية

استنساخ مستودع GitHub من سطر الأوامر.

$ git clone https://github.com/FirebaseExtended/codelab-contentrecommendation-android.git

3. استيراد تطبيق المبتدئين

من الروبوت ستوديو، حدد codelab-recommendations-android الدليل ( android_studio_folder.png ) عن التحميل نموذج التعليمات البرمجية (ملف> فتح> ... / codelab-التوصيات الروبوت / بدء).

يجب أن يكون لديك الآن مشروع البدء مفتوحًا في Android Studio.

4. إنشاء مشروع وحدة تحكم Firebase

قم بإنشاء مشروع جديد

  1. انتقل إلى وحدة التحكم Firebase .
  2. حدد المشروع إضافة (أو إنشاء مشروع إذا كان أول واحد).
  3. تحديد أو إدخال اسم المشروع وانقر فوق متابعة.
  4. تأكد من تمكين "تمكين Google Analytics لهذا المشروع".
  5. اتبع خطوات الإعداد المتبقية في وحدة تحكم Firebase ، ثم انقر على إنشاء مشروع (أو إضافة Firebase ، إذا كنت تستخدم مشروع Google موجودًا).

5. أضف Firebase

  1. من شاشة النظرة العامة لمشروعك الجديد ، انقر فوق رمز Android لبدء سير عمل الإعداد.
  2. أدخل اسم الحزمة codelab ل: com.google.firebase.codelabs.recommendations
  3. اختر التسجيل التطبيق.

أضف ملف google-services.json إلى تطبيقك

بعد إضافة اسم الحزمة واختيار التسجيل، انقر فوق تحميل جوجل-services.json للحصول على ملف التكوين Firebase الروبوت الخاص بك، ثم قم بنسخ الملف جوجل-services.json في app دليل في المشروع. بعد تحميل الملف يمكنك تخطي الخطوات المقبلة هو مبين في وحدة التحكم (لقد تم القيام به بالفعل بالنسبة لك في مشروع بناء الروبوت البدء).

أضف المكوِّن الإضافي لخدمات google إلى تطبيقك

يستخدم المكون الإضافي لخدمات google ملف google-services.json لتهيئة تطبيقك لاستخدام Firebase. يجب إضافة الأسطر التالية بالفعل إلى ملفات build.gradle في المشروع (تحقق للتأكيد):

app / build.grade

apply plugin: 'com.google.gms.google-services'

بناء

classpath 'com.google.gms:google-services:4.3.4'

مزامنة مشروعك مع ملفات gradle

للتأكد من أن جميع التبعيات متاحة لتطبيقك ، يجب عليك مزامنة مشروعك مع ملفات gradle في هذه المرحلة. حدد ملف> مشروع تزامن مع Gradle الملفات من شريط الأدوات الروبوت الاستوديو.

6. قم بتشغيل تطبيق المبتدئين

الآن بعد أن كنت قد استوردت المشروع إلى الروبوت ستوديو وتكوين google-services المساعد مع ملف JSON الخاص بك، كنت على استعداد لتشغيل التطبيق لأول مرة. توصيل جهاز الروبوت الخاص بك، ثم انقر فوق تشغيل ( execute.png ) في شريط أدوات Android Studio.

يجب تشغيل التطبيق على جهازك. في هذه المرحلة ، يمكنك رؤية تطبيق فعال يعرض علامة تبويب بها قائمة أفلام وعلامة تبويب أفلام أعجبتني وعلامة تبويب توصيات. يمكنك النقر فوق فيلم في قائمة الأفلام لإضافته إلى قائمة الأفلام المفضلة لديك. بعد إكمال الخطوات المتبقية من مختبر الرموز ، سنتمكن من إنشاء توصيات أفلام في علامة التبويب "التوصيات".

7. أضف Firebase Analytics إلى التطبيق

في هذه الخطوة ، ستضيف Firebase Analytics إلى التطبيق لتسجيل بيانات سلوك المستخدم (في هذه الحالة ، الأفلام التي يحبها المستخدم). سيتم استخدام هذه البيانات بشكل إجمالي في الخطوات المستقبلية لتدريب نموذج التوصيات.

أضف تبعية Firebase Analytics

التبعية التالية ضرورية لإضافة Firebase Analytics إلى تطبيقك. يجب أن يتم تضمينه بالفعل في ملف app / build.gradle (تحقق).

app / build.grade

implementation 'com.google.firebase:firebase-analytics-ktx:17.6.0'

قم بإعداد Firebase Analytics في التطبيق

وLikedMoviesViewModel يحتوي على وظائف لتخزين الأفلام يحب المستخدم. في كل مرة يحب فيها المستخدم فيلمًا جديدًا ، نريد أيضًا إرسال حدث سجل تحليلات لتسجيل ذلك مثل.

أضف وظيفة onMovieLiked مع الكود أدناه لتسجيل حدث تحليلي عندما ينقر المستخدم على الإعجاب بفيلم.

أعجبني

import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.ktx.analytics
import com.google.firebase.analytics.ktx.logEvent
import com.google.firebase.ktx.Firebase


class LikedMoviesViewModel internal constructor (application: Application) : AndroidViewModel(application) {

    ...

    fun onMovieLiked(movie: Movie) {
        movies.setLike(movie, true)
        logAnalyticsEvent(movie.id.toString())
    }
       
}

أضف الحقل والوظيفة التالية لتسجيل حدث Analytics عند إضافة فيلم إلى قائمة الإعجابات الخاصة بالمستخدم.

أعجبني

import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.ktx.analytics
import com.google.firebase.analytics.ktx.logEvent
import com.google.firebase.ktx.Firebase


class LikedMoviesViewModel internal constructor (application: Application) : AndroidViewModel(application) {
    ...
    private val firebaseAnalytics = Firebase.analytics

    ...

    /**
     * Logs an event in Firebase Analytics that is used in aggregate to train the recommendations
     * model.
     */
    private fun logAnalyticsEvent(id: String) {
        firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
            param(FirebaseAnalytics.Param.ITEM_ID, id)
        }
    }

8. اختبر تكامل برنامج Analytics

في هذه الخطوة ، سننشئ أحداث Analytics في التطبيق ونتحقق من إرسالها إلى Firebase Console.

تمكين Analytics Debug Logging

تم تصميم Firebase Analytics لإطالة عمر بطارية المستخدم إلى أقصى حد وسيعمل على تجميع الأحداث على الجهاز وإرسالها فقط إلى Firebase من حين لآخر. لأغراض تصحيح الأخطاء ، يمكننا تعطيل هذا السلوك لرؤية الأحداث أثناء تسجيلها في الوقت الفعلي عن طريق تشغيل الأمر التالي في shell.

صالة

adb shell setprop debug.firebase.analytics.app com.google.firebase.codelabs.recommendations

تحقق من إنشاء أحداث Analytics

  1. في Android studio ، افتح نافذة Logcat لفحص التسجيل من تطبيقك.
  2. اضبط مرشح Logcat على السلسلة "حدث التسجيل".
  3. تحقق من أن أحداث "select_item" في Analytics تصدر في كل مرة تحب فيها فيلمًا في التطبيق.

في هذه المرحلة ، نجحت في دمج Firebase Analytics في تطبيقك. عندما يستخدم المستخدمون تطبيقك ويحبون الأفلام ، سيتم تسجيل إعجاباتهم بشكل إجمالي. سنستخدم هذه البيانات المجمعة في بقية مختبر الرموز هذا لتدريب نموذج توصياتنا. ما يلي هو خطوة اختيارية لمشاهدة أحداث Analytics نفسها التي شاهدتها في Logcat والتي يتم بثها أيضًا إلى وحدة تحكم Firebase. لا تتردد في التخطي إلى الصفحة التالية.

الأحداث تحليلات تأكيد في وحدة التحكم Firebase: اختياري

  1. انتقل إلى وحدة التحكم Firebase .
  2. اختر DebugView تحت تحليلات
  3. في الروبوت ستوديو، حدد تشغيل لبدء تشغيل التطبيق وإضافة بعض الأفلام إلى قائمة إعجابا.
  4. في DebugView لوحدة تحكم Firebase ، تحقق من أنه يتم تسجيل هذه الأحداث أثناء إضافة أفلام في التطبيق.

9. تصدير بيانات التحليلات إلى Big Query

Big Query هو أحد منتجات Google Cloud التي تتيح لك فحص ومعالجة كميات كبيرة من البيانات. في هذه الخطوة ، ستقوم بتوصيل مشروع Firebase Console الخاص بك بـ Big Query بحيث يتم تصدير بيانات التحليلات التي تم إنشاؤها بواسطة تطبيقك تلقائيًا إلى Big Query.

تفعيل تصدير Big Query

  1. انتقل إلى وحدة التحكم Firebase .
  2. حدد رمز الترس إعدادات بجانب محة عامة عن المشروع، ثم حدد إعدادات المشروع
  3. حدد علامة التبويب التكاملات.
  4. اختر وصلة (أو إدارة) داخل كتلة الاستعلام الشامل.
  5. اختر (التالي) في حول ربط Firebase إلى خطوة الاستعلام الشامل.
  6. تحت هذا الباب التكامل تكوين، انقر فوق مفتاح لتمكين إرسال بيانات Google Analytics وحدد رابط إلى الاستعلام الشامل.

لقد قمت الآن بتمكين مشروع وحدة تحكم Firebase لإرسال بيانات حدث Firebase Analytics تلقائيًا إلى Big Query. يحدث هذا تلقائيًا دون أي تفاعل إضافي ، ومع ذلك ، قد لا يتم التصدير الأول الذي ينشئ مجموعة بيانات التحليلات في BigQuery لمدة 24 ساعة. بعد إنشاء مجموعة البيانات ، يقوم Firebase باستمرار بتصدير أحداث Analytics الجديدة إلى Big Query في جدول اليوم ، ويقوم بتجميع الأحداث من الأيام الماضية في جدول الأحداث.

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

10. استخدم BigQuery للحصول على بيانات تدريب نموذجية

الآن بعد أن ربطنا Firebase Console للتصدير إلى BigQuery ، ستظهر بيانات أحداث تحليلات التطبيق تلقائيًا في وحدة تحكم BigQuery بعد مرور بعض الوقت. للحصول على بعض البيانات الأولية لأغراض هذا البرنامج التعليمي ، سنقوم في هذه الخطوة باستيراد عينة مجموعة بيانات حالية إلى وحدة تحكم BigQuery لاستخدامها في تدريب نموذج التوصيات الخاص بنا.

استيراد عينة مجموعة بيانات إلى BigQuery

  1. انتقل إلى الاستعلام الشامل لوحة أجهزة القياس في وحدة تحكم جوجل السحابية.
  2. حدد اسم مشروعك في القائمة.
  3. حدد اسم مشروعك في الجزء السفلي من شريط التنقل الأيمن في BigQuery للاطلاع على التفاصيل.
  4. حدد إنشاء مجموعة البيانات لفتح لوحة خلق البيانات.
  5. أدخل 'firebase_recommendations_dataset "لمعرف مجموعة بيانات وحدد إنشاء مجموعة البيانات.
  6. ستظهر مجموعة البيانات الجديدة في القائمة اليسرى تحت اسم المشروع. انقر فوقه.
  7. حدد إنشاء جدول لفتح لوحة خلق الجدول.
  8. لإنشاء جدول من اختيار 'جوجل سحابة التخزين.
  9. في ملف اختر من حقل دلو GCS، أدخل 'ع: //firebase-recommendations/recommendations-test/formatted_data_filtered.txt.
  10. اختر 'JSONL "في شكل ملف المنسدلة.
  11. أدخل 'recommendations_table "للحصول على اسم الجدول.
  12. ضع علامة في المربع تحت مخطط> الكشف التلقائي> مخطط ومعلمات الإدخال
  13. حدد إنشاء الجدول

استكشاف عينة مجموعة البيانات

في هذه المرحلة ، يمكنك استكشاف المخطط ومعاينة مجموعة البيانات هذه اختياريًا.

  1. اختر firebase-توصيات مجموعة البيانات في القائمة اليسرى لتوسيع الجداول التي يحتوي عليها.
  2. حدد الجدول جدول توصيات لعرض مخطط الجدول.
  3. حدد معاينة لرؤية بيانات الحدث تحليلات الفعلية يحتوي هذا الجدول.

إنشاء بيانات اعتماد حساب الخدمة

الآن ، سننشئ بيانات اعتماد حساب الخدمة في مشروع وحدة التحكم في السحاب من Google والذي يمكننا استخدامه في بيئة Colab في الخطوة التالية للوصول إلى بيانات BigQuery وتحميلها.

  1. تأكد من تمكين الفوترة لمشروع Google Cloud الخاص بك.
  2. تفعيل واجهات برمجة تطبيقات BigQuery و BigQuery Storage API. < انقر هنا >
  3. انتقل إلى صفحة إنشاء مفتاح حساب خدمة .
  4. من قائمة حساب خدمة، حدد حساب خدمة جديد.
  5. في حقل اسم حساب الخدمة، أدخل اسما.
  6. من قائمة دور، حدد مشروع> المالك.
  7. انقر فوق إنشاء. ملف JSON يحتوي على تنزيلات رئيسية لجهاز الكمبيوتر الخاص بك.

في الخطوة التالية ، سنستخدم Google Colab لمعالجة هذه البيانات مسبقًا وتدريب نموذج توصياتنا.

11. بيانات ما قبل العملية ونموذج توصيات القطار

في هذه الخطوة ، سنستخدم دفتر Colab للقيام بالخطوات التالية:

  1. استيراد بيانات BigQuery إلى دفتر Colab المحمول
  2. المعالجة المسبقة للبيانات لإعدادها للتدريب النموذجي
  3. تدريب نموذج التوصيات على بيانات التحليلات
  4. تصدير النموذج كنموذج TF لايت
  5. نشر النموذج على Firebase Console حتى نتمكن من استخدامه في تطبيقنا

قبل أن نطلق دفتر تدريب Colab ، سنعمل أولاً على تمكين Firebase Model Management API حتى تتمكن Colab من نشر النموذج المدرب في وحدة تحكم Firebase الخاصة بنا.

تفعيل Firebase Model Management API

قم بإنشاء دلو لتخزين نماذج ML الخاصة بك

في وحدة تحكم Firebase ، انتقل إلى التخزين وانقر على البدء. fbbea78f0eb3dc9f.png

اتبع الحوار لإعداد دلو الخاص بك.

19517c0d6d2aa14d.png

تفعيل Firebase ML API

الذهاب إلى صفحة API Firebase ML على وحدة التحكم سحابة جوجل وانقر فوق تمكين.

استخدم دفتر Colab لتدريب النموذج ونشره

افتح دفتر colab باستخدام الرابط التالي وأكمل الخطوات الموجودة بداخله. بعد الانتهاء من الخطوات في دفتر Colab المحمول ، سيكون لديك ملف نموذج TF lite تم نشره على وحدة تحكم Firebase بحيث يمكننا مزامنته مع تطبيقنا.

فتح في كولاب

12. قم بتنزيل النموذج في تطبيقك

في هذه الخطوة ، سنقوم بتعديل تطبيقنا لتنزيل النموذج الذي دربناه للتو من Firebase Machine Learning.

أضف تبعية Firebase ML

التبعية التالية ضرورية لاستخدام نماذج Firebase Machine Learning في تطبيقك. يجب بالفعل إضافته (تحقق).

app / build.grade

implementation 'com.google.firebase:firebase-ml-model-interpreter:22.0.4'

قم بتنزيل النموذج باستخدام Firebase Model Manager API

نسخ رمز أدناه في RecommendationClient.kt لإعداد الظروف التي يحدث نموذج التحميل وإنشاء مهمة التحميل لمزامنة نموذج البعيد إلى التطبيق لدينا.

التوصية

    private fun downloadModel(modelName: String) {
        val remoteModel = FirebaseCustomRemoteModel.Builder(modelName).build()
        val firebaseModelManager = FirebaseModelManager.getInstance()
        firebaseModelManager
            .isModelDownloaded(remoteModel)
            .continueWithTask { task ->
                // Create update condition if model is already downloaded, otherwise create download
                // condition.
                val conditions = if (task.result != null && task.result == true) {
                    FirebaseModelDownloadConditions.Builder()
                        .requireWifi()
                        .build() // Update condition that requires wifi.
                } else {
                    FirebaseModelDownloadConditions.Builder().build(); // Download condition.
                }
                firebaseModelManager.download(remoteModel, conditions)
            }
            .addOnSuccessListener {
                firebaseModelManager.getLatestModelFile(remoteModel)
                    .addOnCompleteListener {
                        val model = it.result
                        if (model == null) {
                            showToast(context, "Failed to get model file.")
                        } else {
                            showToast(context, "Downloaded remote model")
                            GlobalScope.launch { initializeInterpreter(model) }
                        }
                    }
            }
            .addOnFailureListener {
                showToast(context, "Model download failed for recommendations, please check your connection.")
            }
    }



13. ادمج نموذج توصية Tensorflow Lite في تطبيقك

سيسمح لك وقت تشغيل Tensorflow Lite باستخدام نموذجك في التطبيق لإنشاء توصيات. في الخطوة السابقة ، قمنا بتهيئة مترجم TFlite باستخدام ملف النموذج الذي قمنا بتنزيله. في هذه الخطوة ، سنقوم أولاً بتحميل قاموس وتسميات لمرافقة نموذجنا في خطوة الاستدلال ، ثم سنضيف معالجة مسبقة لإنشاء المدخلات إلى نموذجنا والمعالجة اللاحقة حيث سنستخرج النتائج من استنتاجنا .

تحميل القاموس والتسميات

يتم سرد التسميات المستخدمة لتوليد المرشحين توصية من التوصيات الواردة في نموذج sorted_movie_vocab.json الملف في الدقة / مجلد الأصول. انسخ الكود التالي لتحميل هؤلاء المرشحين.

التوصية

    /** Load recommendation candidate list.  */
    private suspend fun loadCandidateList() {
        return withContext(Dispatchers.IO) {
            val collection = MovieRepository.getInstance(context).getContent()
            for (item in collection) {
                candidates[item.id] = item
            }
            Log.v(TAG, "Candidate list loaded.")
        }
    }

تنفيذ المعالجة المسبقة

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

التوصية

    /** Given a list of selected items, preprocess to get tflite input.  */
    @Synchronized
    private suspend fun preprocess(selectedMovies: List<Movie>): IntArray {
        return withContext(Dispatchers.Default) {
            val inputContext = IntArray(config.inputLength)
            for (i in 0 until config.inputLength) {
                if (i < selectedMovies.size) {
                    val (id) = selectedMovies[i]
                    inputContext[i] = id
                } else {
                    // Padding input.
                    inputContext[i] = config.pad
                }
            }
            inputContext
        }
    }


قم بتشغيل المترجم الفوري لإنشاء التوصيات

هنا نستخدم النموذج الذي قمنا بتنزيله في خطوة سابقة لتشغيل الاستدلال على المدخلات التي تمت معالجتها مسبقًا. قمنا بتعيين نوع الإدخال والإخراج لنموذجنا وتشغيل الاستدلال لإنشاء توصيات الفيلم الخاصة بنا. انسخ الكود التالي إلى تطبيقك.

التوصية

    /** Given a list of selected items, and returns the recommendation results.  */
    @Synchronized
    suspend fun recommend(selectedMovies: List<Movie>): List<Result> {
        return withContext(Dispatchers.Default) {
            val inputs = arrayOf<Any>(preprocess(selectedMovies))

            // Run inference.
            val outputIds = IntArray(config.outputLength)
            val confidences = FloatArray(config.outputLength)
            val outputs: MutableMap<Int, Any> = HashMap()
            outputs[config.outputIdsIndex] = outputIds
            outputs[config.outputScoresIndex] = confidences
            tflite?.let {
                it.runForMultipleInputsOutputs(inputs, outputs)
                postprocess(outputIds, confidences, selectedMovies)
            } ?: run {
                Log.e(TAG, "No tflite interpreter loaded")
                emptyList()
            }
        }
    }



تنفيذ المعالجة اللاحقة

أخيرًا ، في هذه الخطوة ، نقوم بمعالجة الإخراج من نموذجنا بعد ذلك ، واختيار النتائج بأعلى مستوى من الثقة وإزالة القيم المضمنة (الأفلام التي أحبها المستخدم بالفعل). انسخ الكود التالي إلى تطبيقك.

التوصية

    /** Postprocess to gets results from tflite inference.  */
    @Synchronized
    private suspend fun postprocess(
        outputIds: IntArray, confidences: FloatArray, selectedMovies: List<Movie>
    ): List<Result> {
        return withContext(Dispatchers.Default) {
            val results = ArrayList<Result>()

            // Add recommendation results. Filter null or contained items.
            for (i in outputIds.indices) {
                if (results.size >= config.topK) {
                    Log.v(TAG, String.format("Selected top K: %d. Ignore the rest.", config.topK))
                    break
                }
                val id = outputIds[i]
                val item = candidates[id]
                if (item == null) {
                    Log.v(TAG, String.format("Inference output[%d]. Id: %s is null", i, id))
                    continue
                }
                if (selectedMovies.contains(item)) {
                    Log.v(TAG, String.format("Inference output[%d]. Id: %s is contained", i, id))
                    continue
                }
                val result = Result(
                    id, item,
                    confidences[i]
                )
                results.add(result)
                Log.v(TAG, String.format("Inference output[%d]. Result: %s", i, result))
            }
            results
        }
    }


اختبر تطبيقك!

أعد تشغيل التطبيق الخاص بك. أثناء تحديد عدد قليل من الأفلام ، يجب أن يقوم تلقائيًا بتنزيل النموذج الجديد والبدء في إنشاء التوصيات!

14. مبروك!

لقد أنشأت ميزة التوصيات في تطبيقك باستخدام TensorFlow Lite و Firebase. لاحظ أنه يمكن تعميم التقنيات وخطوط الأنابيب الموضحة في مختبر الرموز هذا واستخدامها لخدمة أنواع أخرى من التوصيات أيضًا.

ما غطينا

  • Firebase ML
  • تحليلات Firebase
  • تصدير أحداث التحليلات إلى BigQuery
  • أحداث تحليلات ما قبل العملية
  • توصيات القطار نموذج TensorFlow
  • تصدير النموذج ونشره في Firebase Console
  • خدمة توصيات الفيلم في التطبيق

الخطوات التالية

  • نفِّذ توصيات Firebase ML في تطبيقك.

يتعلم أكثر

لدي سؤال؟

الإبلاغ عن المشكلات