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 lựa chọn khác 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 của bạn từ Firebase ML sang Cloud Storage.
Tải mô hình TensorFlow Lite xuống
Nếu bạn 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 của bạn. Bạn có 2 lựa chọn để thực hiện việc này:
Tải từng tệp xuống từ bảng điều khiển của Firebase
- Mở mục trang Học máy trong bảng điều khiển của Firebase.
- Đối với mỗi mô hình 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 của mô hình đó, rồi nhấp vào Tải mô hình xuống.
Tải đồng thời tất cả các mô hình được lưu trữ xuống
- Mở trang 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 (Lấy 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 ý hạn mức bộ nhớ đĩa 5 GB.
Lệnh này sẽ tải các mô hình của bạn 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 bộ chứa lưu trữ: trong bảng điều khiển của Firebase, hãy chuyển đến Cơ sở dữ liệu và bộ nhớ > Bộ nhớ rồi làm theo các bước làm quen với ứng dụng để 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á của Firebase để biết thông tin chi tiết.
- Vẫn trong phần 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 bộ chứa lưu trữ: trong bảng điều khiển của Firebase, hãy chuyển đến Cơ sở dữ liệu và bộ nhớ > Bộ nhớ rồi làm theo các bước làm quen với ứng dụng để 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á của 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 Bộ nhớ vào ứng dụng: 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 tệp
.tflitexuống từ bộ chứa Lưu trữ 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ể 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 linh hoạt 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 LiteRT CompiledModel API
Nếu ứng dụng của bạn vẫn dùng API Interpreter TensorFlow Lite cũ, hãy cân nhắc việc di chuyển sang API CompiledModel LiteRT. API này có khả năng hỗ trợ tăng tốc phần cứng tốt hơn và những điểm cải tiến khác so với API cũ.