اگر یک توسعهدهنده ML با تجربه هستید و کتابخانه TensorFlow Lite از پیش ساخته شده نیازهای شما را برآورده نمیکند، میتوانید از یک ساخت سفارشی TensorFlow Lite با کیت ML استفاده کنید. به عنوان مثال، ممکن است بخواهید عملیات سفارشی را اضافه کنید.
پیش نیازها
- یک محیط ساخت 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
- Tensorflow Lite را (با اصلاحات خود) طبق دستورالعملهای استاندارد بسازید
- ساخت چارچوب:
tensorflow/lite/lib_package/create_ios_frameworks.sh
چارچوب تولید شده را می توان در tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip
یافت.
ایجاد یک غلاف محلی
- یک دایرکتوری برای پاد محلی خود ایجاد کنید
-
pod lib create TensorFlowLite
در دایرکتوری که ایجاد کردید اجرا کنید - یک دایرکتوری
Frameworks
در دایرکتوریTensorFlowLite
ایجاد کنید - فایل
tensorflow_lite.framework.zip
ایجاد شده در بالا را از حالت فشرده خارج کنید -
tensorflow_lite.framework
زیپ نشده را درTensorFlowLite/Frameworks
کپی کنید -
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"
به این نسخه مراجعه کنید.