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

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

एमएल किट के एपीआई में मॉडल को तीन तरीकों से इंस्टॉल किया जा सकता है:

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

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

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

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

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

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

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