एमएल किट वाले कस्टम मॉडल

डिफ़ॉल्ट रूप से, ML Kit के एपीआई में Google के ट्रेन किए गए मशीन लर्निंग मॉडल का इस्तेमाल किया जाता है. ये मॉडल कई तरह के ऐप्लिकेशन को कवर करने के लिए डिज़ाइन किए गए हैं. हालांकि, इस्तेमाल के कुछ मामलों में, ज़्यादा टारगेट किए गए मॉडल की ज़रूरत होती है. इसलिए, कुछ ML Kit API (एपीआई) को अब डिफ़ॉल्ट मॉडल को, पसंद के मुताबिक TensorFlow Lite मॉडल से बदलने की अनुमति है.

इमेज लेबलिंग और ऑब्जेक्ट डिटेक्शन और ट्रैकिंग एपीआई, दोनों कस्टम इमेज क्लासिफ़िकेशन मॉडल के साथ काम करते हैं. इन मॉडल में, TensorFlow के हब पर, पहले से ट्रेन किए गए अच्छी क्वालिटी के कुछ मॉडल इस्तेमाल किए जा सकते हैं. इसके अलावा, इन मॉडल में TensorFlow, AutoML Vision Edge या TensorFlow Lite Model Maker की मदद से ट्रेनिंग दी गई कस्टम मॉडल भी हो सकते हैं.

अगर आपको अन्य डोमेन या इस्तेमाल के उदाहरणों के लिए, अपनी पसंद के मुताबिक कोई समाधान चाहिए, तो ऑन-डिवाइस मशीन लर्निंग पेज पर जाएं. यहां आपको ऑन-डिवाइस मशीन लर्निंग के लिए, Google के सभी सलूशन और टूल के बारे में जानकारी मिलेगी.

कस्टम मॉडल के साथ एमएल किट को इस्तेमाल करने के फ़ायदे

एमएल किट के साथ कस्टम इमेज क्लासिफ़िकेशन मॉडल का इस्तेमाल करने के फ़ायदे:

  • इस्तेमाल में आसान हाई लेवल एपीआई - लो लेवल के मॉडल इनपुट/आउटपुट का इस्तेमाल करने, इमेज की प्री-/पोस्ट-प्रोसेसिंग मैनेज करने या प्रोसेसिंग की पाइपलाइन बनाने की ज़रूरत नहीं होती.
  • लेबल मैप करने के बारे में चिंता करने की ज़रूरत नहीं है. एमएल किट, TFLite मॉडल के मेटाडेटा से लेबल निकालता है और आपके लिए मैपिंग करता है.
  • कई तरह के सोर्स के कस्टम मॉडल के साथ काम करता है. इनमें, पहले से ट्रेनिंग दिए गए मॉडल से लेकर TensorFlow हब पर पब्लिश किए गए मॉडल से लेकर, TensorFlow, AutoML Vision Edge या TensorFlow Lite Model Maker की मदद से ट्रेन किए गए मॉडल शामिल हैं.
  • Firebase के साथ होस्ट किए गए मॉडल के साथ काम करता है. मांग पर मॉडल डाउनलोड करके APK का साइज़ कम करता है. अपने ऐप्लिकेशन को फिर से पब्लिश किए बिना, मॉडल अपडेट पुश करें और Firebase रिमोट कॉन्फ़िगरेशन की मदद से, आसानी से A/B टेस्टिंग करें.
  • Android Camera API के साथ इंटिग्रेशन के लिए ऑप्टिमाइज़ किया गया.

और खास तौर पर ऑब्जेक्ट की पहचान और ट्रैकिंग के लिए:

  • पहले ऑब्जेक्ट का पता लगाकर क्लासिफ़िकेशन को सटीक बनाएं. साथ ही, इमेज के मिलते-जुलते हिस्से पर ही क्लासिफ़ायर चलाएं.
  • अपने उपयोगकर्ताओं को ऑब्जेक्ट का पता लगने और उनकी कैटगरी तय करने पर तुरंत तुरंत फ़ीडबैक देकर रीयल-टाइम में इंटरैक्टिव अनुभव दें.

इमेज की कैटगरी तय करने के लिए, पहले से ट्रेनिंग वाले मॉडल का इस्तेमाल करना

