אם אתם מפתחים מנוסים של למידת מכונה, והספרייה המובנית של TensorFlow Lite לא עונה על הצרכים שלכם, אתם יכולים להשתמש בגרסה מותאמת אישית של TensorFlow Lite עם ML Kit. לדוגמה, יכול להיות שתרצו להוסיף פעולות מותאמות אישית.
דרישות מוקדמות
- סביבת build פעילה של 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 המקומי
- מריצים את הפקודה
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'
אפשרויות נוספות לניהול של pods פרטיים מופיעות במאמר בנושא Private Pods במסמכי התיעוד של Cocoapods. שימו לב שהגרסה חייבת להיות זהה בדיוק, ועליכם לציין את הגרסה הזו כשאתם כוללים את ה-pod מהמאגר הפרטי שלכם, לדוגמה: pod 'TensorFlowLite', "1.10.1".