TensorFlow es una biblioteca de código abierto dirigida al aprendizaje automático a través de una serie de tareas. Ha sido desarrollado por Google para satisfacer las necesidades de sistemas capaces de construir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones, análogos al aprendizaje y razonamiento usados por los humanos. Actualmente es utilizado tanto para la investigación como para la producción de productos de Google, remplazando el rol de su predecesor de código cerrado, DistBelief. TensorFlow fue originalmente desarrollado por el equipo de Google Brain para uso interno en Google antes de ser publicado bajo la licencia de código abierto Apache 2.0 el 9 de noviembre de 2015.

DistBelief

En 2011, Google Brain construyó DistBelief como un sistema propietario de aprendizaje automático, basado en redes neuronales de aprendizaje profundo. Su uso creció rápidamente a través de diversas compañías de Alphabet tanto en investigación como en aplicaciones comerciales. Google asignó bastantes científicos a la investigación, incluyendo al reputado Jeff Dean, para simplificar y reconstruir el código base de DistBelief en una biblioteca de grado aplicación más rápida y más robusta, cuyo resultado es TensorFlow. Anteriormente, en 2009, el equipo, dirigido por Geoffrey Hinton, había implementado propagación hacia atrás generalizada y otras mejoras que permitieron generar redes neuronales con sustancialmente exactitud más alta, por ejemplo una reducción de 25% de errores en reconocimiento del habla.

Tensorflow

TensorFlow es el sistema de aprendizaje automático de segunda generación de Google Brain, liberado como software de código abierto a finales del año 2015. Mientras la implementación de referencia se ejecuta en dispositivos aislados, TensorFlow puede correr en múltiple CPUs y GPUs. Esta biblioteca también está disponible en Linux de 64 bits, macOS, y plataformas móviles que incluyen Android e iOS.

Los cómputos de TensorFlow están expresados como stateful dataflow graphs. El nombre TensorFlow deriva de las operaciones qué tales redes neuronales realizan sobre arrays multidimensionales de datos. Estos arrays multidimensionales son referidos como “tensores”. En junio de 2016, Jeff Dean de Google declaró que 1.500 repositorios en GitHub mencionaron TensorFlow, de los cuales solo 5 pertenecían a Google.

Unidad de procesamiento del tensor (TPU)

En mayo de 2016 Google anunció su unidad de procesamiento del tensor (TPU), una construcción ASIC personalizada específicamente para aprendizaje automático y adaptada para TensorFlow. El TPU es un acelerador de Inteligencia Artificial programable diseñado para proporcionar alto throughput de aritmética de precisión baja (p. ej., 8-bits), y orientado para utilizar o correr modelos más que para entrenarles. Google anunció que habían corrido TPUs dentro de sus centros de datos por más de un año, y han descubierto que estos entregan un rendimiento por vatio mejor optimizado para aprendizaje automático de un orden de magnitud.