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

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

इमेज लेबलिंग और ऑब्जेक्ट डिटेक्शन ऐंड ट्रैकिंग, दोनों एपीआई, इमेज की कैटगरी तय करने वाले कस्टम मॉडल के साथ काम करते हैं. ये एपीआई, TensorFlow Hub पर मौजूद, पहले से ट्रेन किए गए हाई-क्वालिटी मॉडल के कलेक्शन के साथ काम करते हैं. साथ ही, TensorFlow या AutoML की मदद से ट्रेन किए गए आपके कस्टम मॉडल के साथ भी काम करते हैं.

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

कस्टम मॉडल के साथ ML Kit का इस्तेमाल करने के फ़ायदे

ML Kit के साथ, इमेज की कैटगरी तय करने वाले कस्टम मॉडल का इस्तेमाल करने के ये फ़ायदे हैं:

  • इस्तेमाल में आसान, हाई लेवल एपीआई - लो-लेवल मॉडल के इनपुट/आउटपुट से निपटने, इमेज की प्री-/पोस्ट-प्रोसेसिंग को मैनेज करने या प्रोसेसिंग पाइपलाइन बनाने की ज़रूरत नहीं होती.
  • लेबल मैपिंग के बारे में चिंता करने की ज़रूरत नहीं है, ML Kit, LiteRT मॉडल के मेटाडेटा से लेबल एक्सट्रैक्ट करता है और आपके लिए मैपिंग करता है.
  • कई तरह के सोर्स से कस्टम मॉडल इस्तेमाल किए जा सकते हैं. इनमें TensorFlow Hub पर पब्लिश किए गए, पहले से ट्रेन किए गए मॉडल से लेकर TensorFlow या AutoML की मदद से ट्रेन किए गए नए मॉडल शामिल हैं.
  • Android के कैमरा एपीआई के साथ इंटिग्रेट करने के लिए ऑप्टिमाइज़ किया गया है.

खास तौर पर, ऑब्जेक्ट डिटेक्शन और ट्रैकिंग के लिए:

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

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

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

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

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

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

इमेज की कैटगरी तय करने वाला अपना मॉडल ट्रेन करना

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

इमेज की कैटगरी तय करने वाला अपना मॉडल ट्रेन करने के विकल्प
AutoML
  • Google Cloud AI के ज़रिए उपलब्ध है
  • इमेज की कैटगरी तय करने वाले ऐडवांस मॉडल बनाएं
  • परफ़ॉर्मेंस और साइज़ के बीच आकलन करें
TensorFlow मॉडल को LiteRT में बदलना
  • TensorFlow की मदद से मॉडल को ट्रेन करें और फिर उसे LiteRT में बदलें

AutoML

AutoML ये एपीआई, Cloud Storage पर होस्ट किए गए मॉडल को डाउनलोड करने की सुविधा भी देते हैं.

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

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

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

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

LiteRT मॉडल के साथ काम करने की ज़रूरी शर्तें

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

टेंसर

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

मेटाडेटा

LiteRT मॉडल में मेटाडेटा जोड़ने के बारे में जानकारी के लिए, LiteRT मॉडल में मेटाडेटा जोड़ना लेख पढ़ें.

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

हमारा सुझाव है कि आप इस मेटाडेटा को आउटपुट टेंसर TensorMetadata से जोड़ें:

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