ML Kit AutoML Vision Edge taşıma kılavuzu

AutoML tarafından eğitilmiş bir görüntü sınıflandırma modelini özel model API'lerine aktarabilirsiniz. Modeli uygulamanızın içinde paketlemeye veya Firebase Konsolu'nda özel bir model olarak barındırmaya devam edebilirsiniz. AutoML image Labeling API'si, yerinin tamamen Custom Model Image Labeling API'ye gelmesinden dolayı ML Kit'ten kaldırıldı.

APINeler değişiyor?
AutoML Vision Edge görüntü etiketleme API'si Tamamen Özel Model görüntü etiketleme API'si ile değiştirilmiştir. Mevcut AutoML Vision Edge image labeling API'si kaldırılır.

Şu anda AutoML Vision Edge API kullanan bir ML Kit kullanıcısıysanız lütfen Android ve iOS için taşıma talimatlarını uygulayın.

Sık Sorulan Sorular

Bu değişiklik neden yapıldı?

ML Kit API'lerini basitleştirmeye ve ML Kit'i uygulamanıza entegre etmeyi kolaylaştırmaya yardımcı olur. Bu değişiklikle, AutoML tarafından eğitilmiş bir modeli, özel bir modelle tamamen aynı şekilde kullanabilirsiniz. Şu anda desteklediğimiz Resim Etiketleme'nin yanı sıra Nesne Algılama ve İzleme için AutoML tarafından eğitilmiş modelleri kullanmanızı sağlar. Ayrıca özel model API'si, meta verilerine yerleştirilmiş etiket haritasına sahip iki modeli ve ayrı manifest ve etiket dosyalarına sahip modelleri destekler.

Yeni SDK'ya geçiş yapmak bana ne gibi avantajlar sağlar?

  • Yeni özellikler: Hem Görüntü Etiketleme hem de Nesne Algılama ve İzleme için AutoML tarafından eğitilmiş modelleri kullanma ve meta verilerine yerleştirilmiş etiket haritasına sahip modelleri kullanma becerisi.

Android için Taşıma Rehberi

1. Adım: Gradle içe aktarma işlemlerini güncelleyin

Modülünüzdeki (uygulama düzeyinde) Gradle dosyanızdaki (genellikle app/build.gradle) ML Kit Android kitaplıklarının bağımlılıklarını aşağıdaki tabloya göre güncelleyin:

Öne ÇıkarınEski EserlerYeni Yapı
Uzak model indirmeden AutoML görüntü etiketleme com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
Uzak model indirilirken AutoML görüntü etiketleme 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
com.google.mlkit:linkfirebase:17.0.0

2. Adım: Sınıf adlarını güncelleyin

Sınıfınız bu tabloda görünüyorsa belirtilen değişikliği yapın:

Eski sınıfYeni sınıf
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.CustomRemoteModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

3. Adım: Yöntem adlarını güncelleyin

Minimum kod değişikliği yapılır:

  • LocalModel artık bir model dosya yolu (modelde etiket eşlemesini içeren meta veriler varsa) veya model manifest dosyası yoluyla (manifest, model ve etiketler ayrı dosyalardaysa) başlatılabilir.
  • Özel modeli Firebase Konsolu aracılığıyla uzaktan barındırabilir ve FirebaseModelSource ile bir CustomRemoteModel başlatabilirsiniz.

Aşağıda, eski ve yeni Kotlin yöntemlerine ilişkin bazı örnekler verilmiştir:

Önceki

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute file 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()

Yeni

val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
    .build()

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

val firebaseModelSource = FirebaseModelSource.Builder("automl_remote_model")
    .build()
val remoteModel = CustomRemoteModel.Builder(firebaseModelSource).build()
val optionsWithRemoteModel = CustomImageLabelerOptions.Builder(remoteModel)
    .build()

Aşağıda, eski ve yeni Java yöntemlerine ilişkin bazı örnekler verilmiştir:

Önceki

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute file 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();

Yeni

LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
        .build()
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
FirebaseModelSource firebaseModelSource =
    new FirebaseModelSource.Builder("automl_remote_model").build();
CustomRemoteModel remoteModel =
    new CustomRemoteModel.Builder(firebaseModelSource).build();
CustomImageLabelerOptions optionsWithRemoteModel =
    new CustomImageLabelerOptions.Builder(remoteModel).build();

iOS için Taşıma Rehberi

Ön koşullar

  • Xcode 13.2.1 veya daha yeni bir sürüm gereklidir.

1. Adım: Cocoapods'u güncelleyin

Uygulamanızın Podfile dosyasında ML Kit iOS cocoapod'ları için bağımlılıkları güncelleyin:

Öne ÇıkarınEski kapsül adlarıYeni kapsül adları
Uzak model indirmeden AutoML görüntü etiketleme GoogleMLKit/ImageLabelingAutoML GoogleMLKit/Resim EtiketlemeÖzel
Uzak model indirilirken AutoML görüntü etiketleme GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
GoogleMLKit/LinkFirebase

2. Adım: Sınıf adlarını güncelleyin

Sınıfınız bu tabloda görünüyorsa belirtilen değişikliği yapın:

Swift

Eski sınıfYeni sınıf
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel CustomRemoteModel
AutoMLImageLabelerOptions CustomImageLabelerOptions

Objective-C

Eski sınıfYeni sınıf
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

Objective-C

3. Adım: Yöntem adlarını güncelleyin

Minimum kod değişikliği yapılır:

  • LocalModel artık bir model dosya yolu (modelde etiket eşlemesini içeren meta veriler varsa) veya model manifest dosyası yoluyla (manifest, model ve etiketler ayrı dosyalardaysa) başlatılabilir.
  • Özel modeli Firebase Konsolu aracılığıyla uzaktan barındırabilir ve FirebaseModelSource ile bir CustomRemoteModel başlatabilirsiniz.

Aşağıda eski ve yeni Swift yöntemlerine ilişkin bazı örnekler verilmiştir:

Önceki

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

Yeni

guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
let firebaseModelSource = FirebaseModelSource(name: "automl_remote_model")
let remoteModel = CustomRemoteModel(remoteModelSource: firebaseModelSource)
let optionsWithRemoteModel = CustomImageLabelerOptions(remoteModel: remoteModel)

Aşağıda eski ve yeni Objective-C yöntemlerine ilişkin bazı örnekler verilmiştir:

Önceki

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

Yeni

MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKFirebaseModelSource *firebaseModelSource =
    [[MLKFirebaseModelSource alloc] initWithName:@"automl_remote_model"];
MLKCustomRemoteModel *remoteModel =
    [[MLKCustomRemoteModel alloc] initWithRemoteModelSource:firebaseModelSource];
MLKCustomImageLabelerOptions *optionsWithRemoteModel =
    [[MLKCustomImageLabelerOptions alloc] initWithRemoteModel:remoteModel];