Hướng dẫn di chuyển Bộ công cụ học máy AutoML Vision Edge

Bạn có thể truyền mô hình phân loại hình ảnh do AutoML huấn luyện vào các API mô hình tuỳ chỉnh. Bạn có thể tiếp tục gói mô hình bên trong ứng dụng hoặc lưu trữ mô hình đó trên Bảng điều khiển Firebase dưới dạng mô hình tuỳ chỉnh. API gắn nhãn hình ảnh AutoML đã bị xoá khỏi Bộ công cụ học máy vì API này đã được thay thế hoàn toàn bằng API gắn nhãn hình ảnh mô hình tuỳ chỉnh.

APIĐiều gì sẽ thay đổi?
API gắn nhãn hình ảnh AutoML Vision Edge API này đã được thay thế hoàn toàn bằng API gắn nhãn hình ảnh Mô hình tuỳ chỉnh. API gắn nhãn hình ảnh AutoML Vision Edge hiện có đã bị xoá.

Nếu bạn sử dụng API AutoML Vision Edge, hãy làm theo hướng dẫn di chuyển cho Android và iOS.

Câu hỏi thường gặp

Tại sao lại có thay đổi này?

Thay đổi này giúp đơn giản hoá các API của Bộ công cụ học máy và giúp bạn dễ dàng tích hợp Bộ công cụ học máy vào ứng dụng của mình hơn. Với thay đổi này, bạn có thể sử dụng mô hình do AutoML huấn luyện theo đúng cách như mô hình tuỳ chỉnh. Thay đổi này cũng cho phép bạn sử dụng các mô hình do AutoML huấn luyện để Phát hiện và theo dõi đối tượng, ngoài tính năng Gắn nhãn hình ảnh mà chúng tôi hỗ trợ. Ngoài ra, API mô hình tuỳ chỉnh hỗ trợ cả các mô hình có bản đồ nhãn được nhúng trong siêu dữ liệu và các mô hình có tệp kê khai và tệp nhãn riêng biệt.

Tôi sẽ được hưởng những lợi ích gì khi di chuyển sang SDK mới?

  • Tính năng mới: Khả năng sử dụng các mô hình do AutoML huấn luyện cho cả tính năng Gắn nhãn hình ảnh và Phát hiện cũng như theo dõi đối tượng và khả năng sử dụng các mô hình có bản đồ nhãn được nhúng trong siêu dữ liệu.

Hướng dẫn di chuyển cho Android

Bước 1: Cập nhật dữ liệu nhập Gradle

Cập nhật các phần phụ thuộc cho thư viện Android của Bộ công cụ học máy trong tệp Gradle (ở cấp ứng dụng) trong mô-đun của bạn (thường là app/build.gradle.kts) theo bảng sau:

Tính năngCấu phần phần mềm cũCấu phần phần mềm mới
Gắn nhãn hình ảnh AutoML mà không cần tải mô hình từ xa xuống com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
Gắn nhãn hình ảnh AutoML có tải mô hình từ xa xuống com.google.mlkit:image-labeling-automl:16.2.1
com.google.mlkit:linkfirebase:16.0.1
com.google.mlkit:image-labeling-custom:16.0.0-beta5
Để lưu trữ và tải mô hình tuỳ chỉnh xuống, hãy di chuyển các mô hình của bạn sang Cloud Storage rồi thêm logic tải xuống vào ứng dụng để tải các mô hình đó bằng LocalModel. Để biết thông tin chi tiết, hãy xem [hướng dẫn di chuyển từ Firebase ML sang Cloud Storage][migrate-storage].

Bước 2: Cập nhật tên lớp

Nếu lớp của bạn xuất hiện trong bảng này, hãy thực hiện thay đổi được chỉ định:

Lớp cũLớp mới
com.google.mlkit.vision.label.automl.AutoMLImageLabelerLocalModel com.google.mlkit.common.model.LocalModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerRemoteModel com.google.mlkit.common.model.LocalModel
Ứng dụng của bạn phải có logic để tải các mô hình được lưu trữ từ xa xuống và khởi chạy các mô hình đó bằng LocalModel.
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

Bước 3: Cập nhật tên phương thức

Bạn chỉ cần thay đổi mã một chút:

  • Giờ đây, bạn có thể khởi chạy LocalModel bằng đường dẫn mô hình (nếu mô hình có siêu dữ liệu chứa bản đồ nhãn) hoặc đường dẫn tệp kê khai mô hình (nếu tệp kê khai, mô hình và nhãn nằm trong các tệp riêng biệt).
  • Thêm logic vào ứng dụng để tải các mô hình được lưu trữ từ xa xuống bộ nhớ cục bộ và tải các mô hình đó bằng LocalModel.

Sau đây là một số ví dụ về các phương thức Kotlin cũ và mới:

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute path to manifest file)
    .build()

