TensorFlow Lite ve Firebase - Android Codelab ile uygulamanıza Öneriler ekleme

1. Genel Bakış

TensorFlow Lite ve Firebase ile Öneriler codelab'ine hoş geldiniz. Bu codelab'de, uygulamanıza öneri modeli dağıtmak için TensorFlow Lite ve Firebase'i nasıl kullanacağınızı öğreneceksiniz. Bu codelab, bu TensorFlow Lite örneğine dayanmaktadır.

Öneriler, uygulamaların her kullanıcıya en alakalı içerikleri akıllıca sunmak için makine öğrenimini kullanmasına olanak tanır. Bunlar, çok sayıda başka kullanıcının toplu davranışlarına göre eğitilmiş bir model kullanarak gelecekte kullanıcının etkileşimde bulunmak isteyebileceği uygulama içeriklerini önermek için geçmişteki kullanıcı davranışlarını dikkate alır.

Bu eğitimde, Firebase Analytics ile uygulamanızın kullanıcılarından veri elde etme, bu verilerden öneriler almak için makine öğrenimi modeli oluşturma ve ardından bu modeli bir Android uygulamasında çıkarım yapmak ve öneriler almak için kullanma hakkında bilgi verilmektedir. Özellikle, kullanıcının daha önce beğendiği filmlerin listesine bakıldığında, önerilerimiz kullanıcının izleme olasılığının en yüksek olduğu filmlere öneride bulunur.

Neler öğreneceksiniz?

  • Kullanıcı davranışı verilerini toplamak için Firebase Analytics'i Android uygulamasına entegre etme
  • Bu verileri Google BigQuery'ye aktarın
  • Verileri önceden işleyin ve TF Lite öneri modeli eğitin
  • TF Lite modelini Firebase ML'ye dağıtıp uygulamanızdan bu modele erişin
  • Kullanıcılara öneriler önermek için modeli kullanarak cihaz çıkarımı üzerinde çalıştır

Gerekenler

  • En son Android Studio sürümü.
  • Örnek kod.
  • Android 7 veya sonraki bir sürümün ve Google Play Hizmetleri 9.8 veya sonraki bir sürümün yüklü olduğu bir test cihazı ya da Google Play Hizmetleri 9.8 veya sonraki sürümlerin yüklü olduğu bir Emülatör
  • Cihaz kullanıyorsanız bağlantı kablosu.

Bu eğiticiden nasıl yararlanacaksınız?

Yalnızca okuma Okuyun ve alıştırmaları tamamlayın

Android uygulamaları geliştirme deneyiminizi nasıl değerlendirirsiniz?

Acemi Orta Yeterli

2. Örnek kodu alın

GitHub deposunu komut satırından klonlayın.

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

3. Başlangıç uygulamasını içe aktarın

Android Studio'da, örnek kod indirme bölümünden codelab-recommendations-android dizinini ( android_studio_folder.png) seçin (Dosya > > .../codelab-recommendations-android/start).

Artık Android Studio'da başlangıç projesi açık olmalıdır.

4. Firebase konsol projesi oluşturun

Yeni proje oluşturma

  1. Firebase konsoluna gidin.
  2. Proje ekle'yi (veya ilk projenizse Proje oluştur'u) seçin.
  3. Bir proje adı seçin veya girin ve Devam'ı tıklayın.
  4. "Bu proje için Google Analytics'i etkinleştir" etkin olduğundan emin olun.
  5. Firebase konsolunda kalan kurulum adımlarını uygulayın, ardından Proje oluştur'u (veya mevcut bir Google projesini kullanıyorsanız Firebase'i Ekle'yi) tıklayın.

5. Firebase Ekle

  1. Kurulum iş akışını başlatmak için yeni projenizin genel bakış ekranından Android simgesini tıklayın.
  2. Codelab'in paket adını girin: com.google.firebase.codelabs.recommendations
  3. Uygulamayı kaydet'i seçin.

Uygulamanıza google-services.json dosyasını ekleyin

Paket adını ekleyip Kaydol'u seçtikten sonra, Firebase Android yapılandırma dosyanızı almak için google-services.json'u indir'i tıklayın. Ardından google-services.json dosyasını projenizdeki app dizinine kopyalayın. Dosya indirildikten sonra, konsolda gösterilen sonraki adımları Atlatabilirsiniz (bu adımlar, sizin için build-android-start projesinde uygulanmıştır).

