میتوانید مدل طبقهبندی تصویر آموزشدیده با 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];