Özel bir TensorFlow Lite derlemesi kullanma

Deneyimli bir makine öğrenimi geliştiriciyseniz ve önceden oluşturulmuş TensorFlow Lite kitaplığı ihtiyaçlarınızı karşılamıyorsa ML Kit ile özel bir TensorFlow Lite derlemesi kullanabilirsiniz. Örneğin, özel işlemler eklemek isteyebilirsiniz.

Ön koşullar

  • Çalışan bir TensorFlow Lite derleme ortamı
  • TensorFlow Lite 1.10.1'in bir ödemesi

Git'i kullanarak doğru sürümü kontrol edebilirsiniz:

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

Tensorflow Lite kitaplığını oluşturma

  1. Standart talimatları uygulayarak Tensorflow Lite'ı (değişikliklerle) derleyin
  2. Çerçeveyi oluşturun:
tensorflow/lite/lib_package/create_ios_frameworks.sh

Oluşturulan çerçeveyi tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip adresinde bulabilirsiniz.

Yerel kapsül oluşturma

  1. Yerel kapsülünüz için dizin oluşturma
  2. Oluşturduğunuz dizinde pod lib create TensorFlowLite dosyasını çalıştırın
  3. TensorFlowLite dizininde Frameworks dizini oluşturun
  4. Yukarıda oluşturulan tensorflow_lite.framework.zip dosyasının sıkıştırmasını açın
  5. Sıkıştırılmış tensorflow_lite.framework dosyasını TensorFlowLite/Frameworks klasörüne kopyalayın
  6. Oluşturulan TensorFlowLite/TensorFlowLite.podspec dosyasını kitaplığa referans verecek şekilde değiştirin:
    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

Projenizde özel kapsüle referans verme

Özel kapsülü doğrudan uygulamanızın Podfile bölümünden referans vererek ekleyebilirsiniz:

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

Özel kapsülleri yönetmeyle ilgili diğer seçenekler için Cocoapods dokümanlarında Özel Kapsüller bölümüne bakın. Sürümün tam olarak eşleşmesi gerektiğini ve pod'u özel deponuzdan eklerken bu sürüme (ör. pod 'TensorFlowLite', "1.10.1") referans vermeniz gerektiğini unutmayın.