Uygulamanıza Google hizmetleri eklentisi ekleyin

Google-services eklentisi, uygulamanızı Firebase'i kullanacak şekilde yapılandırmak için google-services.json dosyasını kullanır. Aşağıdaki satırlar projedeki build.gradle.kts dosyalarına eklenmiş olmalıdır (onaylamak için işaretleyin):

uygulama/derleme.derece.kts

plugins {
    id("com.google.gms.google-services")
}

build.grad.kts

plugins {
    id("com.google.gms.google-services") version "4.3.15" apply false
}

Projenizi gradle dosyalarıyla senkronize etme

Tüm bağımlılıkların uygulamanızda kullanılabildiğinden emin olmak için bu noktada projenizi gradle dosyalarıyla senkronize etmeniz gerekir. Dosya > Android Studio araç çubuğundan Projeyi Gradle Dosyaları ile senkronize edin.

6. Başlangıç uygulamasını çalıştırma

Artık projeyi Android Studio'ya aktardığınıza ve google-services eklentisini JSON dosyanızla yapılandırdığınıza göre, uygulamayı ilk kez çalıştırmaya hazırsınız. Android cihazınızı bağlayıp Android Studio araç çubuğunda Çalıştır'ı ( yürütme.png ) tıklayın.

Uygulama, cihazınızda başlatılır. Bu noktada, filmlerin listelendiği bir sekme, Beğenilen filmler sekmesi ve Öneriler sekmesinin gösterildiği çalışır durumda bir uygulama görebilirsiniz. Beğendiğiniz bir filmi beğendikleriniz listesine eklemek için film listesindeki bir filmi tıklayabilirsiniz. Codelab'in kalan adımlarını tamamladıktan sonra Öneriler sekmesinde film önerileri oluşturabileceğiz.

7. Firebase Analytics'i uygulamaya ekleyin

Bu adımda, kullanıcı davranışı verilerini (bu örnekte, kullanıcının sevdiği filmler) günlüğe kaydetmek için uygulamaya Firebase Analytics'i ekleyeceksiniz. Bu veriler, öneri modelini eğitmek için gelecekteki adımlarda toplu olarak kullanılacaktır.

Firebase Bill of Materials ve Analytics bağımlılığı ekleme

Firebase Analytics'i uygulamanıza eklemek için aşağıdaki bağımlılıklar gereklidir. Bunlar app/build.gradle.kts dosyasına (doğrulama) eklenmiş olmalıdır.

uygulama/derleme.derece.kts

implementation(platform("com.google.firebase:firebase-bom:32.0.0"))
implementation("com.google.firebase:firebase-analytics-ktx")

Uygulamada Firebase Analytics'i ayarlayın

LikedMoviesViewModel, kullanıcının beğendiği filmleri depolamak için işlevler içerir. Kullanıcı yeni bir filmi beğendiğinde bunun gibi bir kaydı kaydetmek için bir analiz günlüğü etkinliği de göndermek istiyoruz.

Kullanıcı bir filmi beğendiğini tıkladığında bir analiz etkinliği kaydetmek için onMovieLiked işlevini aşağıdaki kodla ekleyin.

LikedMoviesViewModel.kt

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())
    }
       
}

Kullanıcının Beğenilenler listesine bir film eklendiğinde Analytics etkinliği kaydetmek için aşağıdaki alanı ve işlevi ekleyin.

LikedMoviesViewModel.kt

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 entegrasyonunuzu test etme

Bu adımda, uygulamada Analytics etkinlikleri oluşturacak ve bu etkinliklerin Firebase konsoluna gönderildiğini doğrulayacağız.

Analytics Hata Ayıklama Günlük Kaydını Etkinleştir

Firebase Analytics, kullanıcıların pil ömrünü en üst düzeye çıkaracak şekilde tasarlanmıştır ve etkinlikleri cihazda toplu hale getirir ve yalnızca zaman zaman Firebase'e gönderir. Hata ayıklama amacıyla, kabuk içinde aşağıdaki komutu çalıştırarak günlüğe kaydedilen etkinlikleri gerçek zamanlı olarak görmek için bu davranışı devre dışı bırakabiliriz.

Terminal

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

Analytics etkinliklerinin oluşturulduğunu doğrulama

  1. Android Studio'da, uygulamanızdan günlük kaydını incelemek için Logcat penceresini açın.
  2. Logcat filtresini "Logging etkinliği" dizesine ayarlayın.
  3. "select_item" öğesini doğrulayın Uygulamada bir filmi beğendiğiniz her seferde Analytics etkinlikleri yayınlanır.

