¿Cuál es la diferencia entre TensorFlow y TensorFlow lite?

TensorFlow Lite es un peso ligero y el siguiente paso de TensorFlow Mobile. Puede hacer casi todas las cosas que hace en el dispositivo móvil TensorFlow, pero mucho más rápido.

Tensorflow Lite está enfocado en desarrolladores de dispositivos móviles e integrados, para que puedan crear aplicaciones de siguiente nivel en sistemas como Android, iOS, Raspberry PI, etc. Permite inferencia de aprendizaje automático en el dispositivo con baja latencia y un tamaño binario pequeño. TensorFlow Lite también admite la aceleración de hardware utilizando las API de red neuronal de Android.

TensorFlow Lite admite un conjunto de operadores principales, tanto cuantizados como flotantes, que se han ajustado para plataformas móviles. Incorporan activaciones y sesgos pre-fusionados para mejorar aún más el rendimiento y la precisión cuantificada. Además, TensorFlow Lite también admite el uso de operaciones personalizadas en modelos.

TensorFlow Lite define un nuevo formato de archivo modelo, basado en FlatBuffers. FlatBuffers es una biblioteca de serialización multiplataforma eficiente y de código abierto. Es similar a los buffers de protocolo, pero la diferencia principal es que FlatBuffers no necesita un paso de análisis / desempaquetado para una representación secundaria antes de que pueda acceder a los datos, a menudo junto con la asignación de memoria por objeto. Además, la huella de código de FlatBuffers es un orden de magnitud menor que las memorias intermedias de protocolo.

TensorFlow Lite tiene un nuevo intérprete optimizado para dispositivos móviles, que tiene los objetivos clave de mantener las aplicaciones ágiles y rápidas. El intérprete utiliza un orden de gráficos estáticos y un asignador de memoria personalizado (menos dinámico) para garantizar una carga mínima, inicialización y latencia de ejecución.

TensorFlow Lite proporciona una interfaz para aprovechar la aceleración de hardware, si está disponible en el dispositivo. Lo hace a través de la biblioteca Android Neural Networks, lanzada como parte de Android O-MR1.

TensorFlow se puede usar tanto para la capacitación en red como para la inferencia, mientras que TensorFlow Lite está específicamente diseñado para inferencia en dispositivos con computación limitada (teléfonos, tabletas y otros dispositivos integrados).