Android-এ ML Kit মডেল ইনস্টলেশন পাথ

সব ML Kit ফিচার ডিফল্ট হিসেবে Google-এর প্রশিক্ষণ দেওয়া মেশিন লার্নিং মডেল (বেস মডেল হিসেবে পরিচিত) ব্যবহার করে। এই নির্দেশিকা শুধুমাত্র বেস মডেলের ক্ষেত্রে প্রযোজ্য। কাস্টম মডেল সংক্রান্ত নির্দেশিকার জন্য এখানে দেখুন।

ML Kit API-তে মডেল তিনটি উপায়ের মধ্যে যেকোনও একটিতে ইনস্টল করা যেতে পারে:

  1. আনবান্ডেল করা: Google Play পরিষেবার মাধ্যমে মডেল ডাউনলোড ও ম্যানেজ করা হয়।
  2. বান্ডেল করা: বিল্ড করার সময় মডেলগুলি আপনার অ্যাপের সাথে স্ট্যাটিক্যালি লিঙ্ক করা থাকে।
  3. ডায়নামিকালি ডাউনলোড করা: চাহিদা অনুযায়ী মডেল ডাউনলোড করা হয়।

প্রতিটি API-এর জন্য কাজ করে এমন ইনস্টলেশন পাথ

নিচের সারণীতে দেখানো হয়েছে যে প্রতিটি ML Kit ফিচারের জন্য কোন মডেল ইনস্টলেশন পাথ কাজ করে:

আনবান্ডেল করা হয়েছে বান্ডেল করা হয়েছে ডায়নামিকালি ডাউনলোড করা হয়েছে
টেক্সট রিকগনিশন v2 ✅ ✅
ফেস ডিটেকশন ✅ ✅
ফেস মেশ ডিটেকশন ✅
পোজ শনাক্তকরণ ✅
সেলফি সেগমেন্টেশন ✅
বারকোড স্ক্যানিং ✅ ✅
ছবির লেবেলিং ✅ ✅
অবজেক্ট ডিটেকশন ও ট্র্যাকিং ✅
ডিজিটাল ইঙ্ক রিকগনিশন ✅
ডকুমেন্ট স্ক্যানার ✅
বিষয়ভিত্তিক সেগমেন্টেশন ✅
Google কোড স্ক্যানার ✅
ভাষা শনাক্তকরণ ✅ ✅
অনুবাদ ✅
স্মার্ট রিপ্লাই ✅ ✅
Entity Extraction ✅

API-নির্দিষ্ট নির্দেশিকা দেখায় যে প্রদত্ত API-এর জন্য কোন ইনস্টলেশন বিকল্পগুলি উপলব্ধ।

ইনস্টলেশন বিকল্পগুলির মধ্যে মূল পার্থক্য

আনবান্ডেল করা হয়েছে বান্ডেল করা ডায়নামিকালি ডাউনলোড করা হয়েছে
মডেল কোথায় স্টোর করা হয়? Google Play পরিষেবায় থাকে এবং এই অ্যাপের দ্বারা ব্যবহৃত স্টোরেজের মধ্যে গণনা করা হয় না ইনস্টল করার পরে অ্যাপ-নির্দিষ্ট স্টোরেজে সেভ করা হয় মডেল ডাউনলোড করার পরে অ্যাপ-নির্দিষ্ট স্টোরেজে সেভ করা হয়
মডেল সাইজ কীভাবে অ্যাপ সাইজকে প্রভাবিত করে? অ্যাপের সাইজে কোনও প্রভাব ফেলে না অ্যাপের সাইজে সরাসরি অবদান রাখে অ্যাপের সাইজ বাড়ায় না, তবে অ্যাপ-নির্দিষ্ট স্টোরেজ বাড়ায়
মডেল কখন আপডেট করা হয়? নতুন ভার্সন রিলিজ হলে অটোমেটিক আপডেট করা হয় মডেল আপডেট করতে অ্যাপ আপডেট করতে হবে মডেল আপডেট করতে অ্যাপ আপডেট করতে হবে
মডেল কখন ডাউনলোড করা হয়? ব্যবহার করার আগে মডেল ডাউনলোড করতে হবে অ্যাপ ইনস্টল করার সময় সব মডেল ও ফিচার অন্তর্ভুক্ত করা হয়, তাই সাথে সাথেই ব্যবহার করা যায় মডেল ডাউনলোড, আপডেট ও মুছে দেওয়ার মতো কাজগুলি RemoteModelManager API ব্যবহার করে ম্যানুয়ালি ম্যানেজ করতে হবে
ডিভাইস থেকে মডেল কখন সরানো হয়? মডেলের উপর নির্ভর করে এমন সব অ্যাপ আনইনস্টল করা হলে তবেই Google Play পরিষেবা স্টোরেজ থেকে মডেলটি সরিয়ে দেবে অ্যাপ আনইনস্টল করা হলে অ্যাপ-নির্দিষ্ট স্টোরেজ থেকে মডেল সরিয়ে দেওয়া হয় অ্যাপ আনইনস্টল করা হলে ডাউনলোড করা মডেল অ্যাপ-নির্দিষ্ট স্টোরেজ থেকে সরিয়ে দেওয়া হয়

