Android के लिए TensorFlow लाइट

TensorFlow Lite आपको अपने Android ऐप्स में TensorFlow मशीन लर्निंग (ML) मॉडल चलाने देता है। TensorFlow लाइट सिस्टम हार्डवेयर त्वरण के विकल्पों सहित एंड्रॉइड पर जल्दी और कुशलता से चलने वाले मॉडल के लिए पूर्व-निर्मित और अनुकूलन योग्य निष्पादन वातावरण प्रदान करता है।

सीखना रोडमैप

TensorFlow Lite के साथ Android ऐप्स बनाने के लिए अवधारणाएं और कोड डिज़ाइन सीखें, बस पढ़ते रहें
TensorFlow Lite के साथ क्विकस्टार्ट के साथ तुरंत एक एंड्रॉइड ऐप को कोड करना शुरू करें।
TensorFlow Lite के साथ ML मॉडल चुनने और उपयोग करने के बारे में जानें, मॉडल डॉक्स देखें।

मशीन लर्निंग मॉडल

TensorFlow Lite TensorFlow मॉडल का उपयोग करता है जो एक छोटे, पोर्टेबल, अधिक कुशल मशीन लर्निंग मॉडल प्रारूप में परिवर्तित हो जाते हैं। आप Android पर TensorFlow Lite के साथ पूर्व-निर्मित मॉडल का उपयोग कर सकते हैं, या अपने स्वयं के TensorFlow मॉडल बना सकते हैं और उन्हें TensorFlow Lite प्रारूप में बदल सकते हैं।

यह पृष्ठ पहले से निर्मित मशीन लर्निंग मॉडल का उपयोग करने पर चर्चा करता है और इसमें बिल्डिंग, प्रशिक्षण, परीक्षण या रूपांतरण मॉडल शामिल नहीं हैं। मॉडल सेक्शन में TensorFlow Lite के लिए मशीन लर्निंग मॉडल चुनने, संशोधित करने, बनाने और बदलने के बारे में और जानें।

Android पर मॉडल चलाएं

एंड्रॉइड ऐप के अंदर चलने वाला एक टेंसरफ्लो लाइट मॉडल डेटा लेता है, डेटा को प्रोसेस करता है, और मॉडल के तर्क के आधार पर एक भविष्यवाणी उत्पन्न करता है। एक TensorFlow लाइट मॉडल को निष्पादित करने के लिए एक विशेष रनटाइम वातावरण की आवश्यकता होती है, और मॉडल में पारित डेटा एक विशिष्ट डेटा प्रारूप में होना चाहिए, जिसे टेंसर कहा जाता है। जब कोई मॉडल डेटा को संसाधित करता है, जिसे एक अनुमान चलाने के रूप में जाना जाता है, तो यह नए टेंसर के रूप में पूर्वानुमान परिणाम उत्पन्न करता है, और उन्हें एंड्रॉइड ऐप में भेजता है ताकि यह कार्रवाई कर सके, जैसे कि उपयोगकर्ता को परिणाम दिखाना या अतिरिक्त व्यावसायिक तर्क निष्पादित करना।

Android ऐप्स में TensorFlow Lite मॉडल के लिए कार्यात्मक निष्पादन प्रवाह

चित्र 1. Android ऐप्स में TensorFlow Lite मॉडल के लिए कार्यात्मक निष्पादन प्रवाह।

कार्यात्मक डिज़ाइन स्तर पर, आपके Android ऐप को TensorFlow Lite मॉडल चलाने के लिए निम्नलिखित तत्वों की आवश्यकता होती है:

  • मॉडल को क्रियान्वित करने के लिए TensorFlow लाइट रनटाइम वातावरण
  • डेटा को टेंसर में बदलने के लिए मॉडल इनपुट हैंडलर
  • आउटपुट परिणाम टेंसर प्राप्त करने के लिए मॉडल आउटपुट हैंडलर और उन्हें भविष्यवाणी परिणामों के रूप में व्याख्या करें

निम्नलिखित खंड बताते हैं कि कैसे TensorFlow Lite पुस्तकालय और उपकरण इन कार्यात्मक तत्वों को प्रदान करते हैं।

TensorFlow Lite के साथ ऐप्स बनाएं