Bu aşamada, Firebase Analytics'i uygulamanıza başarıyla entegre ettiniz. Kullanıcılar uygulamanızı kullanırken ve filmleri beğenirken beğenmeleri toplu olarak kaydedilir. Bu birleştirilmiş verileri, öneri modelimizi eğitmek için bu codelab'in geri kalanında kullanacağız. Aşağıda, Logcat'te gördüğünüz Analytics etkinliklerinin Firebase konsoluna da akışını görmek için isteğe bağlı bir adım sunulmuştur. Sonraki sayfaya geçmekten çekinmeyin.

İsteğe bağlı: Firebase konsolunda Analytics etkinliklerini onaylama

  1. Firebase konsoluna gidin.
  2. Analytics bölümünde DebugView'u seçin
  3. Android Studio'da Çalıştır'ı seçerek uygulamayı başlatın ve Beğendikleriniz listenize birkaç film ekleyin.
  4. Firebase konsolunun DebugView'da, uygulamaya film eklenirken bu etkinliklerin günlüğe kaydedildiğini doğrulayın.

9. Analytics verilerini BigQuery'ye aktarma

BigQuery, büyük miktarlarda veriyi inceleyip işlemenize olanak tanıyan bir Google Cloud ürünüdür. Bu adımda, uygulamanızın oluşturduğu Analytics verilerinin otomatik olarak BigQuery'ye aktarılması için Firebase konsolu projenizi BigQuery'ye bağlayacaksınız.

BigQuery dışa aktarımını etkinleştirme

  1. Firebase konsoluna gidin.
  2. Projeye Genel Bakış'ın yanındaki Ayarlar dişli simgesini, ardından Proje ayarları'nı seçin
  3. Integrations (Entegrasyonlar) sekmesini seçin.
  4. BigQuery bloğunda Bağla'yı (veya Yönet'i) seçin.
  5. Firebase'i BigQuery'ye Bağlama Hakkında adımında Sonraki'yi seçin.
  6. Entegrasyonu yapılandır bölümünde, Google Analytics verilerinin gönderilmesini etkinleştirmek için anahtarı tıklayın ve BigQuery'ye bağla'yı seçin.

Firebase konsol projenizi, Firebase Analytics etkinlik verilerinin BigQuery'ye otomatik olarak gönderilmesini sağlayacak şekilde etkinleştirdiniz. Bu işlem başka etkileşim olmadan otomatik olarak gerçekleştirilir. Ancak BigQuery'de analiz veri kümesini oluşturan ilk dışa aktarma işlemi 24 saat boyunca gerçekleşmeyebilir. Veri kümesi oluşturulduktan sonra Firebase, yeni Analytics etkinliklerini sürekli olarak BigQuery'ye aktarır ve gün içi tabloya aktarır ve geçmiş günlere ait etkinlikleri etkinlikler tablosunda gruplandırır.

Öneri modellerini eğitmek çok fazla veri gerektirir. Halihazırda büyük miktarda veri oluşturan bir uygulamamız olmadığından, bir sonraki adımda bu eğiticinin geri kalanında kullanmak üzere örnek bir veri kümesini BigQuery'ye aktaracağız.

10. Model eğitimi verilerini almak için BigQuery'yi kullanma

Artık BigQuery'ye dışa aktarmak için Firebase konsolumuzu bağladığımıza göre, uygulama analizi etkinlik verilerimiz bir süre sonra otomatik olarak BigQuery konsolunda görünecektir. Bu eğiticinin amaçları doğrultusunda başlangıç verilerini almak için bu adımda, öneri modelimizi eğitmek üzere kullanmak üzere mevcut bir örnek veri kümesini BigQuery konsolunuza aktaracağız.

