Android पर ML किट मॉडल को इंस्टॉल करने के पाथ

ML Kit की सभी सुविधाएं, डिफ़ॉल्ट रूप से Google के ट्रेन किए गए मशीन लर्निंग मॉडल का इस्तेमाल करती हैं. इन्हें बेस मॉडल कहा जाता है. यह गाइड सिर्फ़ बेस मॉडल पर लागू होती है. कस्टम मॉडल के बारे में ज़्यादा जानकारी के लिए, यहां देखें.

ML Kit के एपीआई में मौजूद मॉडल, इन तीन तरीकों में से किसी एक तरीके से इंस्टॉल किए जा सकते हैं:

  1. अनबंडल किए गए: मॉडल, Google Play Services के ज़रिए डाउनलोड और मैनेज किए जाते हैं.
  2. बंडल किए गए: ये मॉडल, बिल्ड के समय आपके ऐप्लिकेशन से स्टैटिक तौर पर लिंक किए जाते हैं.
  3. डाइनैमिक तरीके से डाउनलोड किए गए मॉडल: ये मॉडल, मांग पर डाउनलोड किए जाते हैं.

हर एपीआई के लिए, इंस्टॉल करने के तरीके

यहां दी गई टेबल में बताया गया है कि ML Kit की हर सुविधा के लिए, मॉडल इंस्टॉल करने के कौनसे पाथ इस्तेमाल किए जा सकते हैं:

अनबंडल किया गया बंडल किए गए डाइनैमिक तौर पर डाउनलोड किया गया
टेक्स्ट की पहचान करने की सुविधा का दूसरा वर्शन ✅ ✅
चेहरे की पहचान ✅ ✅
फ़ेस मेश की पहचान करना ✅
पोज़ का पता लगाना ✅
सेल्फ़ी सेगमेंटेशन ✅
बारकोड स्कैन करना ✅ ✅
इमेज लेबलिंग ✅ ✅
ऑब्जेक्ट का पता लगाने और उसे ट्रैक करने की सुविधा ✅
डिजिटल इंक की पहचान ✅
दस्तावेज़ स्कैन करने वाले ऐप्लिकेशन ✅
सब्जेक्ट सेगमेंटेशन ✅
Google कोड स्कैनर ✅
भाषा की पहचान करना ✅ ✅
Translation ✅
स्मार्ट जवाब ✅ ✅
एंटिटी एक्सट्रैक्शन ✅

एपीआई के हिसाब से बनी गाइड से पता चलता है कि किसी एपीआई के लिए, इंस्टॉल करने के कौनसे विकल्प उपलब्ध हैं.

इंस्टॉल करने के विकल्पों के बीच मुख्य अंतर

अनबंडल किया गया बंडल किए गए डाइनैमिक तौर पर डाउनलोड किया गया
मॉडल कहां सेव किए जाते हैं? यह Google Play Services में मौजूद होता है. साथ ही, इसे इस ऐप्लिकेशन के इस्तेमाल किए गए स्टोरेज में नहीं गिना जाता इंस्टॉल होने के बाद, ऐप्लिकेशन के लिए तय स्टोरेज में सेव किया गया मॉडल डाउनलोड होने के बाद, ऐप्लिकेशन के लिए तय किए गए स्टोरेज में सेव किया जाता है
मॉडल के साइज़ का ऐप्लिकेशन के साइज़ पर क्या असर पड़ता है? इससे ऐप्लिकेशन का साइज़ नहीं बढ़ता ऐप्लिकेशन के साइज़ पर सीधा असर डालता है इससे ऐप्लिकेशन का साइज़ नहीं बढ़ता, लेकिन ऐप्लिकेशन के लिए तय स्टोरेज बढ़ जाता है
मॉडल कब अपडेट किए जाते हैं? नया वर्शन रिलीज़ होने पर, यह अपने-आप अपडेट हो जाता है मॉडल को अपडेट करने के लिए, ऐप्लिकेशन को अपडेट करना ज़रूरी है मॉडल को अपडेट करने के लिए, ऐप्लिकेशन को अपडेट करना ज़रूरी है
मॉडल कब डाउनलोड किए जाते हैं? इस्तेमाल करने से पहले, मॉडल डाउनलोड करने होंगे ऐप्लिकेशन इंस्टॉल करने पर, सभी मॉडल और सुविधाएं शामिल हो जाती हैं. इसलिए, इनका इस्तेमाल तुरंत किया जा सकता है मॉडल को डाउनलोड, अपडेट, और मिटाने की प्रोसेस को मैन्युअल तरीके से मैनेज करना होगा. इसके लिए, RemoteModelManager एपीआई का इस्तेमाल करें
डिवाइस से मॉडल कब हटाए जाते हैं? Google Play Services, मॉडल को स्टोरेज से सिर्फ़ तब हटाएगा, जब उस मॉडल पर निर्भर सभी ऐप्लिकेशन अनइंस्टॉल कर दिए जाएंगे ऐप्लिकेशन अनइंस्टॉल करने पर, ऐप्लिकेशन के लिए तय स्टोरेज से मॉडल हटा दिए जाते हैं ऐप्लिकेशन अनइंस्टॉल करने पर, डाउनलोड किए गए मॉडल ऐप्लिकेशन के स्टोरेज से हटा दिए जाते हैं

