1. Tổng quan
Chào mừng bạn đến với lớp học lập trình Đề xuất bằng TensorFlow Lite và Firebase. Trong lớp học lập trình này, bạn sẽ tìm hiểu cách sử dụng TensorFlow Lite và Firebase để triển khai một mô hình đề xuất cho ứng dụng của mình. Lớp học lập trình này dựa trên ví dụ này của TensorFlow Lite.
Đề xuất cho phép các ứng dụng sử dụng công nghệ học máy để phân phát một cách thông minh nội dung phù hợp nhất cho từng người dùng. Các đề xuất này xem xét hành vi trước đây của người dùng để đề xuất nội dung trong ứng dụng mà người dùng có thể muốn tương tác trong tương lai bằng cách sử dụng một mô hình được huấn luyện dựa trên hành vi tổng hợp của một số lượng lớn người dùng khác.
Hướng dẫn này cho thấy cách lấy dữ liệu từ người dùng ứng dụng của bạn bằng Firebase Analytics, tạo một mô hình học máy để đưa ra đề xuất từ dữ liệu đó, sau đó sử dụng mô hình đó trong một ứng dụng Android để chạy suy luận và nhận đề xuất. Cụ thể, hệ thống đề xuất của chúng tôi sẽ gợi ý những bộ phim mà người dùng có nhiều khả năng xem nhất dựa trên danh sách những bộ phim mà người dùng đã thích trước đó.
Kiến thức bạn sẽ học được
- Tích hợp Firebase Analytics vào một ứng dụng Android để thu thập dữ liệu về hành vi của người dùng
- Xuất dữ liệu đó sang Google BigQuery
- Xử lý trước dữ liệu và huấn luyện một mô hình đề xuất TF Lite
- Triển khai mô hình TF Lite cho Firebase ML và truy cập vào mô hình đó từ ứng dụng của bạn
- Chạy suy luận trên thiết bị bằng mô hình để đề xuất cho người dùng
Bạn cần
- Phiên bản Android Studio mới nhất.
- Mã mẫu.
- Một thiết bị kiểm thử chạy Android 7 trở lên và Dịch vụ Google Play phiên bản 9.8 trở lên, hoặc một Trình mô phỏng chạy Dịch vụ Google Play phiên bản 9.8 trở lên
- Nếu sử dụng thiết bị, hãy dùng cáp kết nối.
Bạn sẽ sử dụng hướng dẫn này như thế nào?
Bạn đánh giá thế nào về trải nghiệm tạo ứng dụng Android?
2. Nhận mã mẫu
Sao chép kho lưu trữ GitHub từ dòng lệnh.
$ git clone https://github.com/FirebaseExtended/codelab-contentrecommendation-android.git
3. Nhập ứng dụng khởi đầu
Trong Android Studio, hãy chọn thư mục codelab-recommendations-android
() trong tệp tải xuống mã mẫu (File (Tệp) > Open (Mở) > .../codelab-recommendations-android/start).
Giờ đây, bạn sẽ mở dự án bắt đầu trong Android Studio.
4. Tạo dự án trên bảng điều khiển của Firebase
Tạo dự án mới
- Truy cập vào bảng điều khiển của Firebase.
- Chọn Thêm dự án (hoặc Tạo dự án nếu đây là dự án đầu tiên).
- Chọn hoặc nhập Tên dự án rồi nhấp vào Tiếp tục.
- Đảm bảo bạn đã bật chế độ "Bật Google Analytics cho dự án này".
- Làm theo các bước thiết lập còn lại trong bảng điều khiển của Firebase, sau đó nhấp vào Tạo dự án (hoặc Thêm Firebase nếu bạn đang sử dụng một dự án hiện có trên Google).
5. Thêm Firebase
- Trên màn hình tổng quan của dự án mới, hãy nhấp vào biểu tượng Android để chạy quy trình thiết lập.
- Nhập tên gói của lớp học lập trình:
com.google.firebase.codelabs.recommendations
- Chọn Đăng ký ứng dụng.
Thêm tệp google-services.json vào ứng dụng
Sau khi thêm tên gói và chọn Đăng ký, hãy nhấp vào Tải google-services.json xuống để lấy tệp cấu hình Firebase Android, sau đó sao chép tệp google-services.json vào thư mục app
trong dự án của bạn. Sau khi tải tệp xuống, bạn có thể Bỏ qua các bước tiếp theo xuất hiện trong bảng điều khiển (các bước này đã được thực hiện cho bạn trong dự án build-android-start).
Thêm trình bổ trợ google-services vào ứng dụng
Trình bổ trợ google-services sử dụng tệp google-services.json để định cấu hình ứng dụng của bạn sử dụng Firebase. Các dòng sau đây phải được thêm vào tệp build.gradle.kts trong dự án (kiểm tra để xác nhận):
app/build.grade.kts
plugins {
id("com.google.gms.google-services")
}
build.grade.kts
plugins {
id("com.google.gms.google-services") version "4.3.15" apply false
}
Đồng bộ hoá dự án với các tệp Gradle
Để đảm bảo rằng tất cả các phần phụ thuộc đều có sẵn cho ứng dụng của bạn, bạn nên đồng bộ hoá dự án với các tệp gradle tại thời điểm này. Chọn File > Sync Project with Gradle Files (Tệp > Đồng bộ hoá dự án với các tệp Gradle) trên thanh công cụ của Android Studio.
6. Chạy ứng dụng khởi đầu
Giờ đây, sau khi nhập dự án vào Android Studio và định cấu hình trình bổ trợ google-services
bằng tệp JSON, bạn đã sẵn sàng chạy ứng dụng lần đầu tiên. Kết nối thiết bị Android rồi nhấp vào Chạy ( ) trong thanh công cụ của Android Studio.
Ứng dụng sẽ chạy trên thiết bị của bạn. Đến đây, bạn có thể thấy một ứng dụng đang hoạt động, cho thấy một thẻ có danh sách phim, một thẻ Phim đã thích và một thẻ Đề xuất. Bạn có thể nhấp vào một bộ phim trong danh sách phim để thêm bộ phim đó vào danh sách nội dung đã thích. Sau khi hoàn tất các bước còn lại của lớp học lập trình, chúng ta sẽ có thể tạo đề xuất về phim trong thẻ Đề xuất.
7. Thêm Firebase Analytics vào ứng dụng
Trong bước này, bạn sẽ thêm Firebase Analytics vào ứng dụng để ghi lại dữ liệu về hành vi của người dùng (trong trường hợp này là những bộ phim mà người dùng thích). Dữ liệu này sẽ được dùng ở dạng tổng hợp trong các bước tiếp theo để huấn luyện mô hình đề xuất.
Thêm Bảng kê khai thành phần của Firebase và phần phụ thuộc Analytics
Bạn cần có các phần phụ thuộc sau đây để thêm Firebase Analytics vào ứng dụng. Các phần phụ thuộc này phải có trong tệp app/build.gradle.kts (xác minh).
app/build.grade.kts
implementation(platform("com.google.firebase:firebase-bom:32.0.0"))
implementation("com.google.firebase:firebase-analytics-ktx")
Thiết lập Firebase Analytics trong ứng dụng
LikedMoviesViewModel chứa các hàm để lưu trữ những bộ phim mà người dùng thích. Mỗi khi người dùng thích một bộ phim mới, chúng ta cũng muốn gửi một sự kiện nhật ký phân tích để ghi lại lượt thích đó.
Thêm hàm onMovieLiked bằng mã bên dưới để đăng ký một sự kiện phân tích khi người dùng nhấp vào nút thích một bộ phim.
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())
}
}
Thêm trường và hàm sau đây để ghi nhật ký một sự kiện Analytics khi một bộ phim được thêm vào danh sách Phim đã thích của người dùng.
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. Kiểm thử chế độ tích hợp Analytics
Trong bước này, chúng ta sẽ tạo các sự kiện Analytics trong ứng dụng và xác minh rằng các sự kiện đó đang được gửi đến Bảng điều khiển của Firebase.
Bật tính năng ghi nhật ký gỡ lỗi Analytics
Firebase Analytics được thiết kế để tối đa hoá thời lượng pin của người dùng, đồng thời sẽ phân chia hàng loạt các sự kiện trên thiết bị và chỉ thỉnh thoảng gửi các sự kiện đó đến Firebase. Để gỡ lỗi, chúng ta có thể tắt hành vi này để xem các sự kiện khi chúng được ghi lại theo thời gian thực bằng cách chạy lệnh sau trong shell.
Nhà ga
adb shell setprop debug.firebase.analytics.app com.google.firebase.codelabs.recommendations
Xác minh rằng các sự kiện Analytics được tạo
- Trong Android Studio, hãy mở cửa sổ Logcat để kiểm tra nhật ký của ứng dụng.
- Đặt bộ lọc Logcat thành chuỗi "Logging event" (Sự kiện ghi nhật ký).
- Xác minh rằng sự kiện "select_item" Analytics được phát ra mỗi khi bạn thích một bộ phim trong ứng dụng.
Đến đây, bạn đã tích hợp thành công Firebase Analytics vào ứng dụng của mình. Khi người dùng sử dụng ứng dụng và thích phim, lượt thích của họ sẽ được ghi lại dưới dạng dữ liệu tổng hợp. Chúng ta sẽ sử dụng dữ liệu tổng hợp này trong phần còn lại của lớp học lập trình này để huấn luyện mô hình đề xuất. Sau đây là bước không bắt buộc để xem các sự kiện Analytics mà bạn thấy trong Logcat cũng được truyền trực tuyến vào bảng điều khiển của Firebase. Bạn có thể chuyển sang trang tiếp theo.
Không bắt buộc: Xác nhận sự kiện Analytics trong Bảng điều khiển của Firebase
- Truy cập vào bảng điều khiển của Firebase.
- Chọn DebugView trong mục Analytics
- Trong Android Studio, hãy chọn Run (Chạy) để khởi chạy ứng dụng và thêm một số bộ phim vào danh sách Video đã thích.
- Trong DebugView của bảng điều khiển Firebase, hãy xác minh rằng các sự kiện này đang được ghi lại khi bạn thêm phim vào ứng dụng.
9. Xuất dữ liệu trong Analytics sang BigQuery
BigQuery là một sản phẩm của Google Cloud, cho phép bạn kiểm tra và xử lý một lượng lớn dữ liệu. Trong bước này, bạn sẽ kết nối dự án trên Bảng điều khiển của Firebase với BigQuery để dữ liệu Analytics do ứng dụng của bạn tạo ra sẽ tự động được xuất sang BigQuery.
Bật tính năng xuất dữ liệu của BigQuery
- Truy cập vào bảng điều khiển của Firebase.
- Chọn biểu tượng bánh răng Cài đặt bên cạnh Tổng quan về dự án, rồi chọn Cài đặt dự án
- Chọn thẻ Tích hợp.
- Chọn Liên kết (hoặc Quản lý) trong khối BigQuery.
- Chọn Tiếp theo trong bước Giới thiệu về việc liên kết Firebase với BigQuery.
- Trong mục Định cấu hình mối liên kết, hãy nhấp vào nút bật/tắt để bật tính năng gửi dữ liệu Google Analytics và chọn Liên kết với BigQuery.
Giờ đây, bạn đã bật dự án trên bảng điều khiển của Firebase để tự động gửi dữ liệu sự kiện Firebase Analytics đến BigQuery. Quá trình này diễn ra tự động mà không cần có thêm thao tác nào. Tuy nhiên, lần xuất đầu tiên tạo tập dữ liệu Analytics trong BigQuery có thể không diễn ra trong vòng 24 giờ. Sau khi tập dữ liệu được tạo, Firebase sẽ liên tục xuất các sự kiện Analytics mới sang BigQuery vào bảng trong ngày và nhóm các sự kiện từ những ngày trước đó vào bảng sự kiện.
Việc huấn luyện một mô hình đề xuất đòi hỏi nhiều dữ liệu. Vì chưa có ứng dụng nào tạo ra lượng lớn dữ liệu, nên ở bước tiếp theo, chúng ta sẽ nhập một tập dữ liệu mẫu vào BigQuery để sử dụng cho phần còn lại của hướng dẫn này.
10. Sử dụng BigQuery để lấy dữ liệu huấn luyện mô hình
Giờ đây, sau khi chúng ta kết nối Bảng điều khiển Firebase để xuất dữ liệu sang BigQuery, dữ liệu sự kiện phân tích ứng dụng sẽ tự động xuất hiện trong bảng điều khiển BigQuery sau một khoảng thời gian. Để lấy một số dữ liệu ban đầu cho mục đích của hướng dẫn này, trong bước này, chúng ta sẽ nhập một tập dữ liệu mẫu hiện có vào bảng điều khiển BigQuery để dùng huấn luyện mô hình đề xuất.
Nhập tập dữ liệu mẫu vào BigQuery
- Chuyển đến trang tổng quan BigQuery trong bảng điều khiển Google Cloud.
- Chọn tên dự án của bạn trong trình đơn.
- Chọn tên dự án ở cuối phần điều hướng bên trái của BigQuery để xem thông tin chi tiết.
- Chọn Tạo tập dữ liệu để mở bảng điều khiển tạo tập dữ liệu.
- Nhập "firebase_recommendations_dataset" cho Mã nhận dạng tập dữ liệu rồi chọn Tạo tập dữ liệu.
- Tập dữ liệu mới sẽ xuất hiện trong trình đơn bên trái bên dưới tên dự án. Nhấp vào đó.
- Chọn Tạo bảng để mở bảng điều khiển tạo bảng.
- Đối với Tạo bảng từ, hãy chọn "Google Cloud Storage".
- Trong trường Chọn tệp từ vùng lưu trữ GCS, hãy nhập "gs://firebase-recommendations/recommendations-test/formatted_data_filtered.txt".
- Chọn "JSONL" trong trình đơn thả xuống Định dạng tệp.
- Nhập "recommendations_table" cho Tên bảng.
- Đánh dấu vào hộp bên dưới phần Lược đồ > Tự động phát hiện > Lược đồ và các tham số đầu vào
- Chọn Tạo bảng
Khám phá tập dữ liệu mẫu
Lúc này, bạn có thể khám phá giản đồ và xem trước tập dữ liệu này (không bắt buộc).
- Chọn firebase-recommendations-dataset trong trình đơn bên trái để mở rộng các bảng mà tập dữ liệu này chứa.
- Chọn bảng recommendations-table để xem giản đồ bảng.
- Chọn Xem trước để xem dữ liệu sự kiện thực tế của Analytics mà bảng này chứa.
Tạo thông tin xác thực tài khoản dịch vụ
Bây giờ, chúng ta sẽ tạo thông tin đăng nhập tài khoản dịch vụ trong dự án bảng điều khiển Google Cloud mà chúng ta có thể sử dụng trong môi trường Colab ở bước tiếp theo để truy cập và tải dữ liệu BigQuery.
- Đảm bảo bạn đã bật tính năng thanh toán cho dự án trên Google Cloud.
- Bật API BigQuery và BigQuery Storage API. < nhấp vào đây>
- Truy cập vào trang Tạo khoá tài khoản dịch vụ.
- Trong danh sách Tài khoản dịch vụ, hãy chọn Tài khoản dịch vụ mới.
- Trong trường Tên tài khoản dịch vụ, hãy nhập một tên.
- Trong danh sách Vai trò, hãy chọn Dự án > Chủ sở hữu.
- Nhấp vào Tạo. Một tệp JSON chứa khoá của bạn sẽ được tải xuống máy tính.
Ở bước tiếp theo, chúng ta sẽ sử dụng Google Colab để tiền xử lý dữ liệu này và huấn luyện mô hình đề xuất.
11. Xử lý trước dữ liệu và huấn luyện mô hình đề xuất
Trong bước này, chúng ta sẽ sử dụng một sổ tay Colab để thực hiện các bước sau:
- nhập dữ liệu BigQuery vào sổ tay Colab
- xử lý trước dữ liệu để chuẩn bị cho việc huấn luyện mô hình
- huấn luyện mô hình đề xuất dựa trên dữ liệu phân tích
- xuất mô hình dưới dạng mô hình TF Lite
- triển khai mô hình này vào Bảng điều khiển của Firebase để có thể sử dụng trong ứng dụng
Trước khi ra mắt sổ tay huấn luyện Colab, trước tiên, chúng ta sẽ bật Firebase Model Management API để Colab có thể triển khai mô hình đã huấn luyện vào bảng điều khiển Firebase.
Bật API Quản lý mô hình Firebase
Tạo một vùng lưu trữ để lưu trữ các mô hình học máy
Trong Bảng điều khiển của Firebase, hãy chuyển đến mục Lưu trữ rồi nhấp vào Bắt đầu.
Làm theo hộp thoại để thiết lập nhóm của bạn.
Bật Firebase ML API
Truy cập vào trang Firebase ML API trên Google Cloud Console rồi nhấp vào Bật.
Sử dụng sổ tay Colab để huấn luyện và triển khai mô hình
Mở sổ tay Colab bằng đường liên kết sau đây và hoàn tất các bước trong sổ tay đó. Sau khi hoàn tất các bước trong sổ tay Colab, bạn sẽ có một tệp mô hình TF Lite được triển khai vào bảng điều khiển Firebase mà chúng ta có thể đồng bộ hoá xuống ứng dụng của mình.
Mở trong Colab
12. Tải mô hình xuống ứng dụng
Trong bước này, chúng ta sẽ sửa đổi ứng dụng để tải mô hình mà chúng ta vừa huấn luyện xuống từ Firebase Machine Learning.
Thêm phần phụ thuộc Firebase ML
Bạn cần có phần phụ thuộc sau để sử dụng các mô hình Học máy của Firebase trong ứng dụng. Phần phụ thuộc này phải đã được thêm (hãy xác minh).
app/build.grade.kts
implementation("com.google.firebase:firebase-ml-modeldownloader:24.1.2")
Tải mô hình xuống bằng Firebase Model Manager API
Sao chép mã bên dưới vào RecommendationClient.kt để thiết lập các điều kiện mà theo đó quá trình tải mô hình xuống sẽ diễn ra và tạo một tác vụ tải xuống để đồng bộ hoá mô hình từ xa với ứng dụng của chúng ta.
RecommendationClient.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. Tích hợp mô hình đề xuất Tensorflow Lite vào ứng dụng của bạn
Thời gian chạy Tensorflow Lite sẽ cho phép bạn sử dụng mô hình của mình trong ứng dụng để tạo đề xuất. Trong bước trước, chúng ta đã khởi chạy một trình thông dịch TFlite bằng tệp mô hình mà chúng ta đã tải xuống. Trong bước này, trước tiên, chúng ta sẽ tải một từ điển và nhãn để đi kèm với mô hình trong bước suy luận, sau đó, chúng ta sẽ thêm bước tiền xử lý để tạo dữ liệu đầu vào cho mô hình và bước hậu xử lý để trích xuất kết quả từ quá trình suy luận.
Tải từ điển và nhãn
Các nhãn được dùng để tạo đề xuất ứng cử viên theo mô hình đề xuất được liệt kê trong tệp sorted_movie_vocab.json trong thư mục res/assets. Sao chép mã sau để tải các đề xuất này.
RecommendationClient.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.")
}
}
Triển khai quy trình Xử lý trước
Trong bước tiền xử lý, chúng tôi thay đổi dạng dữ liệu đầu vào cho phù hợp với những gì mô hình của chúng tôi mong đợi. Ở đây, chúng tôi thêm giá trị phần giữ chỗ vào độ dài của dữ liệu đầu vào nếu chúng tôi chưa tạo ra nhiều lượt thích của người dùng. Sao chép mã bên dưới:
RecommendationClient.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
}
}
Chạy trình thông dịch để tạo đề xuất
Ở đây, chúng ta sử dụng mô hình đã tải xuống ở bước trước để chạy suy luận trên dữ liệu đầu vào đã xử lý trước. Chúng tôi đặt loại đầu vào và đầu ra cho mô hình của mình, đồng thời chạy quy trình suy luận để tạo đề xuất về phim. Sao chép mã sau vào ứng dụng của bạn.
RecommendationClient.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()
}
}
}
Triển khai quy trình Hậu xử lý
Cuối cùng, ở bước này, chúng tôi xử lý hậu kỳ đầu ra từ mô hình của mình, chọn những kết quả có độ tin cậy cao nhất và loại bỏ các giá trị có trong đó (những bộ phim mà người dùng đã thích). Sao chép mã sau vào ứng dụng của bạn.
RecommendationClient.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
}
}
Kiểm thử ứng dụng của bạn!
Chạy lại ứng dụng. Khi bạn chọn một vài bộ phim, ứng dụng sẽ tự động tải mô hình mới xuống và bắt đầu tạo đề xuất!
14. Xin chúc mừng!
Bạn đã tạo một tính năng đề xuất trong ứng dụng của mình bằng TensorFlow Lite và Firebase. Xin lưu ý rằng bạn có thể khái quát hoá và sử dụng các kỹ thuật cũng như quy trình được trình bày trong lớp học lập trình này để phân phát các loại đề xuất khác.
Nội dung đã đề cập
- Firebase ML
- Firebase Analytics
- Xuất sự kiện phân tích sang BigQuery
- Xử lý trước các sự kiện Analytics
- Mô hình TensorFlow đề xuất về tàu hoả
- Xuất mô hình và triển khai vào Bảng điều khiển của Firebase
- Đưa ra đề xuất phim trong một ứng dụng
Các bước tiếp theo
- Triển khai đề xuất của Firebase ML trong ứng dụng.