এমএল কিট অটোএমএল ভিশন এজ মাইগ্রেশন গাইড

আপনি একটি AutoML-প্রশিক্ষিত ইমেজ ক্লাসিফিকেশন মডেল কাস্টম মডেল API-গুলোতে পাস করতে পারেন। আপনি মডেলটিকে আপনার অ্যাপের ভেতরে বান্ডল করতে পারেন অথবা ফায়ারবেস কনসোলে একটি কাস্টম মডেল হিসেবে হোস্ট করতে পারেন। AutoML ইমেজ লেবেলিং API-টি ML Kit থেকে সরিয়ে ফেলা হয়েছে, কারণ এটিকে কাস্টম মডেল ইমেজ লেবেলিং API দ্বারা সম্পূর্ণরূপে প্রতিস্থাপন করা হয়েছে।

এপিআই কী পরিবর্তন হচ্ছে?
অটোএমএল ভিশন এজ ইমেজ লেবেলিং এপিআই এটি কাস্টম মডেল ইমেজ লেবেলিং এপিআই দ্বারা সম্পূর্ণরূপে প্রতিস্থাপিত হয়েছে। বিদ্যমান অটোএমএল ভিশন এজ ইমেজ লেবেলিং এপিআই সরিয়ে ফেলা হয়েছে।

আপনি যদি বর্তমানে AutoML Vision Edge API ব্যবহারকারী একজন ML Kit ব্যবহারকারী হয়ে থাকেন, তাহলে অনুগ্রহ করে Android এবং iOS-এর জন্য মাইগ্রেশন নির্দেশাবলী অনুসরণ করুন।

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

এই পরিবর্তনের কারণ কী?

এটি এমএল কিট এপিআই (ML Kit APIs)-কে সরল করতে এবং আপনার অ্যাপে এমএল কিট ইন্টিগ্রেট করা আরও সহজ করে তোলে। এই পরিবর্তনের ফলে, আপনি একটি অটোএমএল-ট্রেইনড মডেলকে ঠিক একটি কাস্টম মডেলের মতোই ব্যবহার করতে পারবেন। এটি আপনাকে বর্তমানে সমর্থিত ইমেজ লেবেলিং-এর পাশাপাশি অবজেক্ট ডিটেকশন এবং ট্র্যাকিং-এর জন্যও অটোএমএল-ট্রেইনড মডেল ব্যবহার করার সুযোগ দেয়। এছাড়াও, কাস্টম মডেল এপিআই এমন মডেল, যার মেটাডেটাতে লেবেল ম্যাপ এমবেড করা থাকে, এবং এমন মডেল, যার আলাদা ম্যানিফেস্ট ও লেবেল ফাইল রয়েছে—উভয়কেই সাপোর্ট করে।

নতুন SDK-তে স্থানান্তরিত হলে আমি কী কী সুবিধা পাব?

  • নতুন বৈশিষ্ট্য: ইমেজ লেবেলিং এবং অবজেক্ট ডিটেকশন ও ট্র্যাকিং উভয়ের জন্য অটোএমএল-প্রশিক্ষিত মডেল ব্যবহারের সুবিধা এবং মেটাডেটাতে লেবেল ম্যাপ এমবেড করা মডেল ব্যবহারের সুবিধা।

অ্যান্ড্রয়েডের জন্য মাইগ্রেশন গাইড

ধাপ ১: গ্রেডল ইমপোর্ট আপডেট করুন

নিম্নলিখিত সারণি অনুসারে আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) এমএল কিট অ্যান্ড্রয়েড লাইব্রেরির নির্ভরতাগুলো আপডেট করুন:

বৈশিষ্ট্য পুরানো নিদর্শন নতুন নিদর্শন
রিমোট মডেল ডাউনলোড ছাড়াই অটোএমএল দ্বারা ইমেজ লেবেলিং 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
com.google.mlkit:linkfirebase:17.0.0

ধাপ ২: ক্লাসের নামগুলো আপডেট করুন

যদি আপনার ক্লাসটি এই সারণিতে থাকে, তাহলে নির্দেশিত পরিবর্তনটি করুন:

পুরানো শ্রেণী নতুন শ্রেণী
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.CustomRemoteModel
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions com.google.mlkit.vision.label.custom.CustomImageLabelerOptions

ধাপ ৩: মেথডের নামগুলো আপডেট করুন

কোডে সামান্য কিছু পরিবর্তন করা হয়েছে:

  • LocalModel এখন একটি মডেল ফাইলের পাথ (যদি মডেলটিতে লেবেল ম্যাপ সম্বলিত মেটাডেটা থাকে) অথবা একটি মডেল ম্যানিফেস্ট ফাইলের পাথ (যদি ম্যানিফেস্ট, মডেল এবং লেবেলগুলো আলাদা ফাইলে থাকে) দিয়ে ইনিশিয়ালাইজ করা যেতে পারে।
  • আপনি Firebase Console-এর মাধ্যমে দূরবর্তীভাবে একটি কাস্টম মডেল হোস্ট করতে পারেন এবং একটি FirebaseModelSource ব্যবহার করে একটি CustomRemoteModel ইনিশিয়ালাইজ করতে পারেন।

এখানে পুরানো এবং নতুন কোটলিন মেথডের কিছু উদাহরণ দেওয়া হলো:

পুরানো

val localModel = AutoMLImageLabelerLocalModel.Builder()
    .setAssetFilePath("automl/manifest.json")
    // or .setAbsoluteFilePath(absolute file 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()

নতুন

val localModel = LocalModel.Builder()
    .setAssetManifestFilePath("automl/manifest.json")
    // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
    .build()

