إذا كنت مطوّرًا ذا خبرة في تعلُّم الآلة ولم تلبِّ مكتبة TensorFlow Lite المعدّة مسبقًا احتياجاتك، يمكنك استخدام إصدار مخصّص من TensorFlow Lite مع ML Kit. على سبيل المثال، قد تحتاج إلى إضافة عمليات مخصّصة.
المتطلبات الأساسية
- بيئة إنشاء 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'
للاطّلاع على خيارات أخرى لإدارة وحدات Pod الخاصة، راجِع وحدات Pod الخاصة في مستندات Cocoapods. يُرجى العِلم أنّه يجب أن يتطابق الإصدار تمامًا، ويجب الإشارة إلى هذا الإصدار عند تضمين الحزمة من المستودع الخاص، مثلاً pod 'TensorFlowLite', "1.10.1"
.