Örnek veri kümesini BigQuery'ye aktarma

  1. Google Cloud konsolunda BigQuery kontrol paneline gidin.
  2. Menüden projenizin adını seçin.
  3. Ayrıntıları görmek için BigQuery'nin sol gezinme menüsünün en altında projenizin adını seçin.
  4. Veri kümesi oluşturma panelini açmak için Veri kümesi oluştur'u seçin.
  5. "firebase_recommendations_dataset" girin Veri Kümesi Kimliği'ni girin ve Veri kümesi oluştur'u seçin.
  6. Yeni veri kümesi, proje adının altında soldaki menüde gösterilir. Bu simgeyi tıklayın.
  7. Tablo oluşturma panelini açmak için Tablo oluştur'u seçin.
  8. Şu kaynaktan tablo oluştur için "Google Cloud Storage"ı seçin.
  9. GCS paketinden dosya seçin alanına "gs://firebase-recommendations/recommendations-test/formatted_data_filtered.txt" yazın.
  10. "JSONL"yi seçin Dosya biçimi açılır menüsünde bulabilirsiniz.
  11. "recommendations_table" yazın Tablo adı'nı seçin.
  12. Schema > (Şema >) altındaki kutuyu işaretleyin. Otomatik algıla > Şema ve giriş parametreleri
  13. Tablo oluştur'u seçin

Örnek veri kümesini keşfedin

Bu noktada isteğe bağlı olarak şemayı inceleyebilir ve bu veri kümesini önizleyebilirsiniz.

  1. İçerdiği tabloları genişletmek için sol menüden firebase-recommendations-dataset'i seçin.
  2. Tablo şemasını görüntülemek için recommendations-table tablosunu seçin.
  3. Bu tablonun içerdiği gerçek Analytics etkinlik verilerini görmek için Önizleme'yi seçin.

Hizmet hesabı kimlik bilgileri oluşturma

Şimdi, Google Cloud Console projemizde hizmet hesabı kimlik bilgilerini oluşturacağız. Bu bilgileri, bir sonraki adımda BigQuery verilerimize erişip yüklemek için Colab ortamında kullanabileceğimiz şekilde kullanacağız.

  1. Google Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun.
  2. BigQuery ve BigQuery Storage API API'lerini etkinleştirin. < burayı tıklayın>
  3. Hizmet Hesabı Anahtarı Oluşturma sayfasına gidin.
  4. Service account (Hizmet hesabı) listesinden New service account'u (Yeni hizmet hesabı) seçin.
  5. Hizmet hesabı adı alanına bir ad girin.
  6. Role (Rol) listesinden Proje'yi seçin > Sahip.
  7. Oluştur'u tıklayın. Anahtarlarınızı içeren bir JSON dosyası, bilgisayarınıza indirilir.

Bir sonraki adımda, bu verileri önceden işlemek ve öneri modelimizi eğitmek için Google Colab'i kullanacağız.

11. Verileri ön işleme ve öneri modelini eğitme

Bu adımda aşağıdaki adımları gerçekleştirmek için bir Colab not defteri kullanacağız:

  1. BigQuery verilerini Colab not defterine aktarma
  2. model eğitimine hazırlamak için verileri ön işleme
  3. Öneri modelini analiz verileri üzerinde eğitmek
  4. modeli TF lite modeli olarak dışa aktar
  5. modeli Firebase Konsolu'na dağıtarak uygulamamızda kullanabiliriz.

Colab eğitim not defterini kullanıma sunmadan önce ilk olarak Firebase Model Management API'yi etkinleştireceğiz. Böylece Colab, eğitilen modeli Firebase konsoluna dağıtabilecek.

Firebase Model Management API'yi etkinleştir

ML modellerinizi depolamak için paket oluşturma

Firebase Konsolunuzda Storage'a gidip Başlayın'ı tıklayın. fbbea78f0eb3dc9f.png.

Paketinizi hazırlamak için diyaloğu takip edin.

19517c0d6d2aa14d.png

Firebase ML API'yi etkinleştirme

Google Cloud Console'da Firebase ML API sayfasına gidip Etkinleştir'i tıklayın.

Modeli eğitmek ve dağıtmak için Colab not defterini kullanın

Aşağıdaki bağlantıyı kullanarak colab not defterini açın ve içindeki adımları tamamlayın. Colab not defterindeki adımları tamamladıktan sonra Firebase konsoluna dağıtılan bir TF lite model dosyanız olur. Bu dosyayı uygulamamıza senkronize edebiliriz.

Colab'de aç

12. Modeli uygulamanıza indirin

Bu adımda, uygulamamızı Firebase Makine Öğrenimi'nden eğittiğimiz modeli indirecek şekilde değiştireceğiz.

Firebase ML bağımlılığı ekleyin

Uygulamanızda Firebase Makine Öğrenimi modellerini kullanmak için aşağıdaki bağımlılık gerekir. Daha önce eklenmiş olması gerekir (doğrulayın).

uygulama/derleme.derece.kts

