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

डिफ़ॉल्ट रूप से, एमएल किट की सभी सुविधाएं, 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 और इकाई की जानकारी निकालने की सुविधा के लिए उपलब्ध है.