Android के लिए TensorFlow Lite

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

सीखने का रोडमैप

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

दो मुख्य एपीआई हैं जिनका उपयोग आप अपने एंड्रॉइड ऐप में टेन्सरफ्लो लाइट मशीन लर्निंग मॉडल को एकीकृत करने के लिए कर सकते हैं:

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

पुस्तकालय

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

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

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

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

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

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

अनुमान चलाएँ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले कदम