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

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

ML Kit API में मॉडल, इन तीन में से किसी एक तरीके से इंस्टॉल किए जा सकते हैं:

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

हर एपीआई के लिए इस्तेमाल किए जा सकने वाले इंस्टॉलेशन पाथ

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

अनबंडल किया गया बंडल किए गए डाइनैमिक रूप से डाउनलोड किया गया
टेक्स्ट की पहचान करने वाला वर्शन 2
चेहरे की पहचान
फ़ेस मेश डिटेक्शन
पोज़ की पहचान करना
सेल्फ़ी को अलग-अलग सेगमेंट में बांटना
बारकोड स्कैन करना
इमेज को लेबल करना
ऑब्जेक्ट का पता लगाना और उसे ट्रैक करना
डिजिटल इंक की पहचान
दस्तावेज़ स्कैन करने वाले ऐप्लिकेशन
विषय का सेगमेंट
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. एमएल किट की नई सुविधा वाली क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की ग्रेडल फ़ाइल को अपडेट करें.

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

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

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