Si eres un desarrollador con experiencia en AA, y la biblioteca integrada de TensorFlow Lite no satisface tus necesidades, puedes usar una compilación personalizada de TensorFlow Lite con el ML Kit. Por ejemplo, es posible que desees agregar operaciones personalizadas.
Requisitos previos
- Un entorno compilación de TensorFlow Lite que sea operativo
- Confirmación de compra de la versión 1.10.1 de TensorFlow Lite
Puedes comprobar la versión correcta mediante Git:
git checkout -b work
git reset --hard tflite-v1.10.1
git cherry-pick 4dcfddc5d12018a5a0fdca652b9221ed95e9eb23
Cómo compilar la biblioteca de Tensorflow Lite
- Compila Tensorflow Lite (con tus modificaciones) mediante las instrucciones estándar
- Compila el framework:
tensorflow/lite/lib_package/create_ios_frameworks.sh
El framework generado se puede encontrar en tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip
Crea un pod local
- Crea un directorio para tu pod local.
- Ejecuta
pod lib create TensorFlowLite
en el directorio que creaste. - Crea un directorio
Frameworks
dentro del directorioTensorFlowLite
. - Descomprime el archivo
tensorflow_lite.framework.zip
generado anteriormente. - Copia el
tensorflow_lite.framework
descomprimido enTensorFlowLite/Frameworks
. - Modifica el
TensorFlowLite/TensorFlowLite.podspec
generado para hacer referencia a la 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
Haz referencia al pod personalizado en tu proyecto
Puedes incluir el pod personalizado si haces referencia a él directamente desde el elemento Podfile
de tu app:
pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'
Para conocer otras opciones de administración de pods privados, consulta Pods privados en la documentación de CocoaPods. Ten en cuenta que la versión debe coincidir con exactitud y debes hacer referencia a ella cuando incluyas el pod desde tu repositorio privado, p. ej., pod 'TensorFlowLite', "1.10.1"
.