यह खंड आपके Android ऐप में TensorFlow Lite को लागू करने के लिए अनुशंसित, सबसे सामान्य पथ का वर्णन करता है। आपको रनटाइम पर्यावरण और विकास पुस्तकालय अनुभागों पर अधिक ध्यान देना चाहिए। यदि आपने एक कस्टम मॉडल विकसित किया है, तो उन्नत विकास पथ अनुभाग की समीक्षा करना सुनिश्चित करें।

रनटाइम पर्यावरण विकल्प

ऐसे कई तरीके हैं जिनसे आप अपने Android ऐप में मॉडल निष्पादित करने के लिए रनटाइम परिवेश को सक्षम कर सकते हैं। ये हैं पसंदीदा विकल्प:

सामान्य तौर पर, आपको मानक TensorFlow Lite रनटाइम वातावरण का उपयोग करना चाहिए, क्योंकि यह Android पर मॉडल चलाने के लिए सबसे बहुमुखी वातावरण है। Google Play सेवाओं द्वारा प्रदान किया गया रनटाइम वातावरण मानक वातावरण की तुलना में अधिक सुविधाजनक और स्थान-कुशल है, क्योंकि यह Google Play संसाधनों से लोड किया गया है और आपके ऐप में बंडल नहीं किया गया है। कुछ उन्नत उपयोग के मामलों में मॉडल रनटाइम परिवेश के अनुकूलन की आवश्यकता होती है, जिसका वर्णन उन्नत रनटाइम परिवेश अनुभाग में किया गया है।

आप अपने ऐप डेवलपमेंट परिवेश में TensorFlow Lite डेवलपमेंट लाइब्रेरी जोड़कर अपने Android ऐप में इन रनटाइम परिवेशों तक पहुँच प्राप्त करते हैं। अपने ऐप में मानक रनटाइम परिवेश का उपयोग करने के तरीके के बारे में जानकारी के लिए, अगला अनुभाग देखें। अन्य रनटाइम परिवेशों के बारे में जानकारी के लिए, उन्नत रनटाइम परिवेश देखें।

विकास एपीआई और पुस्तकालय

TensorFlow Lite मशीन लर्निंग मॉडल को अपने Android ऐप में एकीकृत करने के लिए आप दो मुख्य API का उपयोग कर सकते हैं:

दुभाषिया एपीआई मौजूदा TensorFlow लाइट मॉडल के साथ निष्कर्ष चलाने के लिए कक्षाएं और तरीके प्रदान करता है। TensorFlow लाइट टास्क एपीआई इंटरप्रेटर एपीआई को लपेटता है और दृश्य, ऑडियो और टेक्स्ट डेटा को संभालने पर सामान्य मशीन सीखने के कार्यों को करने के लिए एक उच्च-स्तरीय प्रोग्रामिंग इंटरफ़ेस प्रदान करता है। आपको टास्क एपीआई का उपयोग करना चाहिए जब तक कि आपको यह न मिल जाए कि यह आपके विशिष्ट उपयोग के मामले का समर्थन नहीं करता है।

पुस्तकालयों

आप अपने Android ऐप में TensorFlow लाइट टास्क लाइब्रेरी को शामिल करके टास्क एपीआई एक्सेस कर सकते हैं। टास्क लाइब्रेरी में दुभाषिया एपीआई कक्षाएं और विधियाँ भी शामिल हैं यदि आपको उनकी आवश्यकता है।

यदि आप केवल इंटरप्रेटर एपीआई का उपयोग करना चाहते हैं, तो आप TensorFlow Lite लाइब्रेरी को शामिल कर सकते हैं। वैकल्पिक रूप से, आप TensorFlow Lite के लिए Google Play सेवाओं की लाइब्रेरी को शामिल कर सकते हैं, और अपने ऐप में एक अलग लाइब्रेरी को बंडल किए बिना, Play सेवाओं के माध्यम से इंटरप्रेटर एपीआई तक पहुंच सकते हैं।

मॉडल, मॉडल मेटाडेटा और मॉडल अनुमान परिणामों के लिए डेटा के प्रबंधन के लिए अतिरिक्त कार्यक्षमता प्रदान करने के लिए TensorFlow लाइट सपोर्ट लाइब्रेरी भी उपलब्ध है।

