मॉडल कन्वर्ज़न की खास जानकारी

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

कन्वर्ज़न वर्कफ़्लो

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

नीचे दिया गया डायग्राम किसी मॉडल को बदलने के लिए इस्तेमाल होने वाले हाई लेवल के चरणों को दिखाता है.

TFLite कन्वर्ज़न वर्कफ़्लो

पहला डायग्राम. LiteRT कन्वर्ज़न वर्कफ़्लो.

नीचे दिए सेक्शन में, मॉडल का आकलन करने और उन्हें बदलने की प्रोसेस के बारे में बताया गया है LiteRT के साथ इस्तेमाल करने के लिए.

इनपुट मॉडल के फ़ॉर्मैट

कन्वर्टर का इस्तेमाल इन इनपुट मॉडल फ़ॉर्मैट के साथ किया जा सकता है:

  • SavedModel (इसका सुझाव दिया जाता है): TensorFlow का एक मॉडल, डिस्क पर फ़ाइलों के सेट के तौर पर सेव किया गया.
  • केरस का मॉडल: हाई लेवल Keras API का इस्तेमाल करके बनाया गया मॉडल.
  • Keras H5 फ़ॉर्मैट: Keras API के साथ काम करने वाले सेव किए गए मॉडल फ़ॉर्मैट का कम वज़न वाला विकल्प.
  • कॉन्क्रीट फ़ंक्शन से बने मॉडल: कम लेवल के TensorFlow एपीआई का इस्तेमाल करके बनाया गया मॉडल.

Keras और कंक्रीट फ़ंक्शन मॉडल, दोनों को सेव किए गए मॉडल के तौर पर सेव किया जा सकता है और सुझाए गए पाथ का इस्तेमाल करके फ़ॉर्मैट बदलें.

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

कन्वर्ज़न का आकलन करना

अपने मॉडल को रूपांतरित करने का प्रयास करने से पहले उसका मूल्यांकन करना एक महत्वपूर्ण चरण है. आकलन करते समय, आपको यह तय करना हो कि आपके मॉडल का कॉन्टेंट, LiteRT फ़ॉर्मैट. आपको यह भी तय करना चाहिए कि आपका मॉडल सही है या नहीं इस्तेमाल करने के लिए, मॉडल में इस्तेमाल होने वाले डेटा के साइज़ के हिसाब से, मोबाइल और एज वाले डिवाइसों पर हार्डवेयर प्रोसेसिंग की ज़रूरतें, मॉडल के पूरे साइज़ और जटिलता.

कई मॉडल के लिए, कन्वर्टर कुछ अलग तरीके से काम करना चाहिए. हालांकि, LiteRT बिल्ट-इन ऑपरेटर लाइब्रेरी, TensorFlow कोर ऑपरेटर, इसका मतलब है कि कुछ मॉडल को अतिरिक्त LiteRT में बदलने से पहले कुछ चरण पूरे करें. इसके अलावा, LiteRT पर काम करने वाली कुछ कार्रवाइयों में परफ़ॉर्मेंस की वजहों से, ऐप्लिकेशन के इस्तेमाल पर पाबंदी लगाई गई है. ज़्यादा जानकारी के लिए, ऑपरेटर के साथ काम करने की गाइड ताकि यह तय किया जा सके कि कन्वर्ज़न के लिए आपके मॉडल में फिर से बदलाव करने की ज़रूरत है या नहीं.

मॉडल कन्वर्ज़न

LiteRT कन्वर्टर, TensorFlow मॉडल लेता है और LiteRT मॉडल (ऑप्टिमाइज़ किया गया FlatBuffer फ़ॉर्मैट की पहचान .tflite फ़ाइल एक्सटेंशन). लोड करें सेव किए गए मॉडल का इस्तेमाल करके या सीधे कोड में बनाए गए मॉडल को कन्वर्ट करते हैं.

कन्वर्टर को कन्वर्ज़न को पसंद के मुताबिक बनाने के लिए तीन मुख्य फ़्लैग या विकल्प मिलते हैं आपके मॉडल के लिए:

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

Python API का इस्तेमाल करके, अपने मॉडल को बदला जा सकता है या कमांड लाइन टूल का इस्तेमाल करें. ज़्यादा जानकारी के लिए, सिलसिलेवार निर्देश पाने के लिए, टीएफ़ मॉडल को फ़ॉर्मैट में बदलें गाइड पर कन्वर्टर चलाने के बारे में निर्देश देखें.

आम तौर पर, आपको अपने मॉडल को स्टैंडर्ड LiteRT के तौर पर बदलना होगा रनटाइम एनवायरमेंट या Google Play services का रनटाइम एनवायरमेंट LiteRT (बीटा) के लिए. इस्तेमाल के कुछ बेहतर उदाहरणों के लिए, इसके लिए, मॉडल रनटाइम एनवायरमेंट को पसंद के मुताबिक बनाया जाता है. इसके लिए, आपको कुछ और चरण पूरे करने होते हैं कन्वर्ज़न प्रोसेस. ज़्यादा जानकारी के लिए, Android का ऐडवांस रनटाइम एनवायरमेंट सेक्शन ज़्यादा जानकारी के लिए, खास जानकारी देखें.

बेहतर रूपांतरण

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

  • मॉडल के साथ काम करने से जुड़ी खास जानकारी देखें TensorFlow और LiteRT मॉडल के साथ काम करने के बारे में ज़्यादा जानकारी पाने के लिए ध्यान दें.
  • मॉडल के साथ काम करने से जुड़ी खास जानकारी देने वाले सेक्शन में, इन विषयों के लिए बेहतर तकनीकों के बारे में बताया गया है अपने मॉडल की रीफ़ैक्टरिंग, जैसे कि ऑपरेटर चुनें पढ़ें.
  • कार्रवाइयों और सीमाओं की पूरी सूची देखने के लिए, यह देखें LiteRT Ops पेज.

अगले चरण