[vc_row][/vc_row][vc_row][vc_column][vc_column_text]TensorFlow es el proyecto de código abierto más popular de Machine Learning en GitHub. Y ahora, es mucho más amigable para las aplicaciones móviles con TensorFlow Lite.
Para ser justos, los desarrolladores han podido utilizar TensorFlow en la implementación móvil e integrarla a modelos gracias a la API de TensorFlow Mobile desde la versión 1.0. Sin embargo, TensorFlow Lite está diseñado específicamente para ser liviano y rápido, perfecto para Machine Learning en dispositivos.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
TensorFlow Lite
Así como Machine Learning ha crecido en popularidad, se ha convertido más necesario el despliegue de Machine Learning en dispositivos móviles y dispositivos integrados.
TensorFlow Lite esta diseñado para ser liviano, con un pequeño tamaño binario y una inicialización rápida. También es compatible con una variedad de plataformas, incluyendo Android e iOS. Y, para mejorar la experiencia móvil, está optimizada para dispositivos móviles con tiempos de carga mejorados y aceleración de hardware.
Como TensorFlow Liste es compatible con la API de redes neuronales de Android, podrá aprovechar los nuevos dispositivos móviles con hardware personalizado para ML. Sin embargo, TensorFlow Lite recurre a la ejecución optimizada de la CPU si el hardware del acelerador no está disponible. Por lo tanto, no importa si su dispositivo móvil está específicamente habilitado para ML: sus modelos se ejecutarán independientemente.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Arquitectura
A continuación una imagen del diseño estructural de TensorFlow Lite:[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=»1820″ img_size=»full» alignment=»center»][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Esta hecho de:
- Un modelo entrenado de TensorFlow almacenado en disco
- Un programa TensorFlow Lite Converter que convierte el modelo en el archivo correcto
- Y un archivo TensorFlow Lite Model File que ha sido optimizado para máxima velocidad y mínimo tamaño
Luego, el archivo del modelo es desplegado dentro de la aplicación móvil, con:
- Java API, que actúa como un envoltorio conveniente frente al API de C++ en Android
- C++ API, que carga el archivo del modelo e llama al interprete. Esta librería esta disponible para todas las plataformas, tanto Android como iOS.
- Interpreter, que ejecuta el modelo con un conjunto de operadores. Este admite la carga selectiva del operador. Los desarrolladores pueden decidir qué operadores cargar: sin operadores es solo 70 KB y con todos ellos es 300 KB. Está es una reducción sería en el tamaño de 1.5 M requerido para TensorFlow Mobile
- Sin un dispositivo Android tiene el hardware específico agregado para ML, el intérprete puede usar la API de redes neuronales de Android. Si no, se utilizará por defecto la ejecución del CPU.
Por supuesto, los desarrolladores también pueden usar kernels personalizados gracias a la API de C++ y al intérprete.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
Soporte al Modelo
Debido a que TensorFlow ya estaba incursionando en el ámbito de ML optimizado para dispositivos móviles, ya hay una cantidad de modelos que se han entrenado y optimizado para este formato. Aquí hay algunos que ya son buenos para los desarrolladores:
- MobileNets es una familia de primeros modelos de visión por computadora para TensorFlow, diseñada para maximizar la precisión de manera efectiva y al mismo tiempo tener en cuenta los recursos restringidos para una aplicación integrada o en el dispositivo. Las MobileNets son modelos pequeños, de baja latencia y baja potencia parametrizados para cumplir con las limitaciones de recursos de una variedad de casos de uso. Se pueden construir para la clasificación, detección, integraciones y segmentación de forma similar a como se usan otros modelos populares a gran escala, como Inception.
- Smart Reply es un modelo de conversación en el dispositivo que proporciona respuestas de un toque a los mensajes entrantes de los chats. Las aplicaciones de mensajería propia y de terceros utilizan esta función de Android Wear.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
¿Por que cambiar de TensorFlow Mobile?
Machine Learning para móviles ya existe, gracias a TensorFlow Mobile, ¿Por que cambiar? Según el equipo de TensorFlow, TensorFlow Lite es la «evolución de TensorFlow Mobile» a medida que madure, se convertirá en la solución recomendada a futuro para implementar modelos en dispositivos móviles e integrados.
En este momento, TensorFlow Lite todavía está en la vista previa del desarrollador y en desarrollo activo. No está diseñado para admitir aplicaciones en producción, como TensorFlow Mobile. Pero, a medida que la comunidad crece y se desarrolla, comenzará a superar a TensorFlow Mobile.
Mientras tanto, puede ir a GitHub o a la documentación para obtener más información sobre este nuevo enfoque de Machine Learning en dispositivos móviles.
Este artículo esta basado en TensorFlow Lite makes ML even more mobile-friendly[/vc_column_text][/vc_column][/vc_row]