El furor que despierta el machine learning ha colocado a TensorFlow, el software de código abierto de Google para proyectos de aprendizaje automático, en la cresta de la ola, especialmente cuando se combina con el lenguaje de programación Python. El último informe The State of the Octoverse de GitHub subraya que TensorFlow ha sido uno de los proyectos que más movimiento ha registrado en la plataforma de coding durante 2019. 9.900 usuarios contribuyeron a su crecimiento planteando preguntas e incidencias; y, hasta la fecha, se han abierto 46.000 repositorios que utilizan TensorFlow, como los de las librerías NumPy o PyTest.
TensorFlow es una plataforma de código abierto para computación numérica basada en grafos. Cuenta con el sello de Google y permite desarrollar, con relativa facilidad, aplicaciones de machine learning que nos ofrecerán predicciones, clasificaciones o recomendaciones basadas en el análisis de un conjunto de datos. A medida que el sistema recoge más y más información, aprende de manera automática y la fiabilidad de sus resultados aumenta. TensorFlow puede correr en una o en múltiples CPU y GPU, así como en dispositivos móviles.
TensorFlow tiene múltiples usos. Uno de los más destacados es el desarrollo de redes neuronales artificiales empleadas en:
Combinar TensorFlow y Python es una de las fórmulas más eficaces y sencillas para el desarrollo de aplicaciones de machine learning. ¿Por qué?
Python será uno de los lenguajes de programación más usados en el año 2020. Ocupa el segundo lugar entre los más populares en la última Developer Survey de Stack Overflow y el tercero en el índice TIOBE. Usar Python en el ámbito del machine learning ofrece grandes ventajas porque:
Por su parte, de TensorFlow cabe destacar:
A la hora de desarrollar proyectos de machine learning con TensorFlow en Python, es necesario familiarizarse con algunos conceptos clave como:
De forma sucinta, podríamos decir que con TensorFlow se persigue desarrollar un modelo de machine learning que, con un data set de entrada y entrenamiento de por medio, sea capaz de establecer generalizaciones. Antes de agregar el conjunto de datos, es preciso preprocesarlos para que el sistema pueda sacarles partido. Después, para el entrenamiento, habrá que prever un número de épocas suficiente, para que el modelo aprenda; pero no excesivo, ya que esto podría viciar los resultados.
En los proyectos de machine learning con TensorFlow en Python es posible recurrir a librerías adicionales que harán más sencilla la tarea de programación. Nos referimos a, por ejemplo, NumPy y SciPy para funciones matemáticas; Pandas y Seaborn, para la explotación estadística y la visualización de datos; o Matplotlib para la generación de gráficos.