Özel bir TensorFlow Lite derlemesi kullanma

Deneyimli bir makine öğrenimi geliştiricisiyseniz 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 ödeme işlemi

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

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'ı (yaptığınız değişikliklerle birlikte) oluşturun.
  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 pod oluşturma

  1. Yerel pod'unuz için bir dizin oluşturun
  2. Oluşturduğunuz dizinde pod lib create TensorFlowLite komutunu çalıştırın.
  3. TensorFlowLite dizininin içinde 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ılmamış tensorflow_lite.framework dosyasını TensorFlowLite/Frameworks konumuna kopyalayın.
  6. Kitaplığa referans vermek için oluşturulan TensorFlowLite/TensorFlowLite.podspec öğesini 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 pod'a referans verme

Özel pod'u, uygulamanızdan doğrudan referans vererek ekleyebilirsiniz Podfile:

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

Özel pod'ları yönetmeyle ilgili diğer seçenekler için Cocoapods dokümanlarındaki Private Pods (Özel Pod'lar) başlıklı makaleyi inceleyin. Sürümün tam olarak eşleşmesi gerektiğini ve özel deponuzdan pod eklerken bu sürümü referans almanız gerektiğini unutmayın. Örneğin: pod 'TensorFlowLite', "1.10.1".