Se você é um desenvolvedor de ML experiente e a biblioteca pré-criada do TensorFlow Lite não atende às suas necessidades, use o build personalizado do TensorFlow Lite com o kit de ML. Por exemplo, com ela você pode adicionar operações personalizadas.
Pré-requisitos
- um ambiente de criação do TensorFlow Lite ativo
- uma verificação da versão 1.10.1 do TensorFlow Lite
Você pode fazer a verificação da versão correta usando o Git:
git checkout -b work
git reset --hard tflite-v1.10.1
git cherry-pick 4dcfddc5d12018a5a0fdca652b9221ed95e9eb23
Como criar a biblioteca do Tensorflow Lite
- Crie o Tensorflow Lite (com suas modificações) seguindo as instruções padrão.
- Crie a biblioteca:
tensorflow/lite/lib_package/create_ios_frameworks.sh
O framework gerado pode ser encontrado em tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip
Como criar um pod local
- Crie um diretório para seu pod local.
- Execute
pod lib create TensorFlowLite
no diretório que você criou - Crie um diretório
Frameworks
dentro do diretórioTensorFlowLite
- Descompacte o arquivo
tensorflow_lite.framework.zip
gerado acima - Copie o
tensorflow_lite.framework
descompactado paraTensorFlowLite/Frameworks
- Modifique o
TensorFlowLite/TensorFlowLite.podspec
gerado para fazer referência à biblioteca:
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
Como referenciar o pod personalizado no seu projeto
É possível incluir o pod personalizado fazendo referência a ele diretamente do Podfile
do
app:
pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'
Para outras opções de gerenciamento de pods particulares, consulte
Pods particulares na
documentação do Cocoapods. Observe que a versão precisa corresponder exatamente e você precisa fazer referência a essa versão ao incluir o pod do seu repositório particular, por exemplo, pod 'TensorFlowLite', "1.10.1"
.