Menggunakan build TensorFlow Lite kustom

Jika Anda adalah developer ML berpengalaman dan library TensorFlow Lite yang sudah di-build sebelumnya tidak sesuai dengan kebutuhan, Anda dapat menggunakan build TensorFlow Lite kustom dengan ML Kit. Misalnya, Anda dapat menambahkan ops kustom.

Prasyarat

  • Lingkungan build TensorFlow Lite yang aktif
  • Checkout TensorFlow Lite 1.10.1

Anda dapat memeriksa versi yang benar menggunakan Git:

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

Membangun library Tensorflow Lite

  1. Bangun Tensorflow Lite (dengan modifikasi Anda) dengan mengikuti petunjuk standar
  2. Buat framework:
tensorflow/lite/lib_package/create_ios_frameworks.sh

Framework yang dihasilkan dapat ditemukan di tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip

Membuat pod lokal

  1. Buat direktori untuk pod lokal Anda
  2. Jalankan pod lib create TensorFlowLite di direktori yang Anda buat
  3. Buat direktori Frameworks di dalam direktori TensorFlowLite
  4. Ekstrak file tensorflow_lite.framework.zip yang dihasilkan di atas
  5. Salin tensorflow_lite.framework yang telah diekstrak ke TensorFlowLite/Frameworks
  6. Ubah TensorFlowLite/TensorFlowLite.podspec yang dihasilkan untuk mereferensikan library:
    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

Mereferensikan pod kustom dalam project Anda

Anda dapat menyertakan pod kustom dengan mereferensikannya langsung dari Podfile aplikasi Anda:

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

Untuk opsi lain guna mengelola pod pribadi, lihat Pod Pribadi dalam dokumentasi CocoaPods. Perlu diperhatikan bahwa versinya harus sama persis dan Anda harus mereferensikan versi ini ketika menyertakan pod dari repositori pribadi, misalnya pod 'TensorFlowLite', "1.10.1".