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

اگر یک توسعه‌دهنده ML با تجربه هستید و کتابخانه TensorFlow Lite از پیش ساخته شده نیازهای شما را برآورده نمی‌کند، می‌توانید از یک ساخت سفارشی TensorFlow Lite با کیت ML استفاده کنید. به عنوان مثال، ممکن است بخواهید عملیات سفارشی را اضافه کنید.

پیش نیازها

می توانید نسخه صحیح را با استفاده از 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 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'

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