إذا كنت مطوّرًا ذا خبرة في تعلُّم الآلة ولم تلبِّ مكتبة TensorFlow Lite المعدّة مسبقًا احتياجاتك، يمكنك استخدام إصدار مخصّص من TensorFlow Lite مع ML Kit. على سبيل المثال، قد تحتاج إلى إضافة عمليات مخصّصة.
المتطلبات الأساسية
- بيئة إنشاء TensorFlow Lite تعمل
- إصدار TensorFlow Lite 1.10.1
يمكنك الاطّلاع على الإصدار الصحيح باستخدام Git:
git checkout -b workgit reset --hard tflite-v1.10.1git 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
الإشارة إلى الحزمة المخصّصة في مشروعك
يمكنك تضمين حزمة SDK المخصّصة من خلال الإشارة إليها مباشرةً من Podfile في تطبيقك:
pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'
للاطّلاع على خيارات أخرى لإدارة وحدات Pod الخاصة، راجِع وحدات Pod الخاصة في مستندات Cocoapods. يُرجى العِلم أنّه يجب أن يتطابق الإصدار تمامًا، ويجب الإشارة إلى هذا الإصدار عند تضمين الحزمة من المستودع الخاص، مثلاً pod 'TensorFlowLite', "1.10.1".