TensorFlow Lite लाइब्रेरी और रनटाइम वातावरण के उपयोग के बारे में प्रोग्रामिंग विवरण के लिए, Android के लिए डेवलपमेंट टूल देखें।

मॉडल प्राप्त करें

Android ऐप में मॉडल चलाने के लिए TensorFlow Lite-format मॉडल की आवश्यकता होती है। आप प्रीबिल्ट मॉडल का उपयोग कर सकते हैं या TensorFlow के साथ एक बना सकते हैं और इसे लाइट प्रारूप में बदल सकते हैं। अपने Android ऐप के लिए मॉडल प्राप्त करने के बारे में अधिक जानकारी के लिए, TensorFlow लाइट मॉडल अनुभाग देखें।

इनपुट डेटा संभालें

आपके द्वारा एमएल मॉडल में पास किया जाने वाला कोई भी डेटा एक विशिष्ट डेटा संरचना वाला एक टेंसर होना चाहिए, जिसे अक्सर टेंसर का आकार कहा जाता है। किसी मॉडल के साथ डेटा संसाधित करने के लिए, आपके ऐप कोड को डेटा को उसके मूल स्वरूप, जैसे छवि, टेक्स्ट या ऑडियो डेटा से आपके मॉडल के लिए आवश्यक आकार में एक टेंसर में बदलना होगा।

TensorFlow Lite टास्क लाइब्रेरी , TensorFlow Lite मॉडल द्वारा संसाधित किए जाने वाले सही आकार के साथ विज़ुअल, टेक्स्ट और ऑडियो डेटा को टेंसर में बदलने के लिए डेटा हैंडलिंग लॉजिक प्रदान करती है।

संदर्भ चलाएँ

एक भविष्यवाणी परिणाम उत्पन्न करने के लिए एक मॉडल के माध्यम से डेटा को संसाधित करना एक अनुमान चलाने के रूप में जाना जाता है। एंड्रॉइड ऐप में एक अनुमान चलाने के लिए एक TensorFlow Lite रनटाइम वातावरण , एक मॉडल और इनपुट डेटा की आवश्यकता होती है।

जिस गति से एक मॉडल किसी विशेष उपकरण पर एक अनुमान उत्पन्न कर सकता है, वह संसाधित डेटा के आकार, मॉडल की जटिलता और उपलब्ध कंप्यूटिंग संसाधनों जैसे मेमोरी और सीपीयू, या विशेष प्रोसेसर पर निर्भर करता है जिसे एक्सीलरेटर कहा जाता है। मशीन लर्निंग मॉडल इन विशेष प्रोसेसर जैसे कि ग्राफिक्स प्रोसेसिंग यूनिट्स (जीपीयू) और टेंसर प्रोसेसिंग यूनिट्स (टीपीयू) पर तेजी से चल सकते हैं, टेंसरफ्लो लाइट हार्डवेयर ड्राइवरों का उपयोग करते हैं जिन्हें डेलिगेट कहा जाता है। प्रतिनिधि और मॉडल प्रसंस्करण के हार्डवेयर त्वरण के बारे में अधिक जानकारी के लिए, हार्डवेयर त्वरण सिंहावलोकन देखें।

आउटपुट परिणाम संभालें

मॉडल टेन्सर के रूप में पूर्वानुमान परिणाम उत्पन्न करते हैं, जिन्हें उपयोगकर्ता को कार्रवाई करने या परिणाम प्रदर्शित करके आपके एंड्रॉइड ऐप द्वारा नियंत्रित किया जाना चाहिए। मॉडल आउटपुट परिणाम एक छवि वर्गीकरण के लिए एकल परिणाम (0 = कुत्ता, 1 = बिल्ली, 2 = पक्षी) के अनुरूप संख्या के रूप में सरल हो सकते हैं, और अधिक जटिल परिणामों के लिए, जैसे कि कई वर्गीकृत वस्तुओं के लिए कई बाउंडिंग बॉक्स। छवि, 0 और 1 के बीच पूर्वानुमान विश्वास रेटिंग के साथ।

उन्नत विकास पथ

अधिक परिष्कृत और अनुकूलित TensorFlow लाइट मॉडल का उपयोग करते समय, आपको ऊपर वर्णित की तुलना में अधिक उन्नत विकास दृष्टिकोणों का उपयोग करने की आवश्यकता हो सकती है। निम्नलिखित अनुभागों में मॉडलों को निष्पादित करने और उन्हें Android ऐप्स में TensorFlow Lite के लिए विकसित करने की उन्नत तकनीकों का वर्णन किया गया है।

