使用自訂 TensorFlow Lite 版本

如果您是經驗豐富的機器學習開發人員,且預先建構的 TensorFlow Lite 程式庫無法滿足您的需求,可以使用 ML Kit 搭配自訂 TensorFlow Lite 建構。舉例來說,您可能想要新增自訂作業。

事前準備

  • 可正常運作的 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 中找到產生的架構

建立本機 Pod

  1. 為本機 Pod 建立目錄
  2. 在您建立的目錄中執行 pod lib create TensorFlowLite
  3. TensorFlowLite 目錄中建立 Frameworks 目錄
  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

在專案中參照自訂 Pod

您可以直接從應用程式的 Podfile 參照自訂 Pod,藉此加入自訂 Pod:

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

如需管理私人 Pod 的其他選項,請參閱 Cocoapods 說明文件中的「Private Pods」一節。請注意,版本必須完全相符,且包含私人存放區中的 Pod 時,應參照這個版本,例如 pod 'TensorFlowLite', "1.10.1"