راهنمای انتقال ML Kit AutoML Vision Edge

شما می‌توانید یک مدل طبقه‌بندی تصویر آموزش‌دیده توسط AutoML را به APIهای مدل سفارشی منتقل کنید. می‌توانید مدل را درون برنامه خود بسته‌بندی کنید یا آن را به عنوان یک مدل سفارشی در کنسول Firebase میزبانی کنید. API برچسب‌گذاری تصویر AutoML از ML Kit حذف شده است زیرا به طور کامل با API برچسب‌گذاری تصویر مدل سفارشی جایگزین شده است.

رابط برنامه‌نویسی کاربردی چه چیزی در حال تغییر است؟
API برچسب‌گذاری تصویر AutoML Vision Edge این API به طور کامل با API برچسب‌گذاری تصویر مدل سفارشی جایگزین شده است. API برچسب‌گذاری تصویر AutoML Vision Edge موجود حذف شده است.

اگر در حال حاضر کاربر کیت یادگیری ماشین هستید و از AutoML Vision Edge API استفاده می‌کنید، لطفاً دستورالعمل‌های مهاجرت برای اندروید و iOS را دنبال کنید.

سوالات متداول

چرا این تغییر؟

این به ساده‌سازی APIهای کیت ML کمک می‌کند و ادغام کیت ML را در برنامه شما آسان‌تر می‌کند. با این تغییر، می‌توانید از یک مدل آموزش‌دیده AutoML دقیقاً به همان روشی که از یک مدل سفارشی استفاده می‌کنید، استفاده کنید. همچنین به شما این امکان را می‌دهد که علاوه بر برچسب‌گذاری تصویر که در حال حاضر از آن پشتیبانی می‌کنیم، از مدل‌های آموزش‌دیده AutoML برای تشخیص و ردیابی شیء استفاده کنید. علاوه بر این، API مدل سفارشی از هر دو مدل با نقشه برچسب تعبیه شده در ابرداده خود و مدل‌هایی با فایل‌های مانیفست و برچسب جداگانه پشتیبانی می‌کند.

با مهاجرت به SDK جدید چه مزایایی کسب می‌کنم؟

  • ویژگی‌های جدید: امکان استفاده از مدل‌های آموزش‌دیده AutoML برای برچسب‌گذاری تصویر و تشخیص و ردیابی شیء و امکان استفاده از مدل‌هایی که نقشه برچسب در فراداده آنها تعبیه شده است.

راهنمای مهاجرت به اندروید

مرحله 1: به‌روزرسانی ایمپورت‌های Gradle

وابستگی‌های کتابخانه‌های اندروید ML Kit را در فایل Gradle ماژول (سطح برنامه) خود (معمولاً app/build.gradle ) طبق جدول زیر به‌روزرسانی کنید:

ویژگی آثار باستانی مصنوع جدید
برچسب‌گذاری تصویر AutoML بدون دانلود مدل از راه دور com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:image-labeling-custom:16.0.0-beta5
برچسب‌گذاری تصویر AutoML با دانلود مدل از راه دور 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

مرحله ۲: به‌روزرسانی نام کلاس‌ها

اگر کلاس شما در این جدول وجود دارد، تغییر مشخص شده را اعمال کنید:

کلاس قدیمی کلاس جدید
com.google.mlkit.vision.label.automl.AutoMLImageLabelerLocalModel com.google.mlkit.common.model.LocalModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerRemodel com.google.mlkit.common.model.CustomRemoteModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

مرحله ۳: به‌روزرسانی نام متدها

تغییرات کد حداقلی هستند:

  • اکنون LocalModel می‌تواند با مسیر فایل مدل (اگر مدل دارای فراداده‌ای حاوی نقشه برچسب باشد) یا مسیر فایل مانیفست مدل (اگر مانیفست، مدل و برچسب‌ها در فایل‌های جداگانه باشند) مقداردهی اولیه شود.
  • شما می‌توانید یک مدل سفارشی را از راه دور از طریق کنسول Firebase میزبانی کنید و یک CustomRemoteModel را با FirebaseModelSource مقداردهی اولیه کنید.

در اینجا چند نمونه از متدهای قدیمی و جدید کاتلین آورده شده است:

قدیمی

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

جدید

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

در اینجا چند نمونه از متدهای قدیمی و جدید جاوا آورده شده است:

قدیمی

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

جدید

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

پیش‌نیازها

  • Xcode نسخه ۱۳.۲.۱ یا بالاتر مورد نیاز است.

مرحله ۱: به‌روزرسانی Cocoapods

وابستگی‌های cocoapods مربوط به ML Kit iOS را در Podfile برنامه خود به‌روزرسانی کنید:

ویژگی نام(های) قدیمی پاد نام(های) پاد جدید
برچسب‌گذاری تصویر AutoML بدون دانلود مدل از راه دور GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
برچسب‌گذاری تصویر AutoML با دانلود مدل از راه دور GoogleMLKit/ImageLabelingAutoML
گوگل ام ال کیت/لینک فایربیس
GoogleMLKit/ImageLabelingCustom
گوگل ام ال کیت/لینک فایربیس

مرحله ۲: به‌روزرسانی نام کلاس‌ها

اگر کلاس شما در این جدول وجود دارد، تغییر مشخص شده را اعمال کنید:

سویفت

کلاس قدیمی کلاس جدید
برچسب‌گذار تصویر خودکارمدل محلی مدل محلی
برچسب‌گذار تصویر خودکارمدل از راه دور مدل سفارشی از راه دور
گزینه‌های برچسب‌گذار تصویر خودکار گزینه‌های برچسب‌گذاری تصویر سفارشی

هدف-سی

کلاس قدیمی کلاس جدید
MLKAutoMLImageLabelerLocalModel مدل محلی MLK
MLKAutoMLImageLabelerRemoteModel مدل راه دور سفارشی MLK
گزینه‌های برچسب‌گذار MLKAutoMLImage گزینه‌های برچسب‌گذار تصویر سفارشی MLK

هدف-سی

مرحله ۳: به‌روزرسانی نام متدها

تغییرات کد حداقلی هستند:

  • اکنون LocalModel می‌تواند با مسیر فایل مدل (اگر مدل دارای فراداده‌ای حاوی نقشه برچسب باشد) یا مسیر فایل مانیفست مدل (اگر مانیفست، مدل و برچسب‌ها در فایل‌های جداگانه باشند) مقداردهی اولیه شود.
  • شما می‌توانید یک مدل سفارشی را از راه دور از طریق کنسول Firebase میزبانی کنید و یک CustomRemoteModel را با FirebaseModelSource مقداردهی اولیه کنید.

در اینجا چند نمونه از متدهای قدیمی و جدید Swift آورده شده است:

قدیمی

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

جدید

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)

در اینجا چند نمونه از متدهای قدیمی و جدید Objective-C آورده شده است:

قدیمی

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

جدید

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