एक कस्टम TensorFlow लाइट बिल्ड का उपयोग करें

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

आवश्यक शर्तें

  • एक कार्यशील TensorFlow Lite बिल्ड वातावरण
  • TensorFlow Lite 1.10.1 का चेकआउट

आप Git का उपयोग करके सही संस्करण देख सकते हैं:

git checkout -b work
git reset --hard tflite-v1.10.1
git cherry-pick 4dcfddc5d12018a5a0fdca652b9221ed95e9eb23

टेन्सरफ़्लो लाइट लाइब्रेरी का निर्माण

  1. मानक निर्देशों का पालन करते हुए टेन्सरफ़्लो लाइट (अपने संशोधनों के साथ) बनाएं
  2. ढाँचा बनाएँ:
tensorflow/lite/lib_package/create_ios_frameworks.sh

जेनरेट किया गया फ्रेमवर्क tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip पर पाया जा सकता है

एक स्थानीय पॉड बनाना

  1. अपने स्थानीय पॉड के लिए एक निर्देशिका बनाएं
  2. आपके द्वारा बनाई गई निर्देशिका में pod lib create TensorFlowLite चलाएँ
  3. TensorFlowLite निर्देशिका के अंदर एक Frameworks निर्देशिका बनाएं
  4. ऊपर उत्पन्न tensorflow_lite.framework.zip फ़ाइल को अनज़िप करें
  5. अनज़िप किए गए tensorflow_lite.framework को TensorFlowLite/Frameworks पर कॉपी करें
  6. लाइब्रेरी को संदर्भित करने के लिए जेनरेट किए गए TensorFlowLite/TensorFlowLite.podspec को संशोधित करें:
    Pod::Spec.new do |s|
      s.name             = 'TensorFlowLite'
      s.version          = '0.1.7' # Version must match.
      s.ios.deployment_target = '9.0'
      
      # ... make other changes as desired
      
      internal_pod_root = Pathname.pwd
      s.frameworks = 'Accelerate'
      s.libraries = 'c++'
      s.vendored_frameworks = 'Frameworks/tensorflow_lite.framework'

      s.pod_target_xcconfig = {
        'SWIFT_VERSION' => '4.0',
        'INTERNAL_POD_ROOT' => "#{internal_pod_root}",
        'HEADER_SEARCH_PATHS' => "$(inherited) '${INTERNAL_POD_ROOT}/Frameworks/tensorflow_lite.framework/Headers'",
        'OTHER_LDFLAGS' => "-force_load '${INTERNAL_POD_ROOT}/Frameworks/tensorflow_lite.framework/tensorflow_lite'"
      }
    end

आपके प्रोजेक्ट में कस्टम पॉड का संदर्भ देना

आप कस्टम पॉड को सीधे अपने ऐप के Podfile से संदर्भित करके शामिल कर सकते हैं:

pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'

निजी पॉड्स के प्रबंधन के अन्य विकल्पों के लिए, कोकोपोड्स दस्तावेज़ में प्राइवेट पॉड्स देखें। ध्यान दें कि संस्करण बिल्कुल मेल खाना चाहिए, और आपको अपने निजी भंडार से पॉड शामिल करते समय इस संस्करण का संदर्भ देना चाहिए, उदाहरण के लिए pod 'TensorFlowLite', "1.10.1"