इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

TensorFlow Lite बाइनरी आकार को कम करें

अवलोकन

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

चयनात्मक निर्माण निम्नलिखित तीन संचालन पुस्तकालयों पर लागू होता है।

  1. TensorFlow Lite में निर्मित ऑप्स लाइब्रेरी है
  2. TensorFlow Lite कस्टम ऑप्स
  3. TensorFlow ऑप्स लाइब्रेरी चुनें

नीचे दी गई तालिका कुछ सामान्य उपयोग मामलों के लिए चयनात्मक बिल्ड के प्रभाव को प्रदर्शित करती है:

मॉडल का नाम डोमेन लक्ष्य वास्तुकला AAR फ़ाइल का आकार
Mobilenet_1.0_224 (नाव) छवि वर्गीकरण armeabi-v7a टेंसरफ़्लो-लाइट.आयर (296,635 बाइट्स)
arm64-V8A टेंसरफ्लो- lite.aar (382,892 बाइट्स)
चाट मसाला ध्वनि पिच निष्कर्षण armeabi-v7a टेंसरफ्लो- lite.AR (375,813 बाइट्स)
टेंसरफ़्लो-लाइट-सेलेक्ट-टीएफ-ऑपेसार (1,676,380 बाइट्स)
arm64-V8A टेंसरफ़्लो-लाइट.आयर (421,826 बाइट्स)
टेंसरफ़्लो-लाइट-सेलेक्ट-टीएफ-ऑपेसार (2,298,630 बाइट्स)
i3d-गतिकी -400 वीडियो वर्गीकरण armeabi-v7a टेंसरफ़्लो-लाइट.एयर (240,085 बाइट्स)
टेंसरफ़्लो-लाइट-सेलेक्ट-टीएफ-ऑपेसार (1,708,597 बाइट्स)
arm64-V8A टेंसरफ़्लो-लाइट.आयर (273,713 बाइट)
टेंसरफ़्लो-लाइट-सेलेक्ट-टीएफ-ऑपेसार (2,339,697 बाइट्स)

ज्ञात मुद्दे / सीमाएँ

  1. वर्तमान में C API और iOS संस्करण के लिए सेलेक्टिव बिल्ड समर्थित नहीं है।

Bazel के साथ चुनिंदा TensorFlow Lite बनाएं

यह खंड मानता है कि आपने TensorFlow स्रोत कोड डाउनलोड किए हैं और Bazel के लिए स्थानीय विकास वातावरण स्थापित किया है

Android प्रोजेक्ट के लिए AAR फ़ाइलें बनाएँ

आप निम्न प्रकार से अपने मॉडल फ़ाइल पथ प्रदान करके कस्टम TensorFlow Lite AARs बना सकते हैं।

sh tensorflow/lite/tools/build_aar.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a

उपरोक्त आदेश TARorFlow Lite में निर्मित और कस्टम ऑप्स के लिए AAR फ़ाइल bazel-bin/tmp/tensorflow-lite.aar उत्पन्न करेगा; और वैकल्पिक रूप से, यदि आपके मॉडल में TensorFlow op का चयन होता है, तो aar फ़ाइल bazel-bin/tmp/tensorflow-lite-select-tf-ops.aar उत्पन्न करता है। ध्यान दें कि यह कई अलग-अलग आर्किटेक्चर के साथ "वसा" एएआर बनाता है; यदि आपको उन सभी की आवश्यकता नहीं है, तो अपने परिनियोजन वातावरण के लिए उपयुक्त सबसेट का उपयोग करें।

उन्नत उपयोग: कस्टम ऑप्स के साथ बनाएँ

यदि आपने कस्टम ऑप्स के साथ Tensorflow Lite मॉडल विकसित किए हैं, तो आप उन्हें निम्न कमांड्स को बिल्ड कमांड में जोड़कर बना सकते हैं:

sh tensorflow/lite/tools/build_aar.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a \
  --tflite_custom_ops_srcs=/e/f/file1.cc,/g/h/file2.h \
  --tflite_custom_ops_deps=dep1,dep2

tflite_custom_ops_srcs ध्वज में आपके कस्टम ऑप्स की स्रोत फ़ाइलें होती हैं और tflite_custom_ops_deps ध्वज में उन स्रोत फ़ाइलों को बनाने के लिए निर्भरताएँ होती हैं। ध्यान दें कि ये निर्भरता TensorFlow repo में मौजूद होनी चाहिए।

डॉकर के साथ चुनिंदा रूप से TensorFlow Lite बनाएँ

यह खंड मानता है कि आपने अपने स्थानीय मशीन पर डॉकर को स्थापित किया है और TensorFlow Lite docker फ़ाइल का निर्माण किया है

Android प्रोजेक्ट के लिए AAR फ़ाइलों का निर्माण करें

डॉकर के साथ भवन निर्माण के लिए स्क्रिप्ट डाउनलोड करें:

curl -o build_aar_with_docker.sh \
  https://raw.githubusercontent.com/tensorflow/tensorflow/master/tensorflow/lite/tools/build_aar_with_docker.sh &&
chmod +x build_aar_with_docker.sh

फिर, आप निम्न प्रकार से अपने मॉडल फ़ाइल पथ प्रदान करके कस्टम TensorFlow Lite AAR का निर्माण कर सकते हैं।

sh build_aar_with_docker.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a \
  --checkpoint=master

checkpoint ध्वज एक प्रतिबद्ध, एक शाखा या टेन्सरफ्लो रेपो का एक टैग है जिसे आप पुस्तकालयों के निर्माण से पहले चेकआउट करना चाहते हैं। उपरोक्त कमांड, TensorFlow Lite में निर्मित और कस्टम ऑप्स के लिए AAR फ़ाइल tensorflow-lite.aar उत्पन्न करेगा और वैकल्पिक रूप से आपकी वर्तमान डाइरेक्टरी में Select TororFlow ऑप्स के लिए AAR फ़ाइल tensorflow-lite-select-tf-ops.aar

प्रोजेक्ट में AAR फ़ाइलें जोड़ें

AAR को सीधे अपनी परियोजना में आयात करके , या अपने स्थानीय मावेन रिपॉजिटरी में कस्टम AAR को प्रकाशित करके AAR फाइलें जोड़ें। ध्यान दें कि आपको tensorflow-lite-select-tf-ops.aar लिए एएआर फ़ाइलों को जोड़ना होगा और साथ ही यदि आप इसे उत्पन्न करते हैं।