Machine learning con TensorFlow y Keras en Python


Hoy vamos a introducirnos en el mundo del Machine Learning de la mano de TensorFlow y Keras, dos librerías Open Source que nos permiten adentrarnos en el Deep Learning de forma sencilla.

Como sabemos, los sistemas de aprendizaje están de moda. Aunque existe «mucho humo» alrededor, lo cierto es que hay más que motivos para su auge e interés.

Los sistemas aprendizaje tienen un campo de aplicación enorme que abarca desde análisis matemático, realización de predicciones, Business Intelligence, sistemas de visión, vehículos autónomos, robótica, e incluso aplicaciones médicas.

Hasta hace pocos años los sistemas de aprendizaje eran complejos, lentos, y requerían bastante programación hasta para una red neural simple.

Anuncio:

Pero, progresivamente y movidos por el auge del IA y el Big Data, han aparecido librerías como TensorFlow o Keras que hacen el proceso más sencillo y mejoran la rapidez de los sistemas.

Actualmente, cualquiera puede ejecutar y practicar con sistemas de aprendizaje en un ordenador convencional, e incluso en un mini ordenador como Raspberry Pi.

Así que vamos a dedicar esta entrada a presentar estas dos herramientas de Machine Learning que usaremos en el futuro en los tutoriales del blog.

¿Qué es TensorFlow?

De entre las muchas bibliotecas disponibles la reina indiscutible es TensorFlow, que se ha impuesto como la librería más popular en Deep Learning. Acutalmente, sería dificil imaginar abordar un proyecto de aprendizaje sin ella.

TensorFlow es una biblioteca desarrollada por Google Brain para sus aplicaciones de aprendizaje automático y las redes neuronales profundas, liberado como software de código abierto en 9 de noviembre del 2015.

TensorFlow es una librería de computación matemática, que ejecuta de forma rápida y eficiente gráficos de flujo. Un gráfico de flujo está formado por operaciones matemáticas representadas sobre nudos, y cuya entrada y salida es un vector multidimensional (o tensor) de datos.

Precisamente el nombre de la librería viene de la unión de «tensor» y «flujo»

Tenéis mucha más información y tutoriales en su página https://www.tensorflow.org y el código está disponible en https://github.com/tensorflow/tensorflow.

¿Qué es Keras?

Por su parte, Keras es una biblioteca de redes neuronales escrita en de Python. Ha sido desarrollada principalmente por François Chollet, un ingeniero de Google, y liberada cómo código abierto.

Keras es una abstracción, un API High-level, para la creación de modelos de aprendizaje. Aporta una sintaxis homogénea y un interface sencillo, modular y ampliable para la creación de redes neurales.

Las redes neurales son un tipo particular de gráfico de flujo de datos. Por tanto, TensorFlow y Keras combinan perfectamente haciendo un tamdem que auna potencia, sencillez de uso, y rapidez de ejecución. Keras también puede ejecutarse en combinación con otros framework «de base», como Microsoft Cognitive Toolkit o Theano.

La página web del proyecto Keras es https://keras.io/, y el código fuente está disponible en https://github.com/keras-team/keras/.

Instalación de TensorFlow y Keras

Instalar TensorFlow y Keras es muy sencillo, únicamente tenemos que tener instalado previamente Python en nuestro ordenador.

Para instalar TensorFlow, desde un terminal, ejecutamos el siguiente comando,

O si queremos TensorFlow con soporte para GPU el siguiente comando,

Para instalar Keras simplemente usamos el comando,

En el momento de escribir esta entrada la última versión de Python soportada es la 3.6

Bibliotecas adicionales

Otras bibliotecas adicionales que usaremos frecuentemente en nuestros proyectos de sistemas de aprendizaje son

  • pathlib: Gestionar rutas de ficheros
  • numpy: Biblioteca matemática.
  • scypi: Biblioteca matemática.
  • pandas: Análisis de datos y estadística
  • matplotlib: Creación de gráficas
  • seaborn: Graficas estadísticas

Podemos instalarlas, respectivamente, haciendo

Hola mundo en TensorFlow

Para comprobar que todo funciona correctamente vamos a hacer una sencilla aplicación con TensorFlow. Creamos un fichero de Python (por ejemplo, TF_HelloWork.py) y copiamos el siguiente contenido.

Al ejecutarlo, si todo ha salido bien, veremos la siguiente salida.

Hasta aquí esta presentación de TensorFlow y Keras, dos bibliotecas que nos permiten desarrollar proyectos de Machine Learning de forma sencilla.

En el futuro veremos más tutoriales de estas dos herramientas, como regresión, clasificación, predicción y visión por computador. ¡Hasta pronto!

Anuncio:

Previous Cómo gestionar procesos en Raspberry Pi
Next Introducción a la teoría de controladores en Arduino
1000
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
newest oldest
Alberto

Desgraciadamente instalar tensorflow con soporte para GPU no es tan sencillo. Si tienes una GPU nVIDIA primero deberás instalar el CUDA toolkit 9, que es el entorno de desarrollo para aplicaciones aceleradas por hardware. A continuación hay que instalar nVIDIA cuDNN, una librería dedicada a la optimización de rutinas con redes neuronales. Una vez hecho esto ya se puede ejecutar «pip install tensorflow_gpu». Si todo ha salido bien al ejecutar el código de «hola mundo» se nos mostrará un mensaje donde se resumen algunas de las caracteristicas de nuestra GPU, como nombre, memoria libre El soporte para GPUs AMD todavía… Read more »