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):
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.
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.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.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.