Panduan migrasi AutoML Vision Edge ML Kit

Anda dapat meneruskan model klasifikasi gambar yang dilatih AutoML ke API model kustom. Anda dapat terus memaketkan model di dalam aplikasi atau menghostingnya di Firebase Console sebagai model kustom. API pelabelan gambar AutoML telah dihapus dari ML Kit karena sepenuhnya digantikan oleh API Pelabelan Gambar Model Kustom.

APIApa saja yang berubah?
API pelabelan gambar AutoML Vision Edge API pelabelan gambar Model Kustom sepenuhnya menggantikannya. API pelabelan gambar AutoML Vision Edge yang ada dihapus.

Jika Anda menggunakan AutoML Vision Edge API, ikuti petunjuk migrasi untuk Android dan iOS.

Pertanyaan Umum (FAQ)

Mengapa perubahan ini dilakukan?

Hal ini membantu menyederhanakan API ML Kit, dan mempermudah integrasi ML Kit ke dalam aplikasi Anda. Dengan perubahan ini, Anda dapat menggunakan model yang dilatih AutoML dengan cara yang sama persis seperti model kustom. Selain Pelabelan Gambar yang kami dukung, Anda juga dapat menggunakan model yang dilatih AutoML untuk Deteksi dan Pelacakan Objek. Selain itu, Custom Model API mendukung model dengan peta label yang disematkan dalam metadatanya, dan model dengan file manifes dan label terpisah.

Apa manfaat yang saya dapatkan dari migrasi ke SDK baru?

  • Fitur baru: Kemampuan untuk menggunakan model yang dilatih AutoML untuk Pelabelan Gambar dan Deteksi & Pelacakan Objek serta kemampuan untuk menggunakan model dengan peta label yang disematkan dalam metadatanya.

Panduan Migrasi untuk Android

Langkah 1: Perbarui Impor Gradle

Perbarui dependensi untuk library Android ML Kit di file Gradle modul (level aplikasi), biasanya app/build.gradle.kts, sesuai dengan tabel berikut:

FiturArtefak LamaArtefak Baru
AutoML pelabelan gambar tanpa mendownload model jarak jauh com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
AutoML pelabelan gambar dengan download model jarak jauh 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
Untuk menghosting dan mendownload model kustom, pindahkan model Anda ke Cloud Storage dan tambahkan logika download di aplikasi Anda untuk memuatnya menggunakan LocalModel. Untuk detailnya, lihat [Panduan migrasi Firebase ML ke Cloud Storage][migrate-storage].

Langkah 2: Perbarui nama class

Jika kelas Anda muncul dalam tabel ini, lakukan perubahan yang ditunjukkan:

Kelas lamaKelas baru
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
Aplikasi Anda harus menyertakan logika untuk mendownload model yang dihosting dari jarak jauh dan menginisialisasinya menggunakan LocalModel.
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

Langkah 3: Perbarui nama metode

Ada perubahan kode minimal:

  • LocalModel kini dapat diinisialisasi dengan jalur model (jika model memiliki metadata yang berisi peta label) atau jalur manifes model (jika manifes, model, dan label berada dalam file terpisah).
  • Tambahkan logika ke aplikasi Anda untuk mendownload model yang dihosting dari jarak jauh ke penyimpanan lokal dan memuatnya menggunakan LocalModel.

Berikut beberapa contoh metode Kotlin lama dan baru:

Lama

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

Baru

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

Berikut beberapa contoh metode Java lama dan baru:

Lama

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

Baru

// 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();

Panduan Migrasi untuk iOS

Prasyarat

  • Memerlukan Xcode 13.2.1 atau yang lebih baru.

Langkah 1: Update Cocoapods

Perbarui dependensi untuk cocoapod ML Kit iOS di Podfile aplikasi Anda:

FiturNama pod lamaNama pod baru
AutoML pelabelan gambar tanpa mendownload model jarak jauh GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
AutoML pelabelan gambar dengan download model jarak jauh GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
Untuk menghosting dan mendownload model kustom, pindahkan model Anda ke Cloud Storage dan tambahkan logika download di aplikasi Anda untuk memuatnya sebagai model lokal. Untuk mengetahui detailnya, lihat [panduan migrasi Firebase ML ke Cloud Storage][migrate-storage].

Langkah 2: Perbarui nama class

Jika kelas Anda muncul dalam tabel ini, lakukan perubahan yang ditunjukkan:

Swift

Kelas lamaKelas baru
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel LocalModel
Untuk menghosting dan mendownload model kustom, pindahkan model Anda ke Cloud Storage dan tambahkan logika download di aplikasi Anda untuk memuatnya sebagai model lokal. Untuk mengetahui detailnya, lihat [panduan migrasi Firebase ML ke Cloud Storage][migrate-storage].
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

Kelas lamaKelas baru
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKLocalModel
Untuk menghosting dan mendownload model kustom, pindahkan model Anda ke Cloud Storage dan tambahkan logika download di aplikasi Anda untuk memuatnya sebagai model lokal. Untuk mengetahui detailnya, lihat [panduan migrasi Firebase ML ke Cloud Storage][migrate-storage].
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Langkah 3: Perbarui nama metode

Ada perubahan kode minimal:

  • LocalModel kini dapat diinisialisasi dengan jalur model (jika model memiliki metadata yang berisi peta label) atau jalur manifes model (jika manifes, model, dan label berada dalam file terpisah).
  • Tambahkan logika ke aplikasi Anda untuk mendownload model yang dihosting dari jarak jauh ke penyimpanan lokal dan memuatnya menggunakan LocalModel.

Berikut beberapa contoh metode Swift lama dan baru:

Lama

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

Baru

// 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)

Berikut beberapa contoh metode Objective-C lama dan baru:

Lama

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];

Baru

// 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];