val optionsWithLocalModel = AutoMLImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

val remoteModel = AutoMLImageLabelerRemoteModel.Builder("automl_remote_model")
    .build()

val optionsWithRemoteModel = AutoMLImageLabelerOptions.Builder(remoteModel)
    .build()

Mới

// Similar process for both local and remotely-hosted models (that have been downloaded)
val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute path to manifest file)
    .build()

val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

Sau đây là một số ví dụ về các phương thức Java cũ và mới:

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute path to manifest file)
        .build();
AutoMLImageLabelerOptions optionsWithLocalModel =
    new AutoMLImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
AutoMLImageLabelerRemoteModel remoteModel =
    new AutoMLImageLabelerRemoteModel.Builder("automl_remote_model").build();
AutoMLImageLabelerOptions optionsWithRemoteModel =
    new AutoMLImageLabelerOptions.Builder(remoteModel)
        .build();

Mới

// Similar process for local models and remotely-hosted models (that have been downloaded)
LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute path to manifest file)
        .build();
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();

Hướng dẫn di chuyển cho iOS

Điều kiện tiên quyết

  • Bạn phải sử dụng Xcode 13.2.1 trở lên.

Bước 1: Cập nhật Cocoapods

Cập nhật các phần phụ thuộc cho cocoapods của Bộ công cụ học máy trên iOS trong Podfile của ứng dụng:

Tính năngTên pod cũTên pod mới
Gắn nhãn hình ảnh AutoML mà không cần tải mô hình từ xa xuống GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
Gắn nhãn hình ảnh AutoML có tải mô hình từ xa xuống GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
Để lưu trữ và tải mô hình tuỳ chỉnh xuống, hãy di chuyển các mô hình của bạn sang Cloud Storage rồi thêm logic tải xuống vào ứng dụng để tải các mô hình đó dưới dạng mô hình cục bộ. Để biết thông tin chi tiết, xem [hướng dẫn di chuyển từ Firebase ML sang Cloud Storage][migrate-storage].

Bước 2: Cập nhật tên lớp

Nếu lớp của bạn xuất hiện trong bảng này, hãy thực hiện thay đổi được chỉ định:

Swift

Lớp cũLớp mới
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel LocalModel
Để lưu trữ và tải mô hình tuỳ chỉnh xuống, hãy di chuyển các mô hình của bạn sang Cloud Storage rồi thêm logic tải xuống vào ứng dụng để tải các mô hình đó dưới dạng mô hình cục bộ. Để biết thông tin chi tiết, xem [hướng dẫn di chuyển từ Firebase ML sang Cloud Storage][migrate-storage].
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

Lớp cũLớp mới
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKLocalModel
Để lưu trữ và tải mô hình tuỳ chỉnh xuống, hãy di chuyển các mô hình của bạn sang Cloud Storage rồi thêm logic tải xuống vào ứng dụng để tải các mô hình đó dưới dạng mô hình cục bộ. Để biết thông tin chi tiết, xem [hướng dẫn di chuyển từ Firebase ML sang Cloud Storage][migrate-storage].
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Bước 3: Cập nhật tên phương thức

Bạn chỉ cần thay đổi mã một chút:

  • Giờ đây, bạn có thể khởi chạy LocalModel bằng đường dẫn mô hình (nếu mô hình có siêu dữ liệu chứa bản đồ nhãn) hoặc đường dẫn tệp kê khai mô hình (nếu tệp kê khai, mô hình và nhãn nằm trong các tệp riêng biệt).
  • Thêm logic vào ứng dụng để tải các mô hình được lưu trữ từ xa xuống bộ nhớ cục bộ và tải các mô hình đó bằng LocalModel.

Sau đây là một số ví dụ về các phương thức Swift cũ và mới:

let localModel =
    AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json")
let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel)
let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model")
let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)

Mới

// Similar process for local models and remotely-hosted models (that have been downloaded)
guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)

Sau đây là một số ví dụ về các phương thức Objective-C cũ và mới:

MLKAutoMLImageLabelerLocalModel *localModel =
    [[MLKAutoMLImageLabelerLocalModel alloc]
        initWithManifestPath:"automl/manifest.json"];
MLKAutoMLImageLabelerOptions *optionsWithLocalModel =
    [[MLKAutoMLImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKAutoMLImageLabelerRemoteModel *remoteModel =
    [[MLKAutoMLImageLabelerRemoteModel alloc]
        initWithManifestPath:"automl/manifest.json"];
MLKAutoMLImageLabelerOptions *optionsWithRemoteModel =
    [[MLKAutoMLImageLabelerOptions alloc] initWithRemoteModel:remoteModel];

Mới

// Similar process for local models and remotely-hosted models (that have been downloaded)
MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];