ML Kit की सभी सुविधाएं, डिफ़ॉल्ट रूप से Google के ट्रेन किए गए मशीन लर्निंग मॉडल (जिन्हें बेस मॉडल कहा जाता है) का इस्तेमाल करती हैं. यह गाइड सिर्फ़ बुनियादी मॉडल पर लागू होती है. कस्टम मॉडल के बारे में दिशा-निर्देश पाने के लिए यहां देखें.
ML Kit API में मॉडल को इन तीन में से किसी एक तरीके से इंस्टॉल किया जा सकता है:
- अलग-अलग: मॉडल, Google Play services की मदद से डाउनलोड और मैनेज किए जाते हैं.
- बंडल किए गए: मॉडल, बिल्ड के समय आपके ऐप्लिकेशन से स्टैटिक तौर पर लिंक होते हैं.
- डाइनैमिक तौर पर डाउनलोड किए जाते हैं: मॉडल, मांग पर डाउनलोड किए जाते हैं.
हर एपीआई के लिए इंस्टॉलेशन के काम करने वाले पाथ
नीचे दी गई टेबल में बताया गया है कि MLKit की हर सुविधा के साथ, मॉडल इंस्टॉल करने के कौनसे पाथ काम करते हैं:
अलग-अलग बेचे जाने वाले प्रॉडक्ट | बंडल किए गए | डाइनैमिक तौर पर डाउनलोड की गई | |
टेक्स्ट की पहचान करने की सुविधा का वर्शन 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 के ModuleInstallClient API की मदद से, एक्सप्लिट कॉन्टेंट डाउनलोड करने का अनुरोध किया जा सकता है.
अगर आपने ऐप्लिकेशन इंस्टॉल करते समय मॉडल डाउनलोड करने की सुविधा चालू नहीं की है या साफ़ तौर पर डाउनलोड करने का अनुरोध नहीं किया है, तो इस सुविधा को पहली बार इस्तेमाल करने पर मॉडल डाउनलोड हो जाएगा. डाउनलोड पूरा होने तक, अनुमान लगाने के अनुरोध काम नहीं करेंगे.
मॉडल अपडेट करने का तरीका
बंडल किए गए मॉडल या डाइनैमिक तौर पर डाउनलोड किए गए मॉडल के विकल्प का इस्तेमाल करते समय, अपने मॉडल अपडेट करने के लिए:
ML Kit की नई सुविधा वाली क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की gradle फ़ाइल अपडेट करें.
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }
अपना ऐप्लिकेशन फिर से बनाएं.
कुछ एपीआई, डाइनैमिक तौर पर डाउनलोड किए गए मॉडल क्यों ऑफ़र करते हैं
कुछ ML Kit API में, बंडल करने के लिए बहुत ज़्यादा मॉडल विकल्प होते हैं. उदाहरण के लिए, डिजिटल इनक की पहचान करने की सुविधा 300 से ज़्यादा भाषाओं के साथ काम करती है. हालांकि, इंस्टॉल करने के दौरान हर भाषा को इस सुविधा में शामिल करना ज़रूरी नहीं है. इसके लिए, हम इंस्टॉल करने का तीसरा विकल्प देते हैं. इसमें इंस्टॉल करने के बाद, मॉडल मांग पर डाउनलोड किए जाते हैं. फ़िलहाल, सिर्फ़ डिजिटल स्याही की पहचान करने, अनुवाद, और इकाई को अलग करने की सुविधा के लिए यह विकल्प उपलब्ध है.