एमएल किट की सभी सुविधाएं, डिफ़ॉल्ट रूप से Google के ट्रेन किए गए मशीन लर्निंग मॉडल (जिन्हें बेस मॉडल कहा जाता है) का इस्तेमाल करती हैं. यह गाइड, सिर्फ़ बेस मॉडल पर लागू होती है. कस्टम मॉडल के बारे में जानकारी पाने के लिए, यहां जाएं.
ML Kit API में मौजूद मॉडल को इन तीन तरीकों से इंस्टॉल किया जा सकता है:
- अनबंडल्ड: मॉडल, Google Play Services के ज़रिए डाउनलोड और मैनेज किए जाते हैं.
- बंडल किया गया: मॉडल, बिल्ड टाइम पर आपके ऐप्लिकेशन से स्टैटिक तौर पर लिंक किए जाते हैं.
- डाइनैमिक तरीके से डाउनलोड किए गए: मॉडल को मांग पर डाउनलोड किया जाता है.
हर एपीआई के लिए, इंस्टॉल करने के पाथ
नीचे दी गई टेबल में बताया गया है कि एमएल किट की हर सुविधा के लिए, मॉडल इंस्टॉलेशन के कौनसे पाथ इस्तेमाल किए जा सकते हैं:
| अनबंडल्ड | बंडल किया गया | डाइनैमिक तरीके से डाउनलोड किया गया | |
| टेक्स्ट की पहचान करने की सुविधा v2 | ✅ | ✅ | |
| चेहरे की पहचान | ✅ | ✅ | |
| चेहरे के मेश का पता लगाना | ✅ | ||
| पोज़ का पता लगाना | ✅ | ||
| सेल्फ़ी सेगमेंटेशन | ✅ | ||
| बारकोड स्कैन करना | ✅ | ✅ | |
| इमेज को लेबल करना | ✅ | ✅ | |
| ऑब्जेक्ट का पता लगाने की सुविधा और उसे ट्रैक करना | ✅ | ||
| डिजिटल इंक को पहचानने की सुविधा | ✅ | ||
| दस्तावेज़ स्कैन करने वाला ऐप्लिकेशन | ✅ | ||
| विषय के हिसाब से सेगमेंटेशन | ✅ | ||
| Google कोड स्कैनर | ✅ | ||
| भाषा की पहचान करना | ✅ | ✅ | |
| Translation | ✅ | ||
| स्मार्ट जवाब | ✅ | ✅ | |
| इकाई की जानकारी निकालना | ✅ |
एपीआई के हिसाब से दी गई गाइड में, यह बताया जाता है कि दिए गए एपीआई के लिए, इंस्टॉलेशन के कौनसे विकल्प उपलब्ध हैं.
इंस्टॉल करने के विकल्पों के बीच मुख्य अंतर
| अनबंडल्ड | बंडल किया गया | डाइनैमिक तरीके से डाउनलोड किया गया | |
| मॉडल कहां सेव किए जाते हैं? | यह Google Play Services में मौजूद होता है और इसे इस ऐप्लिकेशन के इस्तेमाल किए गए स्टोरेज में नहीं गिना जाता | ऐप्लिकेशन इंस्टॉल करने के बाद, ऐप्लिकेशन के लिए खास तौर पर बनाए गए स्टोरेज में सेव किया जाता है | मॉडल डाउनलोड होने के बाद, ऐप्लिकेशन के लिए खास तौर पर बने स्टोरेज में सेव किया जाता है |
| मॉडल के साइज़ का ऐप्लिकेशन के साइज़ पर क्या असर पड़ता है? | इससे ऐप्लिकेशन का साइज़ नहीं बढ़ता | इससे ऐप्लिकेशन का साइज़ सीधे तौर पर बढ़ता है | इससे ऐप्लिकेशन के साइज़ पर कोई असर नहीं पड़ता, लेकिन ऐप्लिकेशन के लिए खास तौर पर बने स्टोरेज का साइज़ बढ़ जाता है |
| मॉडल कब अपडेट किए जाते हैं? | नया वर्शन रिलीज़ होने पर अपने-आप अपडेट हो जाता है | मॉडल को अपडेट करने के लिए, ऐप्लिकेशन को अपडेट करना ज़रूरी है | मॉडल को अपडेट करने के लिए, ऐप्लिकेशन को अपडेट करना ज़रूरी है |
| मॉडल कब डाउनलोड किए जाते हैं? | इस्तेमाल करने से पहले मॉडल डाउनलोड करना ज़रूरी है | ऐप्लिकेशन इंस्टॉल करने पर, सभी मॉडल और सुविधाएं शामिल होती हैं. इसलिए, इनका तुरंत इस्तेमाल किया जा सकता है | मॉडल डाउनलोड करने, अपडेट करने, और मिटाने के लिए, RemoteModelManager API का इस्तेमाल करके, मैन्युअल तरीके से मैनेज करना होगा |
| डिवाइस से मॉडल कब हटाए जाते हैं? | Google Play Services, मॉडल को सिर्फ़ तब स्टोरेज से हटाएगी, जब मॉडल पर निर्भर सभी ऐप्लिकेशन अनइंस्टॉल कर दिए गए हों | ऐप्लिकेशन को अनइंस्टॉल करने पर, मॉडल ऐप्लिकेशन के हिसाब से तय की गई स्टोरेज लोकेशन से हटा दिए जाते हैं | ऐप्लिकेशन को अनइंस्टॉल करने पर, डाउनलोड किए गए मॉडल ऐप्लिकेशन के हिसाब से तय की गई स्टोरेज लोकेशन से हटा दिए जाते हैं |
बंडल किए गए और बंडल नहीं किए गए ऑफ़र में से किसी एक को चुनने का तरीका
अगर कोई एपीआई, बंडल किए गए और बंडल नहीं किए गए, दोनों तरह के इंस्टॉलेशन के विकल्प के साथ काम करता है, तो:
अगर आपको इन चीज़ों को प्राथमिकता देनी है, तो बंडल किए गए प्रॉडक्ट का विकल्प इस्तेमाल करें:
- ऐप्लिकेशन इंस्टॉल करने के तुरंत बाद, सुविधा की पूरी फ़ंक्शनैलिटी का इस्तेमाल करना
- ऐप्लिकेशन इंस्टॉल करने के बाद, नेटवर्क कनेक्शन के बिना सुविधा का इस्तेमाल करना
अगर आपको इन बातों को प्राथमिकता देनी है, तो बंडल नहीं किए गए विकल्प का इस्तेमाल करें:
- ऐप्लिकेशन का साइज़ कम होना
- Google Play services की मदद से मॉडल अपने-आप अपडेट होना
मॉडल डाउनलोड करने का तरीका
अनबंडल्ड मॉडल के विकल्प का इस्तेमाल करते समय, यह तय किया जा सकता है कि डिवाइस पर मॉडल कैसे डाउनलोड किए जाएं:
अपने ऐप्लिकेशन की
AndroidManifest.xmlफ़ाइल में एलान जोड़कर, ऐप्लिकेशन इंस्टॉल करते समय मॉडल डाउनलोड करने की सुविधा चालू की जा सकती है. उदाहरण के लिए, नीचे दिए गए कोड स्निपेट में बताया गया है कि Play Store से ऐप्लिकेशन इंस्टॉल होने के बाद, Barcode Scanning मॉडल को अपने-आप डाउनलोड होने के लिए कैसे कॉन्फ़िगर करें:<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 से ज़्यादा भाषाओं के साथ काम करती है. साथ ही, इंस्टॉल करने के दौरान हर भाषा को इस सुविधा में शामिल करना हमेशा ज़रूरी नहीं होता. इसके लिए, हम तीसरा इंस्टॉलेशन विकल्प उपलब्ध कराते हैं. इसमें मॉडल, इंस्टॉलेशन के बाद मांग पर डाउनलोड किए जाते हैं. फ़िलहाल, यह विकल्प सिर्फ़ डिजिटल इंक की पहचान करने, अनुवाद करने, और इकाई की जानकारी निकालने के लिए उपलब्ध है.