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

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

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

اگر از AutoML Vision Edge API استفاده می‌کنید، دستورالعمل‌های انتقال را برای Android و iOS دنبال کنید.

پرسشگان

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

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

انتقال به کیت توسعه نرم‌افزار جدید چه مزایایی برای من دارد؟

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

راهنمای انتقال برای Android

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

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

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

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

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

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

قدیمی

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

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

قدیمی

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 را به‌روز کنید

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

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

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

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

Swift

کلاس قدیمیکلاس جدید
AutoMLImageLabelerLocalModel LocalModel
AutoMLImageLabelerRemoteModel LocalModel
برای میزبانی و بارگیری مدل‌های سفارشی، مدل‌هایتان را به Cloud Storage منتقل کنید و منطق بارگیری را به برنامه‌تان اضافه کنید تا آن‌ها را به‌عنوان مدل‌های محلی بار کند. برای جزئیات، [راهنمای انتقال Firebase ML به Cloud Storage][migrate-storage] را ببینید.
AutoMLImageLabelerOptions CustomImageLabelerOptions

آبجکتیو-سی

کلاس قدیمیکلاس جدید
MLKAutoMLImageLabelerLocalModel MLKLocalModel
MLKAutoMLImageLabelerRemoteModel MLKLocalModel
برای میزبانی و بارگیری مدل‌های سفارشی، مدل‌هایتان را به Cloud Storage منتقل کنید و منطق بارگیری را به برنامه‌تان اضافه کنید تا آن‌ها را به‌عنوان مدل‌های محلی بار کند. برای جزئیات، [راهنمای انتقال Firebase ML به Cloud Storage][migrate-storage] را ببینید.
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

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

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

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