বান্ডেল করা ও বান্ডেল না করা বিকল্পের মধ্যে কীভাবে বেছে নেবেন

কোনও API-তে বান্ডেল করা ও বান্ডেল না করা ইনস্টলেশন বিকল্প, দুটিই কাজ করলে:

  • আপনি যদি এগুলিকে অগ্রাধিকার দেন তাহলে বান্ডেল করা বিকল্পটি ব্যবহার করুন:

    • অ্যাপ ইনস্টল করার সাথে সাথেই সম্পূর্ণ ফিচার কার্যকারিতা
    • অ্যাপ ইনস্টল করার পরে নেটওয়ার্ক কানেকশন ছাড়াই ফিচারের কার্যকারিতা
  • আপনি যদি এগুলিকে অগ্রাধিকার দেন তাহলে আনবান্ডেল করা বিকল্পটি ব্যবহার করুন:

    • অ্যাপের সাইজ ছোট করা হয়েছে
    • Google Play Services-এর মাধ্যমে অটোমেটেড মডেল আপডেট

কীভাবে মডেল ডাউনলোড করতে হয়

আনবান্ডেল করা মডেল বিকল্প ব্যবহার করার সময়, আপনি ডিভাইসে কীভাবে মডেল ডাউনলোড করতে চান তা নির্দিষ্ট করতে পারবেন:

  • আপনার অ্যাপের AndroidManifest.xml ফাইলে একটি ঘোষণা যোগ করে আপনি ইনস্টল-টাইম মডেল ডাউনলোড চালু করতে পারবেন। যেমন, নিচের কোড স্নিপেট থেকে জানতে পারবেন যে Play Store থেকে আপনার অ্যাপ ইনস্টল করার পরে বারকোড স্ক্যানিং মডেল অটোমেটিক ডাউনলোড করার জন্য আপনার অ্যাপ কীভাবে কনফিগার করবেন:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • আপনি Google Play পরিষেবা ModuleInstallClient API-এর মাধ্যমে এক্সপ্লিসিট ডাউনলোডের অনুরোধ করতে পারবেন।

  • আপনি যদি ইনস্টল-টাইম মডেল ডাউনলোড চালু না করেন বা স্পষ্ট ডাউনলোডের অনুরোধ না করেন, তাহলে আপনি প্রথমবার ফিচারটি চালানোর সময় মডেলটি ডাউনলোড করা হবে। ডাউনলোড সম্পূর্ণ না হওয়া পর্যন্ত, ইনফারেন্স সংক্রান্ত অনুরোধ কাজ করবে না।

কীভাবে মডেল আপডেট করবেন

বান্ডেল করা মডেল বা ডায়নামিকভাবে ডাউনলোড করা মডেল বিকল্প ব্যবহার করার সময় আপনার মডেল আপডেট করতে:

  1. লেটেস্ট ML Kit ফিচার ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে আপনার অ্যাপের গ্রেডেল ফাইল আপডেট করুন।

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. আপনার অ্যাপ আবার তৈরি করুন।

কিছু API কেন ডায়নামিকভাবে ডাউনলোড করা মডেল অফার করে

কিছু ML Kit API-তে বান্ডেল করার জন্য অনেক মডেল বিকল্প আছে। যেমন, ডিজিটাল ইঙ্ক শনাক্তকরণ ফিচার ৩০০টিরও বেশি ভাষা সাপোর্ট করে এবং ইনস্টল করার সময় ফিচারের মধ্যে প্রতিটি ভাষা যোগ করার প্রয়োজন হয় না। সেই কারণে, আমরা তৃতীয় ইনস্টলেশন বিকল্প প্রদান করি, যেখানে ইনস্টলেশনের পরে চাহিদা অনুযায়ী মডেল ডাউনলোড করা হয়। বর্তমানে, শুধুমাত্র ডিজিটাল ইঙ্ক শনাক্তকরণ, অনুবাদ এবং এনটিটি এক্সট্র্যাকশন-এর ক্ষেত্রে এই বিকল্প আছে।