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

माइक्रोकंट्रोलर्स के लिए TensorFlow Lite को केवल कुछ किलोबाइट मेमोरी के साथ माइक्रोकंट्रोलर और अन्य उपकरणों पर मशीन लर्निंग मॉडल चलाने के लिए डिज़ाइन किया गया है। कोर रनटाइम सिर्फ 16 केबी में एक आर्म कॉर्टेक्स एम 3 पर फिट बैठता है और कई बुनियादी मॉडल चला सकता है। इसके लिए ऑपरेटिंग सिस्टम सपोर्ट, किसी मानक C या C++ लाइब्रेरी या डायनेमिक मेमोरी आवंटन की आवश्यकता नहीं है।

माइक्रोकंट्रोलर क्यों महत्वपूर्ण हैं

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

समर्थित प्लेटफॉर्म

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

निम्नलिखित विकास बोर्ड समर्थित हैं:

उदाहरणों का अन्वेषण करें

प्रत्येक उदाहरण आवेदन पर है Github और एक है README.md फ़ाइल बताते हैं कि यह कैसे अपने समर्थित प्लेटफार्मों के लिए तैनात किया जा सकता है। कुछ उदाहरणों में एक विशिष्ट प्लेटफॉर्म का उपयोग करने वाले एंड-टू-एंड ट्यूटोरियल भी हैं, जैसा कि नीचे दिया गया है:

कार्यप्रवाह

एक माइक्रोकंट्रोलर पर TensorFlow मॉडल को परिनियोजित करने और चलाने के लिए निम्नलिखित चरणों की आवश्यकता होती है:

  1. एक मॉडल ट्रेन:
    • एक छोटा सा TensorFlow मॉडल है कि अपने लक्ष्य डिवाइस फिट और शामिल कर सकते हैं उत्पन्न समर्थित संचालन
    • एक TensorFlow लाइट मॉडल का उपयोग करने के लिए कन्वर्ट TensorFlow लाइट कनवर्टर
    • एक सी बाइट सरणी का उपयोग कर में कनवर्ट मानक उपकरण केवल पढ़ने के लिए डिवाइस पर कार्यक्रम स्मृति में संग्रहीत करना।
  2. डिवाइस पर अनुमान भागो का उपयोग कर सी ++ पुस्तकालय और परिणाम की प्रक्रिया।

सीमाओं

माइक्रोकंट्रोलर के लिए TensorFlow Lite को माइक्रोकंट्रोलर विकास की विशिष्ट बाधाओं के लिए डिज़ाइन किया गया है। यदि आप अधिक शक्तिशाली उपकरणों पर काम कर रहे हैं (उदाहरण के लिए, एक एम्बेडेड लिनक्स डिवाइस जैसे रास्पबेरी पाई), तो मानक TensorFlow लाइट फ्रेमवर्क को एकीकृत करना आसान हो सकता है।

निम्नलिखित सीमाओं पर विचार किया जाना चाहिए:

  • एक के लिए समर्थन सीमित सबसेट TensorFlow आपरेशन के
  • उपकरणों के सीमित सेट के लिए समर्थन
  • निम्न-स्तरीय C++ API के लिए मैन्युअल मेमोरी प्रबंधन की आवश्यकता होती है
  • डिवाइस पर प्रशिक्षण समर्थित नहीं है

अगला कदम