Herramientas de desarrollo para Android

TensorFlow Lite proporciona una variedad de herramientas para integrar modelos en Android de Google Chat. En esta página, se describen las herramientas de desarrollo para usar en la compilación de apps con Kotlin, Java y C++, y también la compatibilidad con el desarrollo de TensorFlow Lite en Android Studio

Herramientas para compilar con Kotlin y Java

En las siguientes secciones, se describen las herramientas de desarrollo para TensorFlow Lite que usan los lenguajes Kotlin y Java.

Biblioteca de TensorFlow Lite

Usa la biblioteca de TensorFlow Lite en tu app para Android agregando las AAR alojadas en MavenCentral a tu proyecto de desarrollo.

Puedes especificarlo en tus dependencias de build.gradle de la siguiente manera:

dependencies {
    implementation 'org.tensorflow:tensorflow-lite:+'
}

Si usas instantáneas nocturnas, asegúrate de agregar la instantánea de Sonatype. repositorio a tu proyecto.

Este AAR incluye objetos binarios para todas las instancias de Android ABI. Puedes reducir el tamaño el objeto binario de tu aplicación incluyendo únicamente las ABI que debes admitir.

A menos que te orientes a hardware específico, debes omitir x86, x86_64, y arm32 en la mayoría de los casos. Puedes configurar esto con el siguiente comando configuración. Específicamente, solo incluye armeabi-v7a y arm64-v8a, y debería abarcar la mayoría de los dispositivos Android modernos.

android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a'
        }
    }
}

Para obtener más información sobre abiFilters, consulta Android ABI en el NDK de Android en la documentación de Google Cloud.

Biblioteca de compatibilidad de TensorFlow Lite

La biblioteca de compatibilidad de Android de TensorFlow Lite facilita la integración de modelos en tu aplicación. Proporciona APIs de alto nivel que ayudan a transformar entradas sin procesar los datos en la forma requerida por el modelo y, luego, interpretan los resultados del modelo, lo que reduce la cantidad de código estándar requerido.

Admite formatos de datos comunes para entradas y salidas, como imágenes y para los diferentes tipos de arrays. También proporciona unidades de procesamiento previo y posterior que realizan tareas como con el cambio de tamaño y el recorte de imágenes.

Usar la biblioteca de compatibilidad en tu app para Android incluyendo TensorFlow Lite Las AAR de la biblioteca de compatibilidad se alojan en MavenCentral.

Puedes especificarlo en tus dependencias de build.gradle de la siguiente manera:

dependencies {
    implementation 'org.tensorflow:tensorflow-lite-support:+'
}

Si usas instantáneas nocturnas, asegúrate de agregar la instantánea de Sonatype. repositorio a tu proyecto.

Para obtener instrucciones sobre cómo comenzar, consulta el sitio de asistencia de TensorFlow Lite en Android Biblioteca.

Versiones mínimas del SDK de Android para bibliotecas

Biblioteca minSdkVersion Requisitos del dispositivo
tensorflow-lite 21 -
tensorflow-lite-gpu 21 GLES 3.1 u OpenCL (generalmente, solo disponible a partir del nivel de API 21)
tensorflow-lite-support 21 -
tensorflow-lite-metadata 21 -

Uso de Android Studio

Además de las bibliotecas de desarrollo descritas anteriormente, Android Studio también es compatible con la integración de modelos de TensorFlow Lite, como se describe a continuación.

Vinculación de modelos de AA de Android Studio

La función de vinculación de modelos de AA de Android Studio 4.1 y versiones posteriores te permite importar archivos de modelo .tflite a tu app para Android existente y generar de interfaz de usuario para facilitar la integración de tu código en un modelo.

Sigue estos pasos para importar un modelo de TensorFlow Lite (TFLite):

  1. Haz clic con el botón derecho en el módulo en el que quieres usar el modelo de TFLite o en Archivo > Nuevo > Otro > Modelo de TensorFlow Lite.

  2. Selecciona la ubicación de tu archivo de TensorFlow Lite. Ten en cuenta que las herramientas configura la dependencia del módulo con la vinculación del modelo de AA y Agrega todas las dependencias necesarias al archivo build.gradle de tu módulo de Android.

  3. Haz clic en Finish para comenzar el proceso de importación. Cuando finaliza la importación, La herramienta muestra una pantalla en la que se describe el modelo, incluida su entrada y salida tensores.

  4. Para comenzar a usar el modelo, selecciona Kotlin o Java, copia y pega el código en la sección Sample Code.

Para volver a la pantalla de información del modelo, haz doble clic en el botón Modelo Lite en el directorio ml de Android Studio. Para obtener más información con la función de vinculación de módulos de Android Studio, consulta la documentación de Android Studio lanzamiento notas. Para obtener una descripción general del uso de la vinculación de modelos en Android Studio, consulta el ejemplo de código. instrucciones.

Herramientas para compilar con C y C++

Las bibliotecas de C y C++ para TensorFlow Lite están destinadas principalmente a desarrolladores que usan el kit de desarrollo nativo (NDK) de Android para compilar sus apps. Existen dos maneras de usar TFLite a través de C++ si compilas tu app con el NDK:

API de TFLite C

El uso de esta API es el enfoque recomendado para los desarrolladores que usan el NDK. Descarga las AAR de TensorFlow Lite alojadas en MavenCentral cámbiale el nombre a tensorflow-lite-*.zip y descomprímelo. Debes incluir las cuatro archivos de encabezado en headers/tensorflow/lite/ y headers/tensorflow/lite/c/ carpetas y la biblioteca dinámica libtensorflowlite_jni.so correspondiente en el jni/ en tu proyecto del NDK.

El archivo de encabezado c_api.h contiene documentación básica sobre el uso de TFLite C en la API de Cloud.

API de TFLite C++

Si quieres usar TFLite a través de la API de C++, puedes compilar la versión compartida de C++ bibliotecas:

armeabi-v7a de 32 bits:

bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so

arm64-v8a de 64 bits:

bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so

Actualmente, no hay una forma directa de extraer todos los archivos de encabezado necesarios. por lo que debes incluir todos los archivos de encabezado en tensorflow/lite/ de TensorFlow en un repositorio de confianza. Además, necesitarás archivos de encabezados de FlatBuffers y Abseil.