माइक्रोकंट्रोलर के लिए TensorFlow Lite

माइक्रोकंट्रोलर के लिए TensorFlow Lite को, माइक्रोकंट्रोलर और कुछ ही किलोबाइट मेमोरी वाले अन्य डिवाइसों पर मशीन लर्निंग मॉडल चलाने के लिए डिज़ाइन किया गया है. कोर रनटाइम, Arm Cortex M3 में बस 16 केबी में फ़िट हो जाता है और कई बेसिक मॉडल चला सकता है. इसके लिए, ऑपरेटिंग सिस्टम के सपोर्ट, किसी भी स्टैंडर्ड C या C++ लाइब्रेरी या डाइनैमिक मेमोरी ऐलोकेशन की ज़रूरत नहीं होती.

माइक्रोकंट्रोलर क्यों ज़रूरी हैं

माइक्रोकंट्रोलर आम तौर पर छोटे और कम क्षमता वाले कंप्यूटिंग डिवाइस होते हैं. ये हार्डवेयर में एम्बेड होते हैं, जिनके लिए बुनियादी हिसाब की ज़रूरत होती है. छोटे-छोटे माइक्रोकंट्रोलर की मदद से मशीन लर्निंग की मदद से, हम उन करोड़ों डिवाइसों की इंटेलिजेंस बढ़ा सकते हैं जिनका इस्तेमाल हम अपनी ज़िंदगी में करते हैं. इनमें घरेलू उपकरण और 'चीज़ों के इंटरनेट' डिवाइस शामिल हैं. इसके लिए, महंगे हार्डवेयर या भरोसेमंद इंटरनेट कनेक्शन की ज़रूरत नहीं होती. आम तौर पर, बैंडविथ और पावर से जुड़ी परेशानी का सामना करना पड़ता है. साथ ही, इंटरनेट कनेक्शन में बहुत ज़्यादा समय लग सकता है. इससे निजता बनाए रखने में भी मदद मिल सकती है, क्योंकि डिवाइस में कोई भी डेटा नहीं रहता. ऐसे स्मार्ट उपकरणों के बारे में सोचिए जो आपके रोज़ाना के रूटीन और इंडस्ट्रियल सेंसर के हिसाब से काम कर सकते हैं, जो समस्याओं और सामान्य इस्तेमाल करने के तरीक़े के बीच का फ़र्क़ समझते हैं. साथ ही, ऐसे जादुई खिलौनों के बारे में सोचिए जो बच्चों को मज़ेदार और मज़ेदार तरीके से सीखने में मदद कर सकते हैं.

इन प्लैटफ़ॉर्म पर चलाया जा सकता है

माइक्रोकंट्रोलर के लिए TensorFlow Lite, C++ 17 में लिखा गया है और इसके लिए 32-बिट प्लैटफ़ॉर्म होना ज़रूरी है. इसे आर्म कॉर्टेक्स-एम सीरीज़ आर्किटेक्चर पर आधारित कई प्रोसेसर के साथ बड़े पैमाने पर टेस्ट किया गया है. साथ ही, इसे ESP32 जैसे अन्य आर्किटेक्चर में भी इस्तेमाल किया गया है. यह फ़्रेमवर्क, Arduino लाइब्रेरी के तौर पर उपलब्ध है. यह डेवलपमेंट एनवायरमेंट के लिए भी प्रोजेक्ट जनरेट कर सकता है, जैसे कि Mbed. यह ओपन सोर्स है और इसे किसी भी C++ 17 प्रोजेक्ट में शामिल किया जा सकता है.

ये डेवलपमेंट बोर्ड काम करते हैं:

उदाहरण देखें

उदाहरण के तौर पर दिया गया हर ऐप्लिकेशन, GitHub पर है. इसमें एक README.md फ़ाइल है, जिसमें यह बताया गया है कि इसे उन प्लैटफ़ॉर्म पर कैसे डिप्लॉय किया जा सकता है जिन पर यह काम करता है. कुछ उदाहरणों में खास प्लैटफ़ॉर्म का इस्तेमाल करने वाले पूरी तरह से काम करने वाले ट्यूटोरियल भी होते हैं, जैसा कि नीचे दिया गया है:

वर्कफ़्लो

माइक्रोकंट्रोलर पर TensorFlow मॉडल लागू करने और उसे चलाने के लिए, नीचे दिया गया तरीका अपनाएं:

  1. किसी मॉडल को ट्रेनिंग दें:
  2. C++ लाइब्रेरी का इस्तेमाल करके, डिवाइस पर अनुमान चलाएं और नतीजे प्रोसेस करें.

सीमाएं

माइक्रोकंट्रोलर के लिए TensorFlow Lite, माइक्रोकंट्रोलर के डेवलपमेंट की खास शर्तों के हिसाब से डिज़ाइन किया गया है. अगर ज़्यादा बेहतर डिवाइस (जैसे, Raspबेरी Pi जैसा एम्बेड किया गया Linux डिवाइस) पर काम किया जा रहा है, तो स्टैंडर्ड TensorFlow Lite फ़्रेमवर्क को इंटिग्रेट करना आसान हो सकता है.

इन सीमाओं को ध्यान में रखना चाहिए:

  • TensorFlow के सीमित सबसेट के लिए सहायता
  • यह कुछ डिवाइसों के लिए उपलब्ध है
  • लो-लेवल का C++ एपीआई जिसके लिए मैन्युअल तौर पर मेमोरी मैनेज करने की ज़रूरत होती है
  • डिवाइस पर ट्रेनिंग उपलब्ध नहीं है

अगले चरण