बंडल और अनबंडल किए गए प्रॉडक्ट के बीच कैसे चुनें

अगर कोई एपीआई, बंडल और अनबंडल, दोनों तरह के इंस्टॉलेशन विकल्पों के साथ काम करता है, तो:

  • बंडल वाले विकल्प का इस्तेमाल तब करें, जब आपको:

    • ऐप्लिकेशन इंस्टॉल करने के तुरंत बाद, सुविधा के सभी फ़ंक्शन उपलब्ध कराना
    • ऐप्लिकेशन इंस्टॉल करने के बाद, इंटरनेट कनेक्शन के बिना सुविधा का काम करना
  • अनबंडल किए गए विकल्प का इस्तेमाल तब करें, जब आपको:

    • ऐप्लिकेशन का साइज़ छोटा होना
    • 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 services के ModuleInstallClient API की मदद से, डाउनलोड करने का अनुरोध किया जा सकता है.

  • अगर आपने इंस्टॉल के समय मॉडल डाउनलोड करने की सुविधा चालू नहीं की है या साफ़ तौर पर डाउनलोड करने का अनुरोध नहीं किया है, तो सुविधा को पहली बार इस्तेमाल करने पर मॉडल डाउनलोड हो जाएगा. डाउनलोड पूरा होने तक, अनुमान लगाने के अनुरोध पूरे नहीं होंगे.

मॉडल अपडेट करने का तरीका

बंडल किए गए मॉडल या डाइनैमिक तौर पर डाउनलोड किए गए मॉडल के विकल्प का इस्तेमाल करते समय, अपने मॉडल अपडेट करने के लिए:

  1. ML Kit की सुविधा वाली नई क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की Gradle फ़ाइल को अपडेट करें.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. अपना ऐप्लिकेशन फिर से बनाएं.

कुछ एपीआई, डाइनैमिक तौर पर डाउनलोड किए गए मॉडल क्यों उपलब्ध कराते हैं

ML Kit के कुछ एपीआई में, बंडल करने के लिए कई मॉडल विकल्प होते हैं. उदाहरण के लिए, डिजिटल इंक रिकग्निशन 300 से ज़्यादा भाषाओं के साथ काम करता है. हालांकि, इंस्टॉलेशन के दौरान, हर भाषा को सुविधा में शामिल करना ज़रूरी नहीं है. इसके लिए, हम इंस्टॉल करने का तीसरा विकल्प उपलब्ध कराते हैं. इसमें, इंस्टॉल करने के बाद ज़रूरत के हिसाब से मॉडल डाउनलोड किए जाते हैं. फ़िलहाल, यह विकल्प सिर्फ़ डिजिटल इंक की पहचान, अनुवाद, और इकाई की जानकारी निकालने के लिए उपलब्ध है.