אם אתם מפתחים מנוסים של למידת מכונה, והספרייה המובנית של TensorFlow Lite לא עונה על הצרכים שלכם, אתם יכולים להשתמש בגרסה מותאמת אישית של TensorFlow Lite עם ML Kit. לדוגמה, יכול להיות שתרצו להוסיף פעולות בהתאמה אישית.
דרישות מוקדמות
- סביבת build פעילה של 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
- מבצעים Build של 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
הפניה ל-Pod בהתאמה אישית בפרויקט
אפשר לכלול את ה-Pod המותאם אישית על ידי הפניה אליו ישירות מתוך Podfile
של האפליקציה:
pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'
אפשרויות נוספות לניהול פודים פרטיים מופיעות במאמר Private Pods (פודים פרטיים) במאמרי העזרה של Cocoapods. שימו לב שהגרסה חייבת להיות זהה בדיוק, ועליכם לציין את הגרסה הזו כשאתם כוללים את ה-pod מהמאגר הפרטי שלכם, לדוגמה pod 'TensorFlowLite', "1.10.1"
.