השתמש במבנה מותאם אישית של TensorFlow Lite

אם אתה מפתח ML מנוסה וספריית TensorFlow Lite הבנויה מראש לא עונה על הצרכים שלך, אתה יכול להשתמש במבנה TensorFlow Lite מותאם אישית עם ערכת ML. לדוגמה, ייתכן שתרצה להוסיף פעולות מותאמות אישית.

דרישות מוקדמות

אתה יכול לבדוק את הגרסה הנכונה באמצעות Git:

git checkout -b work
git reset --hard tflite-v1.10.1
git cherry-pick 4dcfddc5d12018a5a0fdca652b9221ed95e9eb23

בניית ספריית Tensorflow Lite

  1. בנה את Tensorflow Lite (עם השינויים שלך) לפי ההוראות הסטנדרטיות
  2. בנה את המסגרת:
tensorflow/lite/lib_package/create_ios_frameworks.sh

ניתן למצוא את המסגרת שנוצרה בכתובת tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip

יצירת פוד מקומי

  1. צור ספרייה עבור הפוד המקומי שלך
  2. הפעל את pod lib create TensorFlowLite בספרייה שיצרת
  3. צור ספריית Frameworks בתוך ספריית TensorFlowLite
  4. פתח את הקובץ tensorflow_lite.framework.zip שנוצר לעיל
  5. העתק את ה- tensorflow_lite.framework הפתוח אל TensorFlowLite/Frameworks
  6. שנה את 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'

לאפשרויות אחרות לניהול פודים פרטיים, ראה Pods פרטיים בתיעוד Cocoapods. שים לב שהגרסה חייבת להתאים בדיוק, ועליך להתייחס לגרסה זו כאשר אתה כולל את הפוד מהמאגר הפרטי שלך, למשל pod 'TensorFlowLite', "1.10.1" .