Herramientas de desarrollo para Android

LiteRT proporciona una serie 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 compatibilidad con el desarrollo de LiteRT en Android Studio

Herramientas para compilar con Kotlin y Java

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

Biblioteca LiteRT

Utiliza la biblioteca LiteRT 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 'com.google.ai.edge.litert:+'
}

repositories {
    ...
    google()
}

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 LiteRT

La biblioteca de compatibilidad LiteRT de Android 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, interpretar 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 de Terraform. 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.

Usa la biblioteca de compatibilidad en tu app para Android incluyendo LiteRT 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 'com.google.ai.edge.litert:litert-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 Centro de asistencia de LiteRT para Android Biblioteca.

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 LiteRT, 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 LiteRT:

  1. Haz clic con el botón derecho en el módulo en el que quieres usar el modelo LiteRT o haz clic Archivo > Nuevo > Otro > Modelo LiteRT.

  2. Selecciona la ubicación del archivo LiteRT. 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 C y C++ para LiteRT están destinadas principalmente a desarrolladores que usan el kit de desarrollo nativo (NDK) de Android para compilar sus apps. Hay dos maneras de usar LiteRT a través de C++ si compilas tu app con el NDK:

API de LiteRT C

El uso de esta API es el enfoque recomendado para los desarrolladores que usan el NDK. Descarga las AAR de LiteRT 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 LiteRT C en la API de Cloud.

API de LiteRT C++

Si quieres usar LiteRT 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.