val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel)
    .setConfidenceThreshold(0.5f)
    .build()

val firebaseModelSource = FirebaseModelSource.Builder("automl_remote_model")
    .build()
val remoteModel = CustomRemoteModel.Builder(firebaseModelSource).build()
val optionsWithRemoteModel = CustomImageLabelerOptions.Builder(remoteModel)
    .build()

এখানে পুরাতন এবং নতুন জাভা মেথডের কিছু উদাহরণ দেওয়া হলো:

পুরানো

AutoMLImageLabelerLocalModel localModel =
    new AutoMLImageLabelerLocalModel.Builder()
        .setAssetFilePath("automl/manifest.json")
        // or .setAbsoluteFilePath(absolute file 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();

নতুন

LocalModel localModel =
    new LocalModel.Builder()
        .setAssetManifestFilePath("automl/manifest.json")
        // or .setAbsoluteManifestFilePath(absolute file path to manifest file)
        .build()
CustomImageLabelerOptions optionsWithLocalModel =
    new CustomImageLabelerOptions.Builder(localModel)
        .setConfidenceThreshold(0.5f)
        .build();
FirebaseModelSource firebaseModelSource =
    new FirebaseModelSource.Builder("automl_remote_model").build();
CustomRemoteModel remoteModel =
    new CustomRemoteModel.Builder(firebaseModelSource).build();
CustomImageLabelerOptions optionsWithRemoteModel =
    new CustomImageLabelerOptions.Builder(remoteModel).build();

iOS এর জন্য মাইগ্রেশন গাইড

পূর্বশর্ত

  • এক্সকোড ১৩.২.১ বা তার উচ্চতর সংস্করণ প্রয়োজন।

ধাপ ১: কোকোপডস আপডেট করুন

আপনার অ্যাপের Podfile-এ ML Kit iOS cocoapods-এর জন্য নির্ভরতাগুলো আপডেট করুন:

বৈশিষ্ট্য পুরানো পডের নাম(গুলি) নতুন পডের নাম(গুলি)
রিমোট মডেল ডাউনলোড ছাড়াই অটোএমএল দ্বারা ইমেজ লেবেলিং GoogleMLKit/ImageLabelingAutoML GoogleMLKit/ImageLabelingCustom
রিমোট মডেল ডাউনলোডিং সহ ইমেজ লেবেলিং অটোএমএল GoogleMLKit/ImageLabelingAutoML
GoogleMLKit/LinkFirebase
GoogleMLKit/ImageLabelingCustom
GoogleMLKit/LinkFirebase

ধাপ ২: ক্লাসের নামগুলো আপডেট করুন

যদি আপনার ক্লাসটি এই সারণিতে থাকে, তাহলে নির্দেশিত পরিবর্তনটি করুন:

সুইফট

পুরানো শ্রেণী নতুন শ্রেণী
অটোএমএলইমেজলেবেলারলোকালমডেল স্থানীয় মডেল
অটোএমএলইমেজলেবেলাররিমোটমডেল কাস্টম রিমোট মডেল
AutoMLImageLabelerOptions কাস্টমইমেজলেবেলারঅপশন

উদ্দেশ্য-সি

পুরানো শ্রেণী নতুন শ্রেণী
MLKAutoMLImageLabelerLocalModel এমএলকেলোকালমডেল
MLKAutoMLImageLabelerRemoteModel MLKCustomRemoteModel
MLKAutoMLImageLabelerOptions MLKCustomImageLabelerOptions

উদ্দেশ্য-সি

ধাপ ৩: মেথডের নামগুলো আপডেট করুন

কোডে সামান্য কিছু পরিবর্তন করা হয়েছে:

  • LocalModel এখন একটি মডেল ফাইলের পাথ (যদি মডেলটিতে লেবেল ম্যাপ সম্বলিত মেটাডেটা থাকে) অথবা একটি মডেল ম্যানিফেস্ট ফাইলের পাথ (যদি ম্যানিফেস্ট, মডেল এবং লেবেলগুলো আলাদা ফাইলে থাকে) দিয়ে ইনিশিয়ালাইজ করা যেতে পারে।
  • আপনি Firebase Console-এর মাধ্যমে দূরবর্তীভাবে একটি কাস্টম মডেল হোস্ট করতে পারেন এবং একটি FirebaseModelSource ব্যবহার করে একটি CustomRemoteModel ইনিশিয়ালাইজ করতে পারেন।

এখানে পুরানো এবং নতুন সুইফট মেথডের কিছু উদাহরণ দেওয়া হলো:

পুরানো

let localModel =
    AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json")
let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel)
let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model")
let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)

নতুন

guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return }
let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
let firebaseModelSource = FirebaseModelSource(name: "automl_remote_model")
let remoteModel = CustomRemoteModel(remoteModelSource: firebaseModelSource)
let optionsWithRemoteModel = CustomImageLabelerOptions(remoteModel: remoteModel)

এখানে পুরাতন এবং নতুন অবজেক্টিভ-সি মেথডগুলোর কিছু উদাহরণ দেওয়া হলো:

পুরানো

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

নতুন

MLKLocalModel *localModel =
    [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"];
MLKCustomImageLabelerOptions *optionsWithLocalModel =
    [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];
MLKFirebaseModelSource *firebaseModelSource =
    [[MLKFirebaseModelSource alloc] initWithName:@"automl_remote_model"];
MLKCustomRemoteModel *remoteModel =
    [[MLKCustomRemoteModel alloc] initWithRemoteModelSource:firebaseModelSource];
MLKCustomImageLabelerOptions *optionsWithRemoteModel =
    [[MLKCustomImageLabelerOptions alloc] initWithRemoteModel:remoteModel];