मॉडल रूपांतरण अवलोकन

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

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

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

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

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

चित्रा 1. TensorFlow लाइट रूपांतरण कार्यप्रवाह।

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

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

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

  • SavedModel ( अनुशंसित ): एक TensorFlow मॉडल डिस्क पर फ़ाइलों के एक सेट के रूप में सहेजा गया।
  • केरस मॉडल : उच्च स्तरीय केरस एपीआई का उपयोग करके बनाया गया एक मॉडल।
  • केरस एच5 प्रारूप : केरस एपीआई द्वारा समर्थित सेव्डमॉडल प्रारूप का एक हल्का विकल्प।
  • ठोस कार्यों से निर्मित मॉडल : निम्न स्तर के TensorFlow API का उपयोग करके बनाया गया एक मॉडल।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

अगले कदम