Deep Learning con Python: Introducción a TensorFlow (Parte I)Enrique Blanco 9 mayo, 2018 En este artículo vamos a realizar una breve introducción al framework TensorFlow, librería sobre la que ya hicimos mención en anteriores posts relacionados con técnicas de Aprendizaje Reforzado (RL). En el artículo Deep Learning vs Atari: entrena tu IA para dominar videojuegos clásicos (Parte I), podéis encontrar más detalles sobre las posibles aplicaciones de esta librería en proyectos de Deep Learning. Existen múltiples librerías de código abierto enfocadas a su uso para Deep Learning en lenguaje Python. Las más importantes son: TensorFlow, Theano, Keras, Caffe, Lasagne, DSSTNE, PrettyTensor, Torch, mxnet, DL4J, y Microsoft Cognitive Toolkit. Entre las más extendidas se encuentra TensorFlow, la que nos ocupa en este artículo, que soporta Python y C++, además de Java y Go entre otros. Además permite distribuir los cálculos en CPU, GPU de forma simultánea y escalado horizontal. Figura 1: logo de TensorFlow. Fuente. Para poder seguir satisfactoriamente este artículo y los que están por venir, necesitaréis un nivel básico de programación en Python. Os recomendamos encarecidamente leer la serie de artículos Python para todos: Introducción: Machine Learning con Python para todos los públicos. Python para todos (1): Instalación del entorno Anaconda. Python para todos (2): ¿Qué son los Jupiter Notebook?. Creamos nuestro primer notebook y practicamos algunos comandos fáciles. Python para todos (3): ¿Qué son las librerías?. Preparamos el entorno. Python para todos (4): Empezamosel experimento propiamente. Carga de datos, análisis exploratorio(dimensiones del dataset, estadísticas, visualización etc) Python para todos (5) Final: Creación de los modelos y estimación de su precisión donde podréis refrescar o aprender los conceptos y las técnicas necesarias para abordar un proyecto de Machine Learning con Python. Si queremos hacer uso de TensorFlow, es necesario tener el entorno correctamente configurado con todos los complementos y librerías necesarias. En este post quedan indicados todos los pasos requeridos para dejar listo un entorno que te permita realizar proyectos de Deep Learning con TensorFlow. Comenzaremos explorando los fundamentos que sustentan esta librería. El primer paso que daremos es habituarnos a la sintaxis básica de TensorFlow. Para ello, incluiremos algunos Jupyter Notebooks con la intención de describir al máximo el uso de las bases de este framework. Aquí tenemos el primer ejemplo. Ahora que ya sabemos definir constantes, tensores y ejecutar sesiones, daremos el siguiente paso al manejo y generación de grafos en TensorFlow. En TensorFlow, los grafos se definen como el conjunto de nodos conectados entre sí a través de aristas o arcos, que representan relaciones entre elementos de un conjunto. Cada uno de esos nodos se identifica como una operación con un tipo posible de entrada y que puede generar un determinado resultado. Generalmente, en TensorFlow, primero se define un grafo y posteriormente se ejecuta. A continuación, mostraremos unos ejemplos sencillos en Python y se analizará cómo hace uso TensorFlow de un grafo. Empezaremos creando un grafo con dos nodos constantes que llegan a un tercer nodo, que a su vez hará la suma de esos dos valores y devolverá el resultado de la misma. En TensorFlow podemos encontrarnos con dos tipos de tensores en un grafo: variables y placeholders, por lo que ahora toca definir y familiarizarnos con estos objetos. Podremos almacenar en forma de variable los valores de los pesos y los biases a lo largo de toda la sesión. Durante el proceso de optimización, TensorFlow hará un tuning de los parámetros del modelo. Las variables siempre deben ser inicializadas en nuestro código. Los placeholders se definen originalmente como elementos vacíos, de los que iremos haciendo uso durante el entrenamiento del modelo. Al crear estos objetos se debe definir su dimensión y el data type que van a soportar. Hemos aprendido a manejar todos los elementos o piezas que nos permitirán trabajar con TensorFlow como sesiones, grafos, variables y placeholders. Con estos recursos seremos capaces de construir nuestras primeras neuronas, que sentarán las bases para crear las primeras redes neuronales, a las que podremos incorporar algoritmos de regresión, clasificación o aprendizaje reforzado. En los siguientes posts avanzaremos en esa dirección. Como ya se indicó anteriormente, para hacer funcionar los modelos, primero construiremos el grafo, después iniciaremos la sesión y finalmente alimentaremos la arquitectura creada con datos de entrada correctamente procesados. Deep Learning con Python: Introducción a TensorFlow (Parte I)Deep Learning con Python: Introducción a TensorFlow (Parte II)Deep Learning con Python: Introducción a TensorFlow (Parte III) El foro con las últimas innovaciones tecnológicas y mucho deporteEl Machine Learning y sus paradojas: ¿Me acabará sustituyendo una máquina?
Telefónica Tech Lo que necesita la Inteligencia Artificial para generar confianza (podcast) El el episodio 10 de nuestro podcast Latencia Cero, “ConfIA en la IA”, tuvimos la oportunidad de contar con la participación de Lucía Ortiz de Zárate, investigadora en Ética...
Nacho Palou 5G: cuatro casos de uso reales y prácticos El último informe “La Sociedad Digital en España 2022” [1] de Fundación Telefónica confirma la consolidación de los procesos de digitalización en la sociedad española. En este sentido, cabe...
Nacho Palou Cursos gratuitos online para aprender IoT (Internet de las Cosas) en 2023 Internet de las Cosas (IoT) es una de las tecnologías digitales de nueva generación con un impacto significativo en múltiples sectores, desde la industria a la agricultura, pasando por...
Fran Ramírez Mujeres que cambiaron las Matemáticas Por Fran Ramírez y Fran Fenoll Aprovechando que en marzo también se celebra el día Internacional de las Matemáticas, hemos querido rendir con esta recopilación un pequeño homenaje a mujeres que...
Nacho Palou #MujeresHacker de Telefónica Tech: Jess Woods, experta en Cloud Con motivo del Día de la Mujer, iniciamos una serie de entrevistas protagonizadas por #MujeresHacker de Telefónica Tech. Mujeres que, con su trabajo y esfuerzo, nos convierten en una...
Sergio Piorno Güemes Un nuevo paradigma financiero: la tokenización de activos En los últimos años se ha acelerado la digitalización del ecosistema financiero gracias a la adopción generalizada de internet y su consecuente desarrollo. Esto, junto con el auge de los dispositivos móviles,...