از یک ساخت سفارشی TensorFlow Lite استفاده کنید

اگر یک توسعه‌دهنده‌ی باتجربه‌ی یادگیری ماشین هستید و کتابخانه‌ی از پیش ساخته شده‌ی TensorFlow Lite نیازهای شما را برآورده نمی‌کند، می‌توانید از یک نسخه سفارشی 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. یک پوشه Frameworks درون پوشه TensorFlowLite ایجاد کنید.
  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 سفارشی را اضافه کنید:

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

برای گزینه‌های دیگر برای مدیریت پادهای خصوصی، به بخش «پادهای خصوصی» در مستندات Cocoapods مراجعه کنید. توجه داشته باشید که نسخه باید دقیقاً مطابقت داشته باشد و هنگام افزودن پاد از مخزن خصوصی خود، باید به این نسخه ارجاع دهید، مثلاً pod 'TensorFlowLite', "1.10.1" .