अपनी पसंद के मुताबिक TensorFlow Lite बिल्ड इस्तेमाल करें

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

ज़रूरी शर्तें

  • TensorFlow Lite का काम करने वाला बिल्ड एनवायरमेंट
  • TensorFlow Lite 1.10.1 की खरीदारी

Git का इस्तेमाल करके, सही वर्शन देखा जा सकता है:

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

Tensorflow Lite लाइब्रेरी बनाना

  1. स्टैंडर्ड निर्देशों का पालन करके, अपने बदलावों के साथ Tensorflow Lite बनाएं
  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'

निजी पॉड मैनेज करने के अन्य विकल्पों के लिए, Cocoapods दस्तावेज़ में निजी पॉड देखें. ध्यान दें कि वर्शन पूरी तरह से मैच होना चाहिए.साथ ही, आपको अपने निजी रिपॉज़िटरी से पॉड को शामिल करते समय, इस वर्शन का रेफ़रंस देना चाहिए. जैसे, pod 'TensorFlowLite', "1.10.1".