Usa una compilación personalizada de TensorFlow Liteplat_ios

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 Kit de AA. Por ejemplo, es posible que desees agregar operaciones personalizadas.

Requisitos previos

  • Ambiente operativo de una compilación de TensorFlow Lite
  • Confirmación de compra de la versión 0.1.7 de TensorFlow Lite

Puedes comprobar la versión correcta mediante Git:

git checkout -b work
git reset --hard tflite-v0.1.7
git cherry-pick f1f1d5172fe5bfeaeb2cf657ffc43ba744187bee

Cómo compilar la biblioteca de Tensorflow Lite

  1. Compila Tensorflow Lite (con tus modificaciones) mediante las instrucciones estándar
  2. Compila el marco de trabajo:
tensorflow/contrib/lite/lib_package/create_ios_frameworks.sh

El marco de trabajo generado se mostrará en tensorflow/contrib/lite/gen/ios_frameworks/tensorflow_lite.framework.zip.

Cómo crear un pod local

  1. Crea un directorio para tu pod local
  2. Ejecuta pod lib create TensorFlowLite en el directorio que creaste
  3. Crea un directorio Frameworks dentro del directorio TensorFlowLite
  4. Descomprime el archivo tensorflow_lite.framework.zip generado anteriormente
  5. Copia el elemento descomprimido tensorflow_lite.framework en TensorFlowLite/Frameworks
  6. Modifica el elemento generado TensorFlowLite/TensorFlowLite.podspec 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

Cómo hacer 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 de tu repositorio privado, p. ej., pod 'TensorFlowLite', "0.1.7".

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.