implementation("com.google.firebase:firebase-ml-modeldownloader:24.1.2")

Modeli Firebase Model Manager API ile indirme

Model indirme işleminin gerçekleşeceği koşulları ayarlamak için aşağıdaki kodu RecommendationClient.kt dosyasına kopyalayın ve uzak modeli uygulamamızla senkronize etmek için bir indirme görevi oluşturun.

Öneriİstemcisi.kt

    private fun downloadModel(modelName: String) {
        val conditions = CustomModelDownloadConditions.Builder()
            .requireWifi()
            .build()
        FirebaseModelDownloader.getInstance()
            .getModel(modelName, DownloadType.LOCAL_MODEL, conditions)
            .addOnCompleteListener {
                if (!it.isSuccessful) {
                    showToast(context, "Failed to get model file.")
                } else {
                    showToast(context, "Downloaded remote model: $modelName")
                    GlobalScope.launch { initializeInterpreter(it.result) }
                }
            }
            .addOnFailureListener {
                showToast(context, "Model download failed for recommendations, please check your connection.")
            }
    }

13. Tensorflow Lite öneri modelini uygulamanıza entegre edin

Tensorflow Lite çalışma zamanı, öneriler oluşturmak için uygulamada modelinizi kullanmanıza olanak tanır. Önceki adımda, indirdiğimiz model dosyasıyla bir TFlite çevirmeni başlattık. Bu adımda, ilk olarak çıkarım adımında modelimize eşlik edecek bir sözlük ve etiketler yükleyeceğiz. Ardından, modelimize girdi oluşturmak için ön işlemeyi ve çıkarımımızdan sonuçları çıkaracağımız işleme sonrası süreci ekleyeceğiz.

Sözlük ve Etiketleri Yükleme

Öneri modeline göre öneri adaylarını oluşturmak için kullanılan etiketler, res/assets klasöründeki sorted_movie_vocab.json dosyasında listelenir. Bu önerileri yüklemek için aşağıdaki kodu kopyalayın.

Öneriİstemcisi.kt

    /** 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.")
        }
    }

Ön işlemeyi uygulama

Ön işleme adımında, giriş verilerinin biçimini modelimizin beklediğiyle eşleşecek şekilde değiştiririz. Burada henüz çok sayıda kullanıcı beğenmesi oluşturmadıysak giriş uzunluğunu bir yer tutucu değerle doldururuz. Aşağıdaki kodu kopyalayın:

Öneriİstemcisi.kt

    /** 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
        }
    }


Öneri oluşturmak için çevirmen çalıştırma

Burada, önceden işlenmiş girdimiz üzerinde çıkarım yapmak için önceki adımda indirdiğimiz modeli kullanırız. Modelimizin giriş ve çıkış türünü belirleriz ve film önerilerimizi oluşturmak için çıkarım yaparız. Aşağıdaki kodu uygulamanıza kopyalayın.

Öneriİstemcisi.kt

    /** 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()
            }
        }
    }



İşleme sonrası yaklaşımı uygulama

Son olarak, bu adımda, modelimizden elde edilen çıkışı işleyerek en yüksek güven düzeyine sahip sonuçları seçer ve içerdiği değerleri (kullanıcının zaten beğendiği filmler) kaldırırız. Aşağıdaki kodu uygulamanıza kopyalayın.

Öneriİstemcisi.kt

    /** 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
        }
    }


Uygulamanızı test edin

Uygulamanızı yeniden çalıştırın. Birkaç film seçtiğinizde yeni model otomatik olarak indirilir ve öneriler oluşturmaya başlar.

14. Tebrikler!

TensorFlow Lite ve Firebase'i kullanarak uygulamanıza bir öneriler özelliği eklediniz. Bu codelab'de gösterilen tekniklerin ve ardışık düzenin genelleştirilebileceğini ve diğer öneri türlerini sunmak için kullanılabileceğini unutmayın.

İşlediğimiz konular

  • Firebase ML
  • Firebase Analytics
  • Analiz etkinliklerini BigQuery'ye aktarın
  • Ön işlem analiz etkinlikleri
  • Önerileri TensorFlow modeli eğitme
  • Modeli dışa aktarın ve Firebase konsoluna dağıtın
  • Uygulamada film önerileri sunun

Sonraki adımlar

  • Uygulamanızda Firebase makine öğrenimi önerilerini uygulayın.

Daha Fazla Bilgi

Sorunuz mu var?

Sorun Bildir