راهنمای انتقال 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.kts ) مطابق جدول زیر به‌روزرسانی کنید:

ویژگی آثار باستانی مصنوع جدید
برچسب‌گذاری تصویر 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
برای میزبانی و دانلود مدل‌های سفارشی، مدل‌های خود را به Cloud Storage منتقل کنید و منطق دانلود را در برنامه خود اضافه کنید تا آنها را با استفاده از LocalModel بارگذاری کنید. برای جزئیات بیشتر، به [راهنمای مهاجرت Firebase ML به Cloud Storage][migrate-storage] مراجعه کنید.

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

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

کلاس قدیمی کلاس جدید
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.LocalModel
برنامه شما باید شامل منطقی برای دانلود مدل‌های میزبانی شده از راه دور و مقداردهی اولیه آنها با استفاده از LocalModel باشد.
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

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

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

  • اکنون LocalModel می‌تواند با یک مسیر مدل (اگر مدل دارای فراداده‌ای حاوی نقشه برچسب باشد) یا یک مسیر مانیفست مدل (اگر مانیفست، مدل و برچسب‌ها در فایل‌های جداگانه باشند) مقداردهی اولیه شود.
  • منطق برنامه خود را برای دانلود مدل‌های میزبانی شده از راه دور به حافظه محلی و بارگذاری آنها با استفاده از LocalModel اضافه کنید.

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

قدیمی

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

جدید

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

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

قدیمی

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

جدید

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

راهنمای مهاجرت به iOS

پیش‌نیازها

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

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

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

ویژگی نام(های) قدیمی پاد نام(های) پاد جدید
برچسب‌گذاری تصویر AutoML بدون دانلود مدل از راه دور GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
برچسب‌گذاری تصویر AutoML با دانلود مدل از راه دور GoogleMLKit/ImageLabelingAutoML
گوگل ام ال کیت/لینک فایربیس
GoogleMLKit/ImageLabelingCustom
برای میزبانی و دانلود مدل‌های سفارشی، مدل‌های خود را به فضای ذخیره‌سازی ابری منتقل کنید و منطق دانلود را در برنامه خود اضافه کنید تا آنها را به عنوان مدل‌های محلی بارگذاری کنید. برای جزئیات بیشتر، به [راهنمای مهاجرت Firebase ML به فضای ذخیره‌سازی ابری][migrate-storage] مراجعه کنید.

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

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

سویفت

کلاس قدیمی کلاس جدید
برچسب‌گذار تصویر خودکارمدل محلی مدل محلی
برچسب‌گذار تصویر خودکارمدل از راه دور مدل محلی
برای میزبانی و دانلود مدل‌های سفارشی، مدل‌های خود را به فضای ذخیره‌سازی ابری منتقل کنید و منطق دانلود را در برنامه خود اضافه کنید تا آنها را به عنوان مدل‌های محلی بارگذاری کنید. برای جزئیات بیشتر، به [راهنمای مهاجرت Firebase ML به فضای ذخیره‌سازی ابری][migrate-storage] مراجعه کنید.
گزینه‌های برچسب‌گذار تصویر خودکار گزینه‌های برچسب‌گذاری تصویر سفارشی

هدف-سی

کلاس قدیمی کلاس جدید
MLKAutoMLImageLabelerLocalModel مدل محلی MLK
MLKAutoMLImageLabelerRemoteModel مدل محلی MLK
برای میزبانی و دانلود مدل‌های سفارشی، مدل‌های خود را به فضای ذخیره‌سازی ابری منتقل کنید و منطق دانلود را در برنامه خود اضافه کنید تا آنها را به عنوان مدل‌های محلی بارگذاری کنید. برای جزئیات بیشتر، به [راهنمای مهاجرت Firebase ML به فضای ذخیره‌سازی ابری][migrate-storage] مراجعه کنید.
گزینه‌های برچسب‌گذار MLKAutoMLImage گزینه‌های برچسب‌گذار تصویر سفارشی MLK

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

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

  • اکنون LocalModel می‌تواند با یک مسیر مدل (اگر مدل دارای فراداده‌ای حاوی نقشه برچسب باشد) یا یک مسیر مانیفست مدل (اگر مانیفست، مدل و برچسب‌ها در فایل‌های جداگانه باشند) مقداردهی اولیه شود.
  • منطق برنامه خود را برای دانلود مدل‌های میزبانی شده از راه دور به حافظه محلی و بارگذاری آنها با استفاده از LocalModel اضافه کنید.

در اینجا چند نمونه از متدهای قدیمی و جدید 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)

جدید

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

در اینجا چند نمونه از متدهای قدیمی و جدید 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];

جدید

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