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

पहली इमेज. LiteRT कन्वर्ज़न वर्कफ़्लो.
यहां दिए गए सेक्शन में, LiteRT के साथ इस्तेमाल करने के लिए मॉडल का आकलन करने और उन्हें बदलने की प्रोसेस के बारे में बताया गया है.
मॉडल के इनपुट फ़ॉर्मैट
कन्वर्टर का इस्तेमाल, इनपुट मॉडल के इन फ़ॉर्मैट के साथ किया जा सकता है:
- SavedModel (सुझाया गया): यह डिस्क पर फ़ाइलों के सेट के तौर पर सेव किया गया TensorFlow मॉडल होता है.
- Keras मॉडल: यह मॉडल, Keras के हाई लेवल एपीआई का इस्तेमाल करके बनाया जाता है.
- Keras H5 फ़ॉर्मैट: यह SavedModel फ़ॉर्मैट का हल्का विकल्प है. यह Keras API के साथ काम करता है.
- कॉन्क्रीट फ़ंक्शन से बनाए गए मॉडल: यह मॉडल, TensorFlow API के लो लेवल का इस्तेमाल करके बनाया जाता है.
Keras और कॉन्क्रीट फ़ंक्शन, दोनों तरह के मॉडल को SavedModel के तौर पर सेव किया जा सकता है. साथ ही, सुझाए गए तरीके का इस्तेमाल करके उन्हें बदला जा सकता है.
अगर आपके पास Jax मॉडल है, तो इसे LiteRT फ़ॉर्मैट में बदलने के लिए TFLiteConverter.experimental_from_jax
एपीआई का इस्तेमाल किया जा सकता है. ध्यान दें कि एक्सपेरिमेंटल मोड में होने पर, इस एपीआई में बदलाव हो सकता है.
कन्वर्ज़न का आकलन
अपने मॉडल को बदलने की कोशिश करने से पहले, उसका आकलन करना एक ज़रूरी चरण है. जांच करते समय, आपको यह तय करना होगा कि आपके मॉडल का कॉन्टेंट, LiteRT फ़ॉर्मैट के साथ काम करता है या नहीं. आपको यह भी तय करना चाहिए कि आपका मॉडल, मोबाइल और एज डिवाइसों पर इस्तेमाल करने के लिए सही है या नहीं. इसके लिए, आपको इन बातों का ध्यान रखना होगा: मॉडल के लिए इस्तेमाल किए जाने वाले डेटा का साइज़, हार्डवेयर प्रोसेसिंग से जुड़ी ज़रूरी शर्तें, और मॉडल का कुल साइज़ और जटिलता.
कई मॉडल के लिए, कन्वर्टर को बिना किसी बदलाव के इस्तेमाल किया जा सकता है. हालांकि, LiteRT की बिल्ट-इन ऑपरेटर लाइब्रेरी, TensorFlow Core ऑपरेटर के सबसेट के साथ काम करती है. इसका मतलब है कि कुछ मॉडल को LiteRT में बदलने से पहले, कुछ और चरणों को पूरा करना पड़ सकता है. इसके अलावा, LiteRT के साथ काम करने वाली कुछ कार्रवाइयों के इस्तेमाल पर पाबंदी है. ऐसा परफ़ॉर्मेंस को बेहतर बनाने के लिए किया गया है. ऑपरेटर के साथ काम करने की सुविधा से जुड़ी गाइड देखें. इससे यह पता चलेगा कि कन्वर्ज़न के लिए, आपके मॉडल को फिर से तैयार करने की ज़रूरत है या नहीं.
मॉडल कन्वर्ज़न
LiteRT कन्वर्टर, TensorFlow मॉडल लेता है और एक LiteRT मॉडल जनरेट करता है. यह एक ऑप्टिमाइज़ किया गया FlatBuffer फ़ॉर्मैट है, जिसकी पहचान .tflite फ़ाइल एक्सटेंशन से होती है. सेव किए गए मॉडल को लोड किया जा सकता है या कोड में बनाए गए मॉडल को सीधे तौर पर बदला जा सकता है.
कन्वर्टर तीन मुख्य फ़्लैग (या विकल्प) लेता है, जो आपके मॉडल के लिए कन्वर्ज़न को पसंद के मुताबिक बनाते हैं:
- कंपैटिबिलिटी फ़्लैग की मदद से, यह तय किया जा सकता है कि कन्वर्ज़न में कस्टम ऑपरेटर इस्तेमाल करने की अनुमति होनी चाहिए या नहीं.
- ऑप्टिमाइज़ेशन फ़्लैग की मदद से, कन्वर्ज़न के दौरान लागू किए जाने वाले ऑप्टिमाइज़ेशन का टाइप तय किया जा सकता है. ऑप्टिमाइज़ेशन की सबसे ज़्यादा इस्तेमाल की जाने वाली तकनीक, पोस्ट-ट्रेनिंग क्वानटाइज़ेशन है.
- मेटाडेटा फ़्लैग की मदद से, बदले गए मॉडल में मेटाडेटा जोड़ा जा सकता है. इससे, डिवाइसों पर मॉडल डिप्लॉय करते समय, प्लैटफ़ॉर्म के हिसाब से रैपर कोड बनाना आसान हो जाता है.
अपने मॉडल को Python API या कमांड लाइन टूल का इस्तेमाल करके बदला जा सकता है. अपने मॉडल पर कनवर्टर चलाने के सिलसिलेवार निर्देशों के लिए, TF मॉडल को बदलें गाइड देखें.
आम तौर पर, LiteRT के लिए अपने मॉडल को स्टैंडर्ड LiteRT रनटाइम एनवायरमेंट या LiteRT (बीटा) के लिए Google Play services रनटाइम एनवायरमेंट में बदला जाता है. कुछ ऐडवांस इस्तेमाल के मामलों में, मॉडल के रनटाइम एनवायरमेंट में बदलाव करने की ज़रूरत होती है. इसके लिए, कन्वर्ज़न प्रोसेस में कुछ और चरण पूरे करने पड़ते हैं. ज़्यादा जानकारी के लिए, Android की खास जानकारी वाले पेज पर ऐडवांस रनटाइम एनवायरमेंट सेक्शन देखें.
ऐडवांस कन्वर्ज़न
अगर आपको अपने मॉडल पर कनवर्टर चलाने के दौरान गड़बड़ियां मिलती हैं, तो हो सकता है कि आपको ऑपरेटर के साथ काम करने से जुड़ी कोई समस्या हो. TensorFlow Lite, TensorFlow की सभी कार्रवाइयों के साथ काम नहीं करता. अपने मॉडल को फिर से फ़ैक्टर करके या कन्वर्ज़न के ऐसे बेहतर विकल्पों का इस्तेमाल करके इन समस्याओं को हल किया जा सकता है जिनकी मदद से, LiteRT फ़ॉर्मैट के बदले हुए मॉडल और उस मॉडल के लिए कस्टम रनटाइम एनवायरमेंट को बनाया जा सकता है.
- TensorFlow और LiteRT मॉडल के साथ काम करने से जुड़ी बातों के बारे में ज़्यादा जानने के लिए, मॉडल के साथ काम करने की सुविधा के बारे में खास जानकारी देखें.
- मॉडल के साथ काम करने की सुविधा से जुड़ी खास जानकारी में दिए गए विषयों में, मॉडल को फिर से व्यवस्थित करने की बेहतर तकनीकें शामिल हैं. जैसे, ऑपरेटर चुनें गाइड.
- ऑपरेशन और सीमाओं की पूरी सूची के लिए, LiteRT ऑपरेशंस पेज देखें.
अगले चरण
- अपने मॉडल को बदलने के लिए, TF मॉडल को बदलें गाइड देखें.
- ऑप्टिमाइज़ेशन की खास जानकारी देखें. इसमें, पोस्ट-ट्रेनिंग क्वॉन्टाइज़ेशन जैसी तकनीकों का इस्तेमाल करके, कनवर्ट किए गए मॉडल को ऑप्टिमाइज़ करने का तरीका बताया गया है.
- अपने मॉडल में मेटाडेटा जोड़ने का तरीका जानने के लिए, मेटाडेटा जोड़ने के बारे में खास जानकारी देखें. मेटाडेटा से, अन्य लोगों को आपके मॉडल के बारे में जानकारी मिलती है. साथ ही, इसमें ऐसी जानकारी भी होती है जिसका इस्तेमाल कोड जनरेट करने वाले टूल कर सकते हैं.