मॉडल रूपांतरण सिंहावलोकन

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

रूपांतरण कार्यप्रवाह

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

नीचे दिया गया चित्र किसी मॉडल को परिवर्तित करने के उच्च स्तरीय चरणों को दर्शाता है।

TFLite रूपांतरण वर्कफ़्लो

चित्र 1. TensorFlow Lite रूपांतरण वर्कफ़्लो।

निम्नलिखित अनुभाग TensorFlow Lite के उपयोग के लिए मॉडलों के मूल्यांकन और परिवर्तित करने की प्रक्रिया की रूपरेखा प्रस्तुत करते हैं।

इनपुट मॉडल प्रारूप

आप निम्नलिखित इनपुट मॉडल प्रारूपों के साथ कनवर्टर का उपयोग कर सकते हैं:

आप केरस और कंक्रीट फ़ंक्शन मॉडल दोनों को सेव्डमॉडल के रूप में सहेज सकते हैं और अनुशंसित पथ का उपयोग करके कनवर्ट कर सकते हैं।

यदि आपके पास जैक्स मॉडल है, तो आप इसे TensorFlow Lite प्रारूप में परिवर्तित करने के लिए TFLiteConverter.experimental_from_jax API का उपयोग कर सकते हैं। ध्यान दें कि प्रयोगात्मक मोड में यह एपीआई परिवर्तन के अधीन है।

रूपांतरण मूल्यांकन

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

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

मॉडल रूपांतरण

TensorFlow Lite कनवर्टर एक TensorFlow मॉडल लेता है और एक TensorFlow Lite मॉडल ( .tflite फ़ाइल एक्सटेंशन द्वारा पहचाना गया एक अनुकूलित फ़्लैटबफ़र प्रारूप) उत्पन्न करता है। आप एक सेव्डमॉडल लोड कर सकते हैं या अपने द्वारा बनाए गए मॉडल को सीधे कोड में परिवर्तित कर सकते हैं।

कनवर्टर 3 मुख्य झंडे (या विकल्प) लेता है जो आपके मॉडल के लिए रूपांतरण को अनुकूलित करता है:

  1. संगतता झंडे आपको यह निर्दिष्ट करने की अनुमति देते हैं कि रूपांतरण को कस्टम ऑपरेटरों को अनुमति देनी चाहिए या नहीं।
  2. अनुकूलन झंडे आपको रूपांतरण के दौरान लागू किए जाने वाले अनुकूलन के प्रकार को निर्दिष्ट करने की अनुमति देते हैं। सबसे अधिक इस्तेमाल की जाने वाली अनुकूलन तकनीक प्रशिक्षण के बाद क्वानिटाइजेशन है।
  3. मेटाडेटा फ़्लैग आपको परिवर्तित मॉडल में मेटाडेटा जोड़ने की अनुमति देता है जिससे उपकरणों पर मॉडल तैनात करते समय प्लेटफ़ॉर्म विशिष्ट रैपर कोड बनाना आसान हो जाता है।

आप पायथन एपीआई या कमांड लाइन टूल का उपयोग करके अपने मॉडल को परिवर्तित कर सकते हैं। अपने मॉडल पर कनवर्टर चलाने के चरण-दर-चरण निर्देशों के लिए कन्वर्ट टीएफ मॉडल गाइड देखें।

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

उन्नत रूपांतरण

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

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

अगले कदम

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