Si es un desarrollador de aprendizaje automático con experiencia y la biblioteca TensorFlow Lite prediseñada no satisface sus necesidades, puede usar una compilación personalizada de TensorFlow Lite con el kit de aprendizaje automático. Por ejemplo, es posible que desees agregar operaciones personalizadas.
Requisitos previos
- Un entorno de construcción de TensorFlow Lite que funcione
- Una revisión de TensorFlow Lite 1.10.1
Puedes consultar la versión correcta usando Git:
git checkout -b work
git reset --hard tflite-v1.10.1
git cherry-pick 4dcfddc5d12018a5a0fdca652b9221ed95e9eb23
Construyendo la biblioteca Tensorflow Lite
- Construya Tensorflow Lite (con sus modificaciones) siguiendo las instrucciones estándar
- Construya el marco:
tensorflow/lite/lib_package/create_ios_frameworks.sh
El marco generado se puede encontrar en tensorflow/lite/gen/ios_frameworks/tensorflow_lite.framework.zip
Creando un pod local
- Crea un directorio para tu pod local
- Ejecute
pod lib create TensorFlowLite
en el directorio que creó - Cree un directorio
Frameworks
dentro del directorioTensorFlowLite
- Descomprima el archivo
tensorflow_lite.framework.zip
generado arriba - Copie el
tensorflow_lite.framework
descomprimido enTensorFlowLite/Frameworks
- Modifique 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
Hacer referencia al pod personalizado en su proyecto
Puedes incluir el pod personalizado haciendo referencia a él directamente desde Podfile
de tu aplicación:
pod 'Firebase/MLModelInterpreter'
pod 'TensorFlowLite', :path => 'path/to/your/TensorflowLite'
Para conocer otras opciones para administrar pods privados, consulte Pods privados en la documentación de Cocoapods. Tenga en cuenta que la versión debe coincidir exactamente y debe hacer referencia a esta versión al incluir el pod de su repositorio privado, por ejemplo pod 'TensorFlowLite', "1.10.1"
.