Sử dụng bản dựng tuỳ chỉnh cho TensorFlow Lite

Nếu bạn là một nhà phát triển máy học có kinh nghiệm và TensorFlow Lite tạo sẵn không đáp ứng nhu cầu của bạn, bạn có thể sử dụng Bản dựng TensorFlow Lite bằng Bộ công cụ học máy. Để ví dụ: bạn có thể muốn thêm hoạt động tuỳ chỉnh.

Điều kiện tiên quyết

  • Một môi trường xây dựng TensorFlow Lite hoạt động
  • Thông tin thanh toán cho TensorFlow Lite 1.10.1

Bạn có thể xem đúng phiên bản bằng Git:

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

Xây dựng thư viện Tensorflow Lite

  1. Tạo Tensorflow Lite (với các sửa đổi của bạn) theo hướng dẫn chuẩn
  2. Xây dựng khung:
tensorflow/lite/lib_package/create_ios_frameworks.sh

Bạn có thể tìm thấy khung đã tạo tại tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip

Tạo nhóm cục bộ

  1. Tạo thư mục cho nhóm cục bộ
  2. Chạy pod lib create TensorFlowLite trong thư mục mà bạn đã tạo
  3. Tạo thư mục Frameworks bên trong thư mục TensorFlowLite
  4. Giải nén tệp tensorflow_lite.framework.zip được tạo ở trên
  5. Sao chép tệp tensorflow_lite.framework đã giải nén vào TensorFlowLite/Frameworks
  6. Sửa đổi TensorFlowLite/TensorFlowLite.podspec đã tạo để tham chiếu đến thư viện:
    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

Tham chiếu nhóm tuỳ chỉnh trong dự án của bạn

Bạn có thể bao gồm nhóm tuỳ chỉnh bằng cách tham chiếu trực tiếp nhóm này từ Podfile:

pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'

Để biết các lựa chọn khác giúp quản lý các nhóm riêng tư, hãy xem Nhóm riêng tư trong tài liệu về Cocoapods. Xin lưu ý rằng phiên bản phải khớp chính xác và bạn nên tham chiếu phiên bản này khi bao gồm nhóm từ kho lưu trữ riêng tư, ví dụ: pod 'TensorFlowLite', "1.10.1".