पहले से ट्रेन किए गए TensorFlow Lite मॉडल इस्तेमाल किए जा सकते हैं, बशर्ते वे ज़रूरी शर्तों को पूरा करते हों. TensorFlow Hub के ज़रिए, हम जांचे गए मॉडल का सेट उपलब्ध करा रहे हैं. ये मॉडल Google या दूसरे मॉडल क्रिएटर्स के उपलब्ध कराए जाएंगे. ये मॉडल, इन ज़रूरी शर्तों को पूरा करेंगे.

TensorFlow Hub पर पब्लिश किए गए मॉडल का इस्तेमाल करें

TensorFlow Hub, पहले से ट्रेन किए गए कई तरह के इमेज क्लासिफ़िकेशन मॉडल उपलब्ध कराता है. ये मॉडल अलग-अलग मॉडल क्रिएटर्स के उपलब्ध कराए जाते हैं. इनका इस्तेमाल इमेज लेबलिंग, ऑब्जेक्ट डिटेक्शन, और ट्रैकिंग एपीआई के साथ किया जा सकता है. यह तरीका अपनाएं.

  1. एमएल किट के साथ काम करने वाले मॉडल के कलेक्शन में से कोई मॉडल चुनें.
  2. मॉडल की जानकारी वाले पेज से .tflite मॉडल फ़ाइल डाउनलोड करें. उपलब्ध होने पर, मेटाडेटा वाला कोई मॉडल फ़ॉर्मैट चुनें.
  3. मॉडल फ़ाइल को अपने प्रोजेक्ट में बंडल करने और उसे अपने Android या iOS ऐप्लिकेशन में इस्तेमाल करने का तरीका जानने के लिए, Image लेबलिंग एपीआई या ऑब्जेक्ट डिटेक्शन और ट्रैकिंग एपीआई के लिए हमारी गाइड का पालन करें.

अपने इमेज क्लासिफ़िकेशन मॉडल को ट्रेनिंग दें

अगर आपकी ज़रूरतों के हिसाब से, इमेज की कैटगरी तय करने वाला कोई भी मॉडल पहले से ट्रेनिंग नहीं दिया गया है, तो अपने TensorFlow Lite मॉडल को ट्रेनिंग देने के कई तरीके हैं. इनमें से कुछ तरीकों के बारे में यहां बताया गया है और उनके बारे में विस्तार से बताया गया है.

अपने इमेज क्लासिफ़िकेशन मॉडल को ट्रेनिंग देने के विकल्प
AutoML Vision Edge
  • Google Cloud के एआई की मदद से दिया गया
  • सबसे आधुनिक इमेज क्लासिफ़िकेशन मॉडल बनाना
  • परफ़ॉर्मेंस और साइज़ के बीच आसानी से आकलन करें
TensorFlow Lite Model Maker
  • किसी मॉडल को फिर से ट्रेनिंग देना (सीखने-सिखाने का तरीका ट्रांसफ़र करना). इसमें कम समय लगता है. साथ ही, किसी मॉडल को नए सिरे से ट्रेनिंग देने के मुकाबले, कम डेटा की ज़रूरत होती है
TensorFlow मॉडल को TensorFlow Lite में बदलना
  • TensorFlow की मदद से किसी मॉडल को ट्रेनिंग दें और फिर उसे TensorFlow Lite में बदलें

AutoML Vision Edge

AutoML Vision Edge का इस्तेमाल करके ट्रेन किए गए इमेज क्लासिफ़िकेशन मॉडल, इमेज लेबलिंग और ऑब्जेक्ट डिटेक्शन और ट्रैकिंग एपीआई में कस्टम मॉडल के साथ काम करते हैं. इन एपीआई में, Firebase मॉडल डिप्लॉयमेंट के साथ होस्ट किए गए मॉडल डाउनलोड करने की सुविधा भी होती है.

अपने Android और iOS ऐप्लिकेशन में AutoML Vision Edge का इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, हर एपीआई के लिए कस्टम मॉडल गाइड देखें. यह आपकी ज़रूरत के हिसाब से होगा.

TensorFlow Lite मॉडल मेकर

TFLite Model मेकर की लाइब्रेरी, TensorFlow न्यूरल-नेटवर्क मॉडल को किसी खास इनपुट डेटा में बदलने की प्रोसेस को आसान बनाती है. ऐसा, ऑन-डिवाइस एमएल ऐप्लिकेशन के लिए इस मॉडल को डिप्लॉय करते समय किया जाता है. TensorFlow Lite Model Maker की मदद से, इमेज की कैटगरी तय करने के लिए Colab की मदद ली जा सकती है.

