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

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

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

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

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

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

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

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

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

कार्यप्रवाह

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

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

सीमाओं

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

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

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

अगले कदम