उन्नत रनटाइम वातावरण

TensorFlow Lite के लिए मानक रनटाइम और Google Play सेवाओं के रनटाइम परिवेशों के अतिरिक्त, अतिरिक्त रनटाइम परिवेश हैं जिनका उपयोग आप अपने Android ऐप के साथ कर सकते हैं। इन परिवेशों के लिए सबसे संभावित उपयोग यह है कि यदि आपके पास एक मशीन लर्निंग मॉडल है जो ML संचालन का उपयोग करता है जो TensorFlow Lite के लिए मानक रनटाइम वातावरण द्वारा समर्थित नहीं हैं।

TensorFlow Lite Flex रनटाइम आपको अपने मॉडल के लिए आवश्यक विशिष्ट ऑपरेटरों को शामिल करने की अनुमति देता है। अपने मॉडल को चलाने के लिए एक उन्नत विकल्प के रूप में, आप अपने TensorFlow मशीन लर्निंग मॉडल को चलाने के लिए आवश्यक ऑपरेटरों और अन्य कार्यक्षमताओं को शामिल करने के लिए Android के लिए TensorFlow Lite बना सकते हैं। अधिक जानकारी के लिए, Android के लिए TensorFlow Lite बनाना देखें।

सी और सी++ एपीआई

TensorFlow Lite C और C++ का उपयोग करके मॉडल चलाने के लिए एक API भी प्रदान करता है। यदि आपका ऐप Android NDK का उपयोग करता है, तो आपको इस API का उपयोग करने पर विचार करना चाहिए। यदि आप कई प्लेटफार्मों के बीच कोड साझा करने में सक्षम होना चाहते हैं, तो आप इस एपीआई का उपयोग करने पर भी विचार कर सकते हैं। इस विकास विकल्प के बारे में अधिक जानकारी के लिए विकास उपकरण पृष्ठ देखें।

सर्वर-आधारित मॉडल निष्पादन

सामान्य तौर पर, आपको अपने उपयोगकर्ताओं के लिए कम विलंबता और बेहतर डेटा गोपनीयता का लाभ उठाने के लिए Android डिवाइस पर अपने ऐप में मॉडल चलाना चाहिए। हालांकि, ऐसे मामले हैं जहां क्लाउड सर्वर पर एक मॉडल चलाना, डिवाइस के बाहर, एक बेहतर समाधान है। उदाहरण के लिए, यदि आपके पास एक बड़ा मॉडल है जो आपके उपयोगकर्ताओं के एंड्रॉइड डिवाइस पर फिट होने वाले आकार में आसानी से संकुचित नहीं होता है, या उन उपकरणों पर उचित प्रदर्शन के साथ निष्पादित किया जा सकता है। यह दृष्टिकोण आपका पसंदीदा समाधान भी हो सकता है यदि उपकरणों की एक विस्तृत श्रृंखला में मॉडल का लगातार प्रदर्शन सर्वोच्च प्राथमिकता है।

Google क्लाउड TensorFlow मशीन लर्निंग मॉडल चलाने के लिए सेवाओं का एक पूरा सूट प्रदान करता है। अधिक जानकारी के लिए, Google क्लाउड का AI और मशीन लर्निंग उत्पाद पृष्ठ देखें।

कस्टम मॉडल विकास और अनुकूलन

अधिक उन्नत विकास पथों में कस्टम मशीन लर्निंग मॉडल विकसित करना और उन मॉडलों को Android उपकरणों पर उपयोग के लिए अनुकूलित करना शामिल हो सकता है। यदि आप कस्टम मॉडल बनाने की योजना बना रहे हैं, तो सुनिश्चित करें कि आप मेमोरी और प्रोसेसिंग लागत को कम करने के लिए मॉडल में परिमाणीकरण तकनीकों को लागू करने पर विचार कर रहे हैं। TensorFlow Lite के साथ उपयोग के लिए उच्च-प्रदर्शन मॉडल बनाने के तरीके के बारे में अधिक जानकारी के लिए, मॉडल अनुभाग में प्रदर्शन सर्वोत्तम अभ्यास देखें।

अगले कदम