LiteRT te permite ejecutar modelos de aprendizaje automático (AA) de TensorFlow en tu Apps para Android. El sistema LiteRT brinda precompilación y se puede personalizar entornos de ejecución para ejecutar modelos en Android de manera rápida y eficiente, incluidas opciones de aceleración de hardware.
Modelos de aprendizaje automático
LiteRT usa modelos de TensorFlow que se convierten en modelos en un formato de modelo de aprendizaje automático portátil y eficiente. Puedes usar modelos de AA con LiteRT en Android o crea tus propios modelos de TensorFlow y y convertirlos al formato LiteRT.
En esta página, se analiza el uso de modelos de aprendizaje automático ya compilados y no que abarca la creación, el entrenamiento, las pruebas o la conversión de modelos. Obtén más información sobre seleccionar, modificar, crear y convertir modelos de aprendizaje automático para LiteRT en la página Modelos.
Ejecuta modelos en Android
Un modelo LiteRT que se ejecuta dentro de una app para Android toma datos y procesos con los datos y genera una predicción basada en la lógica del modelo. Un modelo de TensorFlow El modelo Lite requiere un entorno de ejecución especial para ejecutarse. Los datos que se pasan al modelo deben estar en un formato de datos específico, denominado tensor. Cuando un modelo procesa datos, conocidos como ejecutar una inferencia, genera resultados de predicción como nuevos tensores y los pasa a la app para Android para que realice acciones, como mostrar el resultado a un usuario o ejecutar lógica empresarial adicional
Figura 1: Flujo de ejecución funcional para modelos LiteRT en Android de Google Chat.
En el nivel del diseño funcional, tu app para Android necesita los siguientes elementos para Para ejecutar un modelo LiteRT, haz lo siguiente:
- Entorno de ejecución de LiteRT para ejecutar el modelo
- Controlador de entrada del modelo para transformar datos en tensores
- Controlador de salida del modelo para recibir tensores de resultados de salida y, luego, interpretarlos como resultados de la predicción
En las siguientes secciones, se describe cómo se usan las bibliotecas y herramientas LiteRT proporcionan estos elementos funcionales.
Cómo compilar apps con LiteRT
En esta sección, se describe la ruta recomendada y más común para implementar LiteRT en tu app para Android. Debes prestar más atención a las entorno de ejecución y bibliotecas de desarrollo. Si Si desarrollaste un modelo personalizado, revisa la documentación de Desarrollo avanzado rutas de acceso.
Opciones del entorno de ejecución
Existen varias formas de habilitar un entorno de ejecución para ejecutar modelos en tu app para Android. Estas son las opciones preferidas:
- LiteRT en el entorno de ejecución de los Servicios de Google Play entorno (recomendado)
- Entorno de ejecución de LiteRT independiente
En general, debes usar el entorno de ejecución que proporciona Google Play servicios porque es más eficiente en términos de espacio que el entorno estándar, ya que se carga de manera dinámica y mantiene el tamaño de tu app más pequeño. Los Servicios de Google Play también usa automáticamente la versión más reciente y estable de LiteRT del entorno de ejecución, lo que te brinda funciones adicionales y un mejor rendimiento con el tiempo. Si Cuando ofreces tu app en dispositivos que no incluyen Servicios de Google Play o tu entorno de ejecución de AA, deberías usar el entorno de ejecución estándar LiteRT. Esta opción empaqueta código adicional en tu aplicación de AA, lo que te permite tener más control sobre el entorno de ejecución de AA de tu app en el el costo de aumentar el tamaño de descarga de tu app.
Puedes acceder a estos entornos de ejecución en tu app para Android si agregas TensorFlow. Bibliotecas de desarrollo Lite para el entorno de desarrollo de tu app. Información sobre cómo usar los entornos de ejecución estándar en tu app, consulta el siguiente sección.
Bibliotecas
Puedes acceder a la API de Intérprete a través de Google Play Google Cloud. Puedes usar la Core de LiteRT y bibliotecas support en tu app para Android. Para detalles de programación sobre el uso de las bibliotecas LiteRT y el entorno de ejecución consulta Herramientas de desarrollo para Android.
Cómo obtener modelos
Ejecutar un modelo en una app para Android requiere un modelo en formato LiteRT. Tú puedes usar modelos precompilados o crear uno con TensorFlow y convertirlo al modelo Lite de un conjunto de datos tengan un formato común. Para más información sobre la obtención de modelos para tu app de Android, consulta la Página Modelos de LiteRT.
Cómo controlar datos de entrada
Todos los datos que se pasen al modelo de AA deben ser un tensor con datos específicos llamada a menudo la forma del tensor. Para procesar datos con un modelo, el código de tu app debe transformar los datos de su formato nativo, como imágenes, texto o datos de audio, en un tensor con la forma requerida para tu modelo.
Ejecuta las inferencias
El procesamiento de datos con un modelo para generar un resultado de predicción se conoce como ejecutar una inferencia. La ejecución de una inferencia en una app para Android requiere El entorno de ejecución de LiteRT, un modelo y una entrada con datos en la nube.
La velocidad a la que un modelo puede generar una inferencia en un dispositivo en particular depende del tamaño de los datos procesados, la complejidad del modelo recursos de procesamiento disponibles, como la memoria y la CPU, o procesadores especializados llamados aceleradores. Los modelos de aprendizaje automático pueden ejecutarse más rápido en estos procesadores especializados, como unidades de procesamiento gráfico (GPU) y tensores, de procesamiento de datos (TPU) con controladores de hardware LiteRT llamados delegados. Para obtener más información sobre delegados y aceleración de hardware de procesamiento de modelos, consulta el artículo Aceleración de hardware descripción general.
Controla los resultados de salida
Los modelos generan resultados de predicción como tensores, que debe controlar tu app para Android realizando una acción o mostrando un resultado al usuario. Salida del modelo resultados pueden ser tan simples como un número que corresponda a un único resultado (0 = perro, 1 = cat, 2 = bird) para una clasificación de imágenes, a resultados mucho más complejos, como varios cuadros delimitadores para varios objetos clasificados en una imagen, con con calificaciones de confianza de entre 0 y 1.
Rutas de desarrollo avanzadas
Si usas modelos LiteRT más sofisticados y personalizados, puedes necesitan usar enfoques de desarrollo más avanzados que los descritos anteriormente. En las siguientes secciones, se describen técnicas avanzadas para ejecutar modelos y para LiteRT en apps de Android.
Entornos de ejecución avanzados
Además del entorno de ejecución estándar y el de Servicios de Google Play para LiteRT, existen otros entornos de ejecución que puedes usar con tu app de Android. El uso más probable de estos entornos Tienes un modelo de aprendizaje automático que usa operaciones de AA que no se admiten el entorno de ejecución estándar para LiteRT.
- Entorno de ejecución flexible para LiteRT
- Entorno de ejecución LiteRT personalizado
El entorno de ejecución de Flex de LiteRT te permite incluir los operadores específicos necesarios para tu modelo. Como opción avanzada para ejecutar tu modelo, puedes compilar LiteRT para Android para incluir operadores y otra funcionalidad necesaria para ejecutar tu modelo de aprendizaje automático de TensorFlow. Para obtener más información, consulta Cómo compilar LiteRT para Android.
API de C y C++
LiteRT también proporciona una API para ejecutar modelos con C y C++. Si el usa el NDK de Android, deberías considera usar esta API. También te recomendamos usar esta API si y quieren compartir códigos entre varias plataformas. Más información acerca de esta opción de desarrollo, consulta el vínculo Desarrollo de Google Cloud.
Ejecución de modelos basados en servidores
En general, debes ejecutar modelos en tu app en un dispositivo Android para una latencia más baja y una privacidad de datos mejorada para tus usuarios. Sin embargo, hay casos en los que ejecutar un modelo en un servidor en la nube, fuera del dispositivo, es una mejor de Google Cloud. Por ejemplo, si tienes un modelo grande que no comprime con facilidad a un tamaño que se adapte a las necesidades de Android o se puede ejecutar con un rendimiento razonable en esos dispositivos. Este enfoque también puede ser o recomendada si el rendimiento del modelo es coherente en una amplia gama de es la prioridad principal.
Google Cloud ofrece un kit completo de servicios para ejecutar operaciones de modelos de aprendizaje automático. Para obtener más información, consulta el curso IA y procesos de Google Ads.
Desarrollo y optimización de modelos personalizados
Las rutas de desarrollo más avanzadas suelen incluir el desarrollo de aprendizaje automático y cómo optimizarlos para usarlos en dispositivos Android. Si para crear modelos personalizados, asegúrate de aplicar la cuantización técnicas a los modelos para reducir la memoria y los costos de procesamiento. Para obtener más información sobre cómo crear modelos de alto rendimiento para usar con LiteRT, consulta Rendimiento óptimo prácticas en la sección Modelos.