Nếu sử dụng Firebase Machine Learning để lưu trữ các mô hình tuỳ chỉnh, bạn phải di chuyển sang một giải pháp khác trước khi dịch vụ lưu trữ Firebase ML ngừng hoạt động vào ngày 15 tháng 6 năm 2027.
Một giải pháp thay thế mà bạn có thể sử dụng là lưu trữ các mô hình bằng Cloud Storage cho Firebase. Hãy làm theo hướng dẫn này để di chuyển các mô hình từ Firebase ML sang Cloud Storage.
Tải mô hình TensorFlow Lite xuống
Nếu chưa lưu trữ các mô hình cục bộ, hãy tải các mô hình đó xuống từ dự án Firebase. Bạn có 2 cách để thực hiện việc này:
Tải từng mô hình xuống từ bảng điều khiển của Firebase
- Mở phần Machine Learning (Học máy) trên trang trong bảng điều khiển của Firebase.
- Đối với từng mô hình mà bạn muốn di chuyển, hãy nhấp vào trình đơn mục bổ sung ba dấu chấm, sau đó nhấp vào Download model (Tải mô hình xuống).
Tải tất cả các mô hình được lưu trữ xuống cùng lúc
- Mở trang Machine Learning (Học máy) trong bảng điều khiển của Firebase.
- Nhấp vào nút Get command for bulk download (Nhận lệnh tải xuống hàng loạt) để nhận lệnh
curltải tất cả các mô hình trong dự án xuống. Các URL này sẽ hết hạn sau 7 ngày. - Chạy lệnh trong thiết bị đầu cuối cục bộ hoặc trong
Cloud Shell. Nếu sử dụng Cloud Shell, hãy lưu ý giới hạn bộ nhớ đĩa là
5 GB.
Lệnh này sẽ tải các mô hình xuống một thư mục cục bộ có tên là
hosted_models.
Lưu trữ các mô hình bằng Cloud Storage
Sau khi có các mô hình cục bộ, bạn cần tải các mô hình đó lên một bộ chứa Cloud Storage.
Chọn phương thức tải lên phù hợp với nhu cầu của bạn:
Tải từng mô hình lên
- Tạo một bộ chứa Storage: trong bảng điều khiển của Firebase, hãy chuyển đến Databases & Storage > Storage rồi làm theo các bước thiết lập để tạo một bộ chứa nếu bạn chưa tạo. Xin lưu ý rằng bạn cần có một tài khoản thanh toán; hãy xem Giá Firebase để biết thông tin chi tiết.
- Vẫn trong phần Storage (Bộ nhớ), hãy tải các tệp mô hình
.tflitelên đường dẫn mong muốn.
Tải nhiều mô hình lên cùng lúc
- Tạo một bộ chứa Storage: trong bảng điều khiển của Firebase, hãy chuyển đến Databases & Storage > Storage rồi làm theo các bước thiết lập để tạo một bộ chứa nếu bạn chưa tạo. Xin lưu ý rằng bạn cần có một tài khoản thanh toán; hãy xem Giá Firebase để biết thông tin chi tiết.
Sử dụng lệnh
gcloudsau đây để tải tất cả các mô hình lên từ thư mụchosted_modelscục bộ:gcloud storage rsync --recursive ./hosted_models gs://<your-storage-bucket>/models/
Định cấu hình tính năng bảo mật và tích hợp ứng dụng
Đảm bảo các quy tắc bảo mật của Storage cho phép ứng dụng của bạn đọc các tệp mô hình. Ví dụ: bạn có thể hạn chế quyền truy cập đối với người dùng đã xác thực.
Thêm Storage vào ứng dụng của bạn: hãy làm theo hướng dẫn thiết lập cho Android, Apple, hoặc Flutter.
Cập nhật mã xử lý ứng dụng để tải các tệp
.tflitexuống từ bộ chứa Storage mới.Android
modelRef = storage.getReferenceFromUrl("gs://YOUR_BUCKET/path/to/model.tflite") val localFile = File.createTempFile("models", "tflite") modelRef.getFile(localFile).addOnSuccessListener { // Local temp file has been created }.addOnFailureListener { // Handle any errors }Apple
let gsReference = storage.reference(forURL: "gs://YOUR_BUCKET/path/to/model.tflite") // Create local filesystem URL let localURL = URL(string: "path/to/model.tflite")! // Download to the local filesystem let downloadTask = gsReference.write(toFile: localURL) { url, error in if let error = error { // Uh-oh, an error occurred! } else { // Local file URL for "model.tflite" is returned } }Flutter
final modelRef = FirebaseStorage.instance.refFromURL("gs://YOUR_BUCKET/path/to/model.tflite"); final appDocDir = await getApplicationDocumentsDirectory(); final filePath = "${appDocDir.absolute}/models/model.tflite"; final file = File(filePath); final downloadTask = modelRef.writeToFile(file); downloadTask.snapshotEvents.listen((taskSnapshot) { switch (taskSnapshot.state) { case TaskState.running: // TODO: Handle this case. break; case TaskState.paused: // TODO: Handle this case. break; case TaskState.success: // TODO: Handle this case. break; case TaskState.canceled: // TODO: Handle this case. break; case TaskState.error: // TODO: Handle this case. break; } });Sau khi tải mô hình xuống, bạn có thể sử dụng thư viện Tensorflow Lite hiện có để tải mô hình và sử dụng mô hình đó.
(Không bắt buộc) Cân nhắc sử dụng Cấu hình từ xa Firebase để cập nhật động các đường dẫn mô hình trong ứng dụng mà không cần bản phát hành mới.
Không bắt buộc: Di chuyển sang API LiteRT CompiledModel
Nếu ứng dụng của bạn vẫn sử dụng API Interpreter TensorFlow Lite cũ, hãy cân nhắc
di chuyển sang API LiteRT CompiledModel,
API này cung cấp khả năng hỗ trợ tăng tốc phần cứng được cải thiện và các cải tiến khác so với
API cũ.