ใช้บิลด์ TensorFlow Lite ที่กำหนดเอง

หากคุณเป็นนักพัฒนาซอฟต์แวร์ ML ที่มีประสบการณ์และ 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

  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'

โปรดดูตัวเลือกอื่นๆ ในการจัดการพ็อดส่วนตัวที่หัวข้อ พ็อดส่วนตัวใน ในเอกสารประกอบของ Cocoapods โปรดทราบว่าเวอร์ชันต้องตรงกันทั้งหมด และคุณ ควรอ้างอิงเวอร์ชันนี้เมื่อรวมพ็อดจาก ที่เก็บส่วนตัว เช่น pod 'TensorFlowLite', "1.10.1".