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

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

ML Kit API में मौजूद मॉडल को तीन तरीकों से इंस्टॉल किया जा सकता है:

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

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

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

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

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

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

अनबंडल्ड बंडल किए गए डाइनैमिक तरीके से डाउनलोड किया गया
मॉडल कहां सेव किए जाते हैं? यह Google Play services में मौजूद होता है और इसे इस ऐप्लिकेशन के लिए इस्तेमाल किए गए स्टोरेज में नहीं गिना जाता इंस्टॉल होने के बाद, ऐप्लिकेशन के हिसाब से तय किए गए स्टोरेज में सेव किया जाता है मॉडल डाउनलोड होने के बाद, ऐप्लिकेशन के हिसाब से स्टोरेज में सेव किया जाता है
मॉडल के साइज़ का ऐप्लिकेशन के साइज़ पर क्या असर पड़ता है? इससे ऐप्लिकेशन के साइज़ पर कोई असर नहीं पड़ता इससे ऐप्लिकेशन का साइज़ सीधे तौर पर बढ़ता है इससे ऐप्लिकेशन का साइज़ नहीं बढ़ता, लेकिन ऐप्लिकेशन के लिए स्टोरेज बढ़ जाता है
मॉडल कब अपडेट किए जाते हैं? नया वर्शन रिलीज़ होने पर, अपने-आप अपडेट हो जाता है मॉडल को अपडेट करने के लिए, ऐप्लिकेशन को अपडेट करना ज़रूरी है मॉडल को अपडेट करने के लिए, ऐप्लिकेशन को अपडेट करना ज़रूरी है
मॉडल कब डाउनलोड किए जाते हैं? मॉडल का इस्तेमाल करने से पहले उन्हें डाउनलोड करना ज़रूरी है ऐप्लिकेशन इंस्टॉल करने पर, सभी मॉडल और सुविधाएँ शामिल होती हैं. इसलिए, इनका इस्तेमाल तुरंत किया जा सकता है मॉडल को डाउनलोड, अपडेट, और मिटाने के लिए, RemoteModelManager API का इस्तेमाल करके, मैन्युअल तरीके से मैनेज करना होगा
डिवाइस से मॉडल कब हटाए जाते हैं? 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 API में बंडल करने के लिए, मॉडल के बहुत ज़्यादा विकल्प होते हैं. उदाहरण के लिए, डिजिटल इंक को पहचानने की सुविधा 300 से ज़्यादा भाषाओं के साथ काम करती है. साथ ही, इसे इंस्टॉल करते समय हर भाषा को शामिल करना ज़रूरी नहीं होता. इसके लिए, हम तीसरा इंस्टॉलेशन विकल्प उपलब्ध कराते हैं. इसमें मॉडल, इंस्टॉलेशन के बाद मांग पर डाउनलोड किए जाते हैं. फ़िलहाल, यह विकल्प सिर्फ़ डिजिटल इंक की पहचान करने, अनुवाद करने, और इकाई निकालने की सुविधा के लिए उपलब्ध है.