अपने Android और iOS ऐप्लिकेशन में, मॉडल मेकर की मदद से ट्रेन किए गए मॉडल को इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, अपनी ज़रूरत के हिसाब से इमेज लेबलिंग एपीआई या ऑब्जेक्ट डिटेक्शन और ट्रैकिंग एपीआई की हमारी गाइड का पालन करें.

TensorFlow Lite कन्वर्टर का इस्तेमाल करके बनाए गए मॉडल

अगर आपके पास TensorFlow इमेज क्लासिफ़िकेशन मॉडल पहले से मौजूद है, तो उसे TensorFlow Lite कन्वर्टर का इस्तेमाल करके बदला जा सकता है. कृपया पक्का करें कि बनाया गया मॉडल, साथ काम करने के लिए यहां दी गई ज़रूरी शर्तों को पूरा करता हो.

अपने Android और iOS ऐप्लिकेशन में TensorFlow Lite मॉडल इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, इमेज लेबलिंग एपीआई या ऑब्जेक्ट डिटेक्शन और ट्रैकिंग एपीआई की हमारी गाइड देखें. यह आपकी ज़रूरत के हिसाब से उपलब्ध होती है.

TensorFlow Lite मॉडल के साथ काम करने की सुविधा

पहले से ट्रेन किए गए किसी भी TensorFlow Lite इमेज क्लासिफ़िकेशन मॉडल का इस्तेमाल किया जा सकता है, बशर्ते वह इन ज़रूरी शर्तों को पूरा करता हो:

टेंसर

  • इस मॉडल में सिर्फ़ एक इनपुट टेंसर होना चाहिए, जिसका कंस्ट्रेंट नीचे दिया गया हो:
    • डेटा, आरजीबी पिक्सल फ़ॉर्मैट में होता है.
    • यह डेटा, UINT8 या FLOAT32 टाइप का है. अगर इनपुट टेंसर टाइप FLOAT32 है, तो उसे मेटाडेटा अटैच करके GeneralizationOptions तय करना होगा.
    • टेंसर में चार डाइमेंशन होते हैं : BxHxWxC, जहां:
      • B बैच का साइज़ है. यह 1 होना चाहिए (बड़े बैच के लिए अनुमान नहीं दिया जा सकता).
      • W और H इनपुट की चौड़ाई और ऊंचाई है.
      • C उम्मीद के मुताबिक चैनलों की संख्या है. यह संख्या तीन होनी चाहिए.
  • मॉडल में N क्लास और दो या चार डाइमेंशन वाला कम से कम एक आउटपुट टेंसर होना चाहिए:
    • (1xN)
    • (1x1x1xN)
  • फ़िलहाल, सिर्फ़ सिंगल-हेड मॉडल पूरी तरह से काम करते हैं. मल्टी-हेड मॉडल से अनचाहे नतीजे मिल सकते हैं.

मेटाडेटा

TensorFlow Lite मॉडल में मेटाडेटा जोड़ना लेख में बताए गए तरीके से, TensorFlow Lite फ़ाइल में मेटाडेटा जोड़ा जा सकता है.

FLOAT32 इनपुट टेंसर के साथ किसी मॉडल का इस्तेमाल करने के लिए, आपको मेटाडेटा में NormalizationOptions डालने होंगे.

हमारा यह भी सुझाव है कि आप इस मेटाडेटा को आउटपुट टेंसर TensorMetadata में अटैच करें:

  • एक लेबल मैप, जिसमें हर आउटपुट क्लास का नाम, TENSOR_AXIS_LABELS टाइप वाली AssociatedFile के तौर पर बताया जाता है (नहीं तो सिर्फ़ संख्यात्मक आउटपुट क्लास इंडेक्स दिखाए जा सकते हैं)
  • एक डिफ़ॉल्ट स्कोर थ्रेशोल्ड, जिसके नीचे दिए गए नतीजों को दिखाए जाने की संभावना बहुत कम भरोसेमंद मानी जाती है. ऐसा ScoreThresholdingOptions के साथ ProcessUnit के तौर पर किया जा सकता है