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 iletebilirsiniz. Modeli uygulamanızın içinde paketlemeye devam edebilir veya Firebase Konsolu'nda özel model olarak barındırabilirsiniz. AutoML görüntü etiketleme API'si tamamen Özel Model Görüntü Etiketleme API'si ile değiştirildiği için ML Kit'ten kaldırılmıştır.

APINeler değişiyor?
AutoML Vision Edge görüntü etiketleme API'si Bu API'nin yerini, Özel Model görüntü etiketleme API'si almıştır. Mevcut AutoML Vision Edge görüntü etiketleme API'si kaldırıldı.

Ş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ılıyor?

ML Kit API'lerini basitleştirmeye ve ML Kit'i uygulamanıza entegre etmeyi kolaylaştırmaya yardımcı olur. Bu değişiklik sayesinde AutoML tarafından eğitilmiş bir modeli özel bir modelle tam olarak aynı şekilde kullanabilirsiniz. Ayrıca, şu anda desteklediğimiz Görüntü Etiketleme'nin yanı sıra Nesne Algılama ve İzleme için AutoML tarafından eğitilen modelleri kullanabilmenizi sağlar. Ayrıca özel model API'si, hem meta verilerine yerleştirilmiş etiket haritası bulunan modelleri hem de ayrı manifest ve etiket dosyaları olan modelleri destekler.

Yeni SDK'ya geçmek bana ne gibi avantajlar sağlar?

  • Yeni özellikler: Hem Görüntü Etiketleme hem de Nesne Algılama ve İzleme için AutoML ile eğitilmiş modeller kullanma ve meta verilerine yerleştirilmiş etiket haritasıyla modeller kullanma olanağı.

Android için Taşıma Kılavuzu

1. Adım: Gradle İçe Aktarmalarını güncelleyin

Modülünüzdeki (uygulama düzeyi) 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ı
Uzaktan 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
Uzaktan model indirme ile 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

Çok az kod değişikliği vardır:

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

Aşağıda eski ve yeni Kotlin yöntemlerinin bazı örnekleri 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 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 Kılavuzu

Ön koşullar

  • Xcode 13.2.1 veya daha yenisi gereklidir.

1. Adım: Cocoapod'ları güncelleyin

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

Öne ÇıkarınEski kapsül adlarıYeni kapsül adları
Uzaktan model indirmeden AutoML görüntü etiketleme GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
Uzaktan model indirme ile 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

Çok az kod değişikliği vardır:

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

Aşağıda eski ve yeni Swift yöntemlerine 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 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];