माइक्रोकंट्रोलर्स के लिए LiteRT को मशीन लर्निंग मॉडल को चलाने के लिए डिज़ाइन किया गया है कुछ किलोबाइट मेमोरी वाले माइक्रोकंट्रोलर और अन्य डिवाइस पर इस्तेमाल करता है. कॉन्टेंट बनाने कोर रनटाइम, Arm Cortex M3 पर सिर्फ़ 16 केबी में फ़िट हो जाता है. साथ ही, यह कई बेसिक मॉडल. इसके लिए किसी भी स्टैंडर्ड C या C++ के साथ काम करने वाले ऑपरेटिंग सिस्टम की ज़रूरत नहीं है लाइब्रेरी, या डाइनैमिक मेमोरी ऐलोकेशन.
माइक्रोकंट्रोलर क्यों ज़रूरी हैं
माइक्रोकंट्रोलर आम तौर पर, छोटे और कम पावर वाले कंप्यूटिंग डिवाइस होते हैं हार्डवेयर के अंदर एम्बेड किया गया हो, जिसके लिए बेसिक कंप्यूटेशन की ज़रूरत होती है. मशीन को छोटे-छोटे माइक्रोकंट्रोलर्स की मदद से, हम अरबों हमारे दैनिक जीवन में उपयोग किए जाने वाले डिवाइस, जिनमें घरेलू उपकरण और इंटरनेट सेवा शामिल है महंगे हार्डवेयर या भरोसेमंद इंटरनेट की ज़रूरत के बिना, थिंग्स डिवाइस पर निर्भर करता है, जो अक्सर बैंडविड्थ और पावर की सीमाओं और की वजह से इंतज़ार का समय बढ़ जाता है. इससे निजता बनाए रखने में भी मदद मिल सकती है, क्योंकि कोई भी डेटा मौजूद नहीं होता डिवाइस से चला जाता है. ऐसे स्मार्ट उपकरणों की कल्पना करें जो आपके हर दिन के हिसाब से काम करें इंडस्ट्रियल सेंसर के लिए उपलब्ध रूटीन को फ़ॉलो करते हैं, जो दोनों के बीच का अंतर समझते हैं और ऐसे खिलौने जो बच्चों को मस्ती में सीखने में मदद कर सकते हैं. और सुंदर तरीके से काम करता है.
डेटा डालने और 360 डिग्री में, वीडियो चलाने की सुविधा देने वाले प्लैटफ़ॉर्म
माइक्रोकंट्रोलर्स के लिए LiteRT, C++ 17 में लिखा गया है और इसके लिए 32-बिट की ज़रूरत है प्लैटफ़ॉर्म. इसे कई प्रोसेसर के साथ टेस्ट किया गया है. ऐसा इन चीज़ों के आधार पर किया गया है आर्म कॉर्टेक्स-एम सीरीज़ और इसे अन्य आर्किटेक्चर में पोर्ट किया गया है. इनमें ये शामिल हैं ESP32. कॉन्टेंट बनाने फ़्रेमवर्क एक Arduino लाइब्रेरी के तौर पर उपलब्ध है. यह प्रोजेक्ट डेवलपमेंट एनवायरमेंट के दायरे में आता है, जैसे कि Mbed. यह ओपन सोर्स है और इसे इसमें शामिल किया जा सकता है कोई भी C++ 17 प्रोजेक्ट होगा.
इन डेवलपमेंट बोर्ड का इस्तेमाल किया जा सकता है:
- आर्दूइनो नैनो 33 BLE Sense
- स्पार्कफ़न एज
- STM32F746 डिस्कवरी किट
- Adafruit Edgeबैज
- माइक्रोकंट्रोलर्स किट के लिए Adafruit LiteRT
- ऐडफ़्रूट सर्किट प्लेग्राउंड ब्लूफ़्रूट
- Espressif ESP32-DevKitC
- एस्प्रेसिफ़ ईएसपी-ईवाईई
- Wio टर्मिनल: ATSAMD51
- Himax WE-I Plus ईवीबी एंडपॉइंट एआई डेवलपमेंट बोर्ड
- Synopsys DesignWare ARC ईएम सॉफ़्टवेयर डेवलपमेंट प्लैटफ़ॉर्म
- सोनी स्प्रेसेंस
उदाहरण देखें
उदाहरण के तौर पर दिया गया हर ऐप्लिकेशन चालू है
GitHub
और इसमें एक README.md
फ़ाइल है, जो बताती है कि इसे
प्लैटफ़ॉर्म. कुछ उदाहरणों में
जो यहां दी गई है:
- सभी को नमस्ते - LiteRT का इस्तेमाल करने की मूल बातें बताता है माइक्रोकंट्रोलर्स
- माइक्रो स्पीच - "हां" शब्दों का पता लगाने के लिए, माइक्रोफ़ोन की मदद से ऑडियो कैप्चर करता है और "नहीं"
- व्यक्ति की पहचान - मौजूदगी या गैर-मौजूदगी का पता लगाने के लिए, इमेज सेंसर की मदद से कैमरे का डेटा कैप्चर करता है किसी व्यक्ति का है
वर्कफ़्लो
TensorFlow मॉडल को किसी माइक्रोकंट्रोलर:
- मॉडल को ट्रेनिंग दें:
- TensorFlow का एक छोटा मॉडल जनरेट करें, जो आपके टारगेट डिवाइस में फ़िट हो सके और इसमें काम करने वाली कार्रवाइयां शामिल हैं.
- LiteRT मॉडल में बदलें LiteRT कन्वर्टर.
- इनका इस्तेमाल करके एक C बाइट अरे में बदलें इसे स्टोर करने के लिए स्टैंडर्ड टूल डिवाइस में मौजूद रीड-ओनली प्रोग्राम मेमोरी.
- C++ लाइब्रेरी और प्रोसेस का इस्तेमाल करके, डिवाइस पर अनुमान चलाएं खोजें.
सीमाएं
माइक्रोकंट्रोलर्स के लिए LiteRT को, माइक्रोकंट्रोलर डेवलपमेंट. अगर आपको ज़्यादा दमदार डिवाइसों पर काम करना है, तो उदाहरण के लिए, Raspberry Pi जैसा कोई एम्बेड किया गया Linux डिवाइस, LiteRT फ़्रेमवर्क को इंटिग्रेट करना आसान हो सकता है.
इन सीमाओं को ध्यान में रखना चाहिए:
- इसके सीमित सबसेट के लिए सहायता TensorFlow की कार्रवाइयां
- डिवाइसों के सीमित सेट के साथ काम करता है
- लो-लेवल C++ API (एपीआई) को मैन्युअल मेमोरी प्रबंधन की ज़रूरत होती है
- डिवाइस पर ट्रेनिंग की सुविधा उपलब्ध नहीं है
अगले चरण
- माइक्रोकंट्रोलर का इस्तेमाल करके, उदाहरण के तौर पर दिए गए ऐप्लिकेशन का उदाहरण देखें और API को इस्तेमाल करने का तरीका जानें.
- C++ लाइब्रेरी को समझें और जानें कि प्रोजेक्ट करना होगा.
- ट्रेनिंग के बारे में ज़्यादा जानने के लिए, मॉडल बनाना और उन्हें बदलना और माइक्रोकंट्रोलर्स पर डिप्लॉयमेंट के लिए मॉडल कन्वर्ट करना.