डिफ़ॉल्ट रूप से, ML किट के एपीआई Google के मशीन लर्निंग मॉडल का इस्तेमाल करते हैं. ये मॉडल कई तरह के ऐप्लिकेशन में काम करने के लिए डिज़ाइन किए गए हैं. हालांकि, कुछ उपयोग के मामलों में ज़्यादा टारगेट किए गए मॉडल की ज़रूरत होती है. यही वजह है कि कुछ ML Kit API अब आपको डिफ़ॉल्ट मॉडल को कस्टम TensorFlow Lite मॉडल से बदलने की सुविधा देते हैं.
इमेज लेबलिंग और ऑब्जेक्ट डिटेक्शन और ट्रैकिंग एपीआई, दोनों ही कस्टम इमेज की कैटगरी तय करने वाले मॉडल के साथ काम करते हैं. यह सुविधा, TensorFlow Hub पर मौजूद अच्छी क्वालिटी के, पहले से ट्रेनिंग वाले मॉडल या आपकी पसंद के मुताबिक बनाए गए मॉडल के साथ काम करती है. इन्हें TensorFlow, AutoML Vision Edge या TensorFlow Lite के साथ ट्रेनिंग दी गई है.
अगर आपको अन्य डोमेन या इस्तेमाल के उदाहरणों के लिए, कस्टम समाधान की ज़रूरत है, तो डिवाइस पर मशीन लर्निंग से जुड़े Google के सभी समाधान और टूल की जानकारी पाने के लिए, डिवाइस पर मशीन लर्निंग पेज पर जाएं.
कस्टम मॉडल के साथ एमएल किट का इस्तेमाल करने के फ़ायदे
मशीन लर्निंग (एमएल किट) मॉडल के साथ, पसंद के मुताबिक इमेज क्लासिफ़िकेशन मॉडल इस्तेमाल करने के फ़ायदे:
- इस्तेमाल में आसान हाई लेवल एपीआई - लो-लेवल मॉडल इनपुट/आउटपुट से निपटने और इमेज प्री-/पोस्ट-प्रोसेसिंग को हैंडल करने या प्रोसेसिंग पाइपलाइन बनाने की कोई ज़रूरत नहीं है.
- लेबल मैपिंग के बारे में चिंता करने की ज़रूरत नहीं है: एमएल किट TFLite मॉडल मेटाडेटा से लेबल निकालता है और आपके लिए मैपिंग करता है.
- अलग-अलग सोर्स से कस्टम मॉडल को इस्तेमाल किया जा सकता है. इनमें TensorFlow हब पर प्रकाशित पहले से प्रशिक्षित मॉडल से लेकर TensorFlow के साथ काम करने वाले नए मॉडल भी शामिल हैं. AutoML Vision Edge या TensorFlow Lite Model Maker.
- Firebase के साथ होस्ट किए गए मॉडल का समर्थन करता है. मांग पर मॉडल डाउनलोड करके APK का साइज़ कम करता है. अपने ऐप्लिकेशन को फिर से प्रकाशित किए बिना मॉडल अपडेट भेजें और Firebase रिमोट कॉन्फ़िगरेशन की मदद से आसानी से A/B टेस्टिंग करें.
- Android के Camera API के साथ इंटिग्रेशन के लिए ऑप्टिमाइज़ किया गया.
खास तौर पर, ऑब्जेक्ट की पहचान और ट्रैकिंग के लिए:
- पहले, ऑब्जेक्ट की जगह की सटीक जानकारी को बेहतर बनाने के लिए, इमेज की कैटगरी के हिसाब से क्लासिफ़ायर तय करें और सिर्फ़ उस कैटगरी पर रखें.
- रीयल-टाइम में इंटरैक्टिव अनुभव देने के लिए, अपने उपयोगकर्ताओं को उन ऑब्जेक्ट के बारे में तुरंत सुझाव दें जब उनका पता लगाकर उन्हें अलग-अलग कैटगरी में बांटा जाता है.
पहले से प्रशिक्षित चित्र वर्गीकरण मॉडल का उपयोग करें
पहले से तैयार किए गए TensorFlow Lite मॉडल का इस्तेमाल किया जा सकता है, बशर्ते वे ज़रूरी शर्तें पूरी करते हों. {3/}
TensorFlow हब पर प्रकाशित मॉडल का इस्तेमाल करें
TensorFlow हब में, कई तरह के प्री-ट्रेन किए गए इमेज क्लासिफ़िकेशन मॉडल उपलब्ध कराए जाते हैं. ये मॉडल, अलग-अलग मॉडल क्रिएटर्स से मिलते हैं. इन्हें इमेज लेबलिंग और ऑब्जेक्ट की पहचान और ट्रैकिंग एपीआई के साथ इस्तेमाल किया जा सकता है. यह तरीका अपनाएं.
- ML किट के साथ काम करने वाले मॉडल के कलेक्शन में से कोई मॉडल चुनें.
- मॉडल विवरण पेज से .tflite मॉडल फ़ाइल डाउनलोड करें. जहां उपलब्ध हो, मेटाडेटा के साथ मॉडल का फ़ॉर्मैट चुनें.
- अपने प्रोजेक्ट के साथ मॉडल फ़ाइल को बंडल करने और उसे अपने Android या iOS ऐप्लिकेशन में इस्तेमाल करने के तरीके के बारे में जानने के लिए, इमेज लेबलिंग एपीआई या ऑब्जेक्ट पहचान और ट्रैकिंग एपीआई के लिए हमारी गाइड देखें.
इमेज की कैटगरी तय करने वाले मॉडल को ट्रेनिंग दें
अगर कोई भी प्री-प्रशिक्षित इमेज क्लासिफ़िकेशन मॉडल आपकी ज़रूरतों को पूरा नहीं करता है, तो आपके पास अपने TensorFlow Lite मॉडल को ट्रेनिंग देने के कई तरीके हैं, जिनमें से कुछ के बारे में नीचे ज़्यादा जानकारी दी गई है.
इमेज की कैटगरी तय करने वाले मॉडल को ट्रेनिंग देने के विकल्प | |
---|---|
AutoML विज़न एज |
|
TensorFlow लाइट मॉडल मेकर |
|
किसी TensorFlow मॉडल को TensorFlow Lite में बदलना |
|
AutoML Vision Edge
ऑटोएमएल विज़न एज का इस्तेमाल करके, इमेज की कैटगरी तय करने वाले मॉडल इमेज लेबलिंग और ऑब्जेक्ट का पता लगाने वाले टूल और ट्रैकिंग एपीआई के एपीआई में काम करते हैं. इन एपीआई से ऐसे मॉडल डाउनलोड किए जा सकते हैं जिन्हें Firebase मॉडल डिप्लॉयमेंट पर होस्ट किया गया हो.
अपने Android और iOS ऐप्लिकेशन में AutoML Vision Edge की मदद से प्रशिक्षित मॉडल को इस्तेमाल करने के बारे में और जानने के लिए, अपने इस्तेमाल के हिसाब से, हर एपीआई के लिए कस्टम मॉडल गाइड का पालन करें.
TensorFlow लाइट मॉडल मेकर
TFLite मॉडल मेकर लाइब्रेरी, डिवाइस पर मौजूद ML ऐप्लिकेशन के लिए मॉडल को डिप्लॉय करते समय, TensorFlow न्यूरल नेटवर्क मॉडल को खास इनपुट डेटा में बदलने और कन्वर्ट करने की प्रोसेस को आसान बनाती है. TenorFlow Lite Model Maker की मदद से, इमेज को कैटगरी में बांटने के लिए Colab का इस्तेमाल किया जा सकता है.
अपने Android और iOS ऐप्लिकेशन में मॉडल मेकर से सीखे गए मॉडल को इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, इस्तेमाल की स्थिति के हिसाब से इमेज लेबलिंग एपीआई या ऑब्जेक्ट पहचानने और ट्रैकिंग एपीआई से जुड़ी हमारी गाइड देखें.
TensorFlow लाइट कन्वर्टर का इस्तेमाल करके बनाए गए मॉडल
अगर आपके पास मौजूदा TensorFlow इमेज क्लासिफ़िकेशन मॉडल है, तो इसे TensorFlow Lite कन्वर्टर का इस्तेमाल करके बदला जा सकता है. कृपया पक्का करें कि बनाया गया मॉडल, नीचे दी गई कंपैटबिलिटी से जुड़ी ज़रूरी शर्तों को पूरा करता हो.
अपने Android और iOS ऐप्लिकेशन में TensorFlow लाइट मॉडल का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, इस्तेमाल की स्थिति के हिसाब से इमेज लेबलिंग एपीआई या ऑब्जेक्ट का पता लगाना और ट्रैकिंग एपीआई के लिए हमारी गाइड देखें.
TensorFlow लाइट मॉडल के साथ काम करना
आप पहले से प्रशिक्षित TensorFlow Lite की मदद से, इमेज की कैटगरी तय करने वाले मॉडल का इस्तेमाल कर सकते हैं, बशर्ते कि वह इन ज़रूरी शर्तों को पूरा करता हो:
टेनसॉर
- मॉडल में इन पाबंदियों के साथ सिर्फ़ एक इनपुट टेंसर होना चाहिए:
- डेटा RGB पिक्सेल फ़ॉर्मैट में है.
- डेटा UINT8 या FLOAT32 टाइप का है. अगर इनपुट टेंसर का प्रकार FLOAT32 है, तो इसे मेटाडेटा अटैच करके नॉर्मलाइज़ेशन के विकल्प बताने होंगे.
- टेंसर में चार डाइमेंशन होते हैं : BxHxWxC, जहां:
- B, बैच साइज़ है. यह 1 होना चाहिए (बड़े बैच के लिए अनुमान मान्य नहीं है).
- W और H इनपुट की चौड़ाई और ऊंचाई हैं.
- C, संभावित चैनलों की संख्या है. यह तीन होनी चाहिए.
- मॉडल में N क्लास वाला कम से कम एक आउटपुट टेंसर और दो या चार डाइमेंशन होना चाहिए:
- (1xN)
- (1x1x1xN)
- फ़िलहाल, सिर्फ़ एक-सिर वाले मॉडल पूरी तरह से काम करते हैं. मल्टी-हेड मॉडल से अचानक कोई भी नतीजा मिल सकता है.
मेटाडेटा
आप TensorFlow लाइट फ़ाइल में मेटाडेटा जोड़ सकते हैं, जैसा कि TenorFlow Lite मॉडल में मेटाडेटा जोड़ना में बताया गया है.
FLOAT32 इनपुट टेंसर के साथ किसी मॉडल का इस्तेमाल करने के लिए, आपको मेटाडेटा में normalizationOptions को तय करना होगा.
हमारा सुझाव है कि आप इस मेटाडेटा को आउटपुट टेंसर Tensorमेटाडेटा से अटैच करें:
- हर आउटपुट क्लास के नाम के बारे में बताने वाला लेबल मैप. इसे AssociatedFile के तौर पर असाइन किया जाता है. इसमें TENSOR_AXIS_लेबल टाइप होता है, नहीं तो सिर्फ़ न्यूमेरिक आउटपुट क्लास के इंडेक्स दिए जा सकते हैं
- यह एक डिफ़ॉल्ट स्कोर थ्रेशोल्ड होता है, जिसके तहत दिए जाने वाले नतीजों को इस बात के लिए बहुत कम भरोसा होता है कि उन्हें लौटाया जा सकता है. ऐसा ProcessUnit के तौर पर होता है जिसमें स्कोर थ्रेशोल्डिंग विकल्प शामिल होते हैं