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
- Standart talimatları uygulayarak Tensorflow Lite'ı (değişikliklerle) derleyin
- Ç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
- Yerel kapsülünüz için dizin oluşturma
- Oluşturduğunuz dizinde
pod lib create TensorFlowLite
dosyasını çalıştırın TensorFlowLite
dizinindeFrameworks
dizini oluşturun- Yukarıda oluşturulan
tensorflow_lite.framework.zip
dosyasının sıkıştırmasını açın - Sıkıştırılmış
tensorflow_lite.framework
dosyasınıTensorFlowLite/Frameworks
klasörüne kopyalayın - 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.