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 की मदद से, साफ़ तौर पर डाउनलोड करने का अनुरोध किया जा सकता है ModuleUninstallClient API का इस्तेमाल करें.

  • अगर इंस्टॉल के समय मॉडल डाउनलोड करने की सुविधा चालू नहीं की जाती है या अश्लील कॉन्टेंट डाउनलोड करने का अनुरोध नहीं किया जाता है, तो पहली बार इस सुविधा को इस्तेमाल करने पर मॉडल डाउनलोड हो जाएगा. जब तक डाउनलोड पूरा नहीं हो जाता, तब तक अनुमान के अनुरोध नहीं किए जा सकेंगे.

मॉडल अपडेट करने का तरीका

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

  1. एमएल किट की नई सुविधा वाली क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की ग्रेडल फ़ाइल अपडेट करें.

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

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

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