আপনি একটি AutoML-প্রশিক্ষিত ইমেজ ক্লাসিফিকেশন মডেল কাস্টম মডেল API-গুলোতে পাস করতে পারেন। আপনি মডেলটিকে আপনার অ্যাপের ভেতরে বান্ডল করতে পারেন অথবা ফায়ারবেস কনসোলে একটি কাস্টম মডেল হিসেবে হোস্ট করতে পারেন। AutoML ইমেজ লেবেলিং API-টি ML Kit থেকে সরিয়ে ফেলা হয়েছে, কারণ এটিকে কাস্টম মডেল ইমেজ লেবেলিং API দ্বারা সম্পূর্ণরূপে প্রতিস্থাপন করা হয়েছে।
| এপিআই | কী পরিবর্তন হচ্ছে? |
|---|---|
| অটোএমএল ভিশন এজ ইমেজ লেবেলিং এপিআই | এটি কাস্টম মডেল ইমেজ লেবেলিং এপিআই দ্বারা সম্পূর্ণরূপে প্রতিস্থাপিত হয়েছে। বিদ্যমান অটোএমএল ভিশন এজ ইমেজ লেবেলিং এপিআই সরিয়ে ফেলা হয়েছে। |
আপনি যদি AutoML Vision Edge API ব্যবহার করেন, তাহলে Android এবং iOS-এর জন্য মাইগ্রেশন নির্দেশাবলী অনুসরণ করুন।
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
এই পরিবর্তনের কারণ কী?
এটি এমএল কিট এপিআই (ML Kit APIs)-কে সরল করতে এবং আপনার অ্যাপে এমএল কিট ইন্টিগ্রেট করা আরও সহজ করে তোলে। এই পরিবর্তনের ফলে, আপনি একটি অটোএমএল (AutoML)-প্রশিক্ষিত মডেলকে ঠিক একটি কাস্টম মডেলের মতোই ব্যবহার করতে পারবেন। এটি আপনাকে আমাদের সমর্থিত ইমেজ লেবেলিং (Image Labeling)-এর পাশাপাশি অবজেক্ট ডিটেকশন (Object Detection) এবং ট্র্যাকিং (Tracking)-এর জন্যও অটোএমএল-প্রশিক্ষিত মডেল ব্যবহার করার সুযোগ দেয়। অধিকন্তু, কাস্টম মডেল এপিআই এমন মডেল, যার মেটাডেটাতে লেবেল ম্যাপ এমবেড করা থাকে, এবং এমন মডেল, যার আলাদা ম্যানিফেস্ট ও লেবেল ফাইল রয়েছে—উভয়কেই সমর্থন করে।
নতুন SDK-তে স্থানান্তরিত হলে আমি কী কী সুবিধা পাব?
- নতুন বৈশিষ্ট্য: ইমেজ লেবেলিং এবং অবজেক্ট ডিটেকশন ও ট্র্যাকিং উভয়ের জন্য অটোএমএল-প্রশিক্ষিত মডেল ব্যবহারের সুবিধা এবং মেটাডেটাতে লেবেল ম্যাপ এমবেড করা মডেল ব্যবহারের সুবিধা।
অ্যান্ড্রয়েডের জন্য মাইগ্রেশন গাইড
ধাপ ১: গ্রেডল ইমপোর্ট আপডেট করুন
নিম্নলিখিত সারণি অনুসারে আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle.kts ) এমএল কিট অ্যান্ড্রয়েড লাইব্রেরির নির্ভরতাগুলো আপডেট করুন:
| বৈশিষ্ট্য | পুরানো নিদর্শন | নতুন নিদর্শন |
|---|---|---|
| রিমোট মডেল ডাউনলোড ছাড়াই অটোএমএল দ্বারা ইমেজ লেবেলিং | com.google.mlkit:image-labeling-automl:16.2.1 | com.google.mlkit:image-labeling-custom:16.0.0-beta5 |
| রিমোট মডেল ডাউনলোডিং সহ ইমেজ লেবেলিং অটোএমএল | 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 কাস্টম মডেল হোস্ট ও ডাউনলোড করতে, আপনার মডেলগুলোকে ক্লাউড স্টোরেজে স্থানান্তর করুন এবং LocalModel ব্যবহার করে সেগুলো লোড করার জন্য আপনার অ্যাপে ডাউনলোড লজিক যোগ করুন। বিস্তারিত জানতে, [Firebase ML to Cloud Storage migration guide][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ব্যবহার করে সেগুলো লোড করবে।
এখানে পুরানো এবং নতুন কোটলিন মেথডের কিছু উদাহরণ দেওয়া হলো:
পুরানো
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 এর জন্য মাইগ্রেশন গাইড
পূর্বশর্ত
- এক্সকোড ১৩.২.১ বা তার উচ্চতর সংস্করণ প্রয়োজন।
ধাপ ১: কোকোপডস আপডেট করুন
আপনার অ্যাপের Podfile-এ ML Kit iOS cocoapods-এর জন্য নির্ভরতাগুলো আপডেট করুন:
| বৈশিষ্ট্য | পুরানো পডের নাম(গুলি) | নতুন পডের নাম(গুলি) |
|---|---|---|
| রিমোট মডেল ডাউনলোড ছাড়াই অটোএমএল দ্বারা ইমেজ লেবেলিং | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| রিমোট মডেল ডাউনলোডিং সহ ইমেজ লেবেলিং অটোএমএল | GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase | GoogleMLKit/ImageLabelingCustom কাস্টম মডেল হোস্ট ও ডাউনলোড করতে, আপনার মডেলগুলোকে ক্লাউড স্টোরেজে স্থানান্তর করুন এবং সেগুলোকে লোকাল মডেল হিসেবে লোড করার জন্য আপনার অ্যাপে ডাউনলোড লজিক যোগ করুন। বিস্তারিত জানতে, [Firebase ML to Cloud Storage migration guide][migrate-storage] দেখুন। |
ধাপ ২: ক্লাসের নামগুলো আপডেট করুন
যদি আপনার ক্লাসটি এই সারণিতে থাকে, তাহলে নির্দেশিত পরিবর্তনটি করুন:
সুইফট
| পুরানো শ্রেণী | নতুন শ্রেণী |
|---|---|
| অটোএমএলইমেজলেবেলারলোকালমডেল | স্থানীয় মডেল |
| অটোএমএলইমেজলেবেলাররিমোটমডেল | স্থানীয় মডেল কাস্টম মডেল হোস্ট ও ডাউনলোড করতে, আপনার মডেলগুলোকে ক্লাউড স্টোরেজে স্থানান্তর করুন এবং সেগুলোকে লোকাল মডেল হিসেবে লোড করার জন্য আপনার অ্যাপে ডাউনলোড লজিক যোগ করুন। বিস্তারিত জানতে, [Firebase ML to Cloud Storage migration guide][migrate-storage] দেখুন। |
| AutoMLImageLabelerOptions | কাস্টমইমেজলেবেলারঅপশন |
উদ্দেশ্য-সি
| পুরানো শ্রেণী | নতুন শ্রেণী |
|---|---|
| MLKAutoMLImageLabelerLocalModel | এমএলকেলোকালমডেল |
| MLKAutoMLImageLabelerRemoteModel | এমএলকেলোকালমডেল কাস্টম মডেল হোস্ট ও ডাউনলোড করতে, আপনার মডেলগুলোকে ক্লাউড স্টোরেজে স্থানান্তর করুন এবং সেগুলোকে লোকাল মডেল হিসেবে লোড করার জন্য আপনার অ্যাপে ডাউনলোড লজিক যোগ করুন। বিস্তারিত জানতে, [Firebase ML to Cloud Storage migration guide][migrate-storage] দেখুন। |
| MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
ধাপ ৩: মেথডের নামগুলো আপডেট করুন
কোডে সামান্য কিছু পরিবর্তন করা হয়েছে:
-
LocalModelএখন একটি মডেল পাথ (যদি মডেলটিতে লেবেল ম্যাপ সম্বলিত মেটাডেটা থাকে) অথবা একটি মডেল ম্যানিফেস্ট পাথ (যদি ম্যানিফেস্ট, মডেল এবং লেবেলগুলো আলাদা ফাইলে থাকে) দিয়ে ইনিশিয়ালাইজ করা যেতে পারে। - আপনার অ্যাপে এমন লজিক যোগ করুন যা দূরবর্তীভাবে হোস্ট করা মডেলগুলোকে লোকাল স্টোরেজে ডাউনলোড করবে এবং
LocalModelব্যবহার করে সেগুলো লোড করবে।
এখানে পুরানো এবং নতুন সুইফট মেথডের কিছু উদাহরণ দেওয়া হলো:
পুরানো
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)
এখানে পুরাতন এবং নতুন অবজেক্টিভ-সি মেথডগুলোর কিছু উদাহরণ দেওয়া হলো:
পুরানো
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];