커스텀 TensorFlow Lite 빌드 사용

숙련된 ML 개발자이며 사전 빌드된 TensorFlow Lite 라이브러리가 요구사항에 맞지 않는 경우 ML Kit를 통해 커스텀 TensorFlow Lite 빌드를 사용할 수 있습니다. 예를 들어 커스텀 작업을 추가할 수 있습니다.

기본 요건

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.frameworkTensorFlowLite/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 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'

비공개 pod를 관리하는 다른 옵션은 CocoaPods 문서의 비공개 pod를 참조하세요. 버전이 정확히 일치해야 하며, 비공개 저장소의 포드(예: pod 'TensorFlowLite', "1.10.1")를 포함하는 경우에는 이 버전을 참조해야 합니다.