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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    <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 ফিচার ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে আপনার অ্যাপের gradle ফাইল আপডেট করুন।

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

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

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