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

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

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

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

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

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

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