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

می‌توانید مدل طبقه‌بندی تصویر آموزش‌دیده با AutoML را به واسط‌های برنامه‌نویسی کاربردی مدل سفارشی منتقل کنید. می‌توانید همچنان مدل را در برنامه دسته‌بندی کنید یا آن را به‌عنوان مدل سفارشی در «کنسول Firebase» میزبانی کنید. ‫AutoML image labeling API از ML Kit برداشته شده است زیرا به‌طور کامل با Custom Model Image Labeling API جایگزین شده است.

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

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

پرسشگان

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

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

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

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

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

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

وابستگی‌های کتابخانه‌های ML Kit 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

وابستگی‌های cocoapods کیت یادگیری ماشین iOS را در 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];