{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial tensorflow y sus amigos\n", "# [Lo esencial en ~20 min]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "El objetivo del presente tutorial es ilustrar los conceptos básicos de la librería tensorflow y otras librerías que \n", "éste utiliza.\n", "\n", "Comenzaremos con Numpy, librería para realizar computación científica en python." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Construyendo con listas\n", "[1 2 3]\n", "Usando arange\n", "[1 2 3 4 5 6 7 8 9]\n", "Usando zeros\n", "[[ 0. 0. 0. 0.]\n", " [ 0. 0. 0. 0.]]\n" ] } ], "source": [ "import numpy as np\n", "\n", "a = np.array([1, 2, 3])\n", "print 'Construyendo con listas\\n', a\n", "\n", "b = np.arange(1, 10)\n", "print 'Usando arange\\n', b\n", "\n", "c = np.zeros([2,4])\n", "print 'Usando zeros\\n', c" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Algunas funciones típicas de Numpy:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]\n", "[[ 1 2 3 4 5 6 7 8]\n", " [ 9 10 11 12 13 14 15 16]]\n", "[[ 1 2 3 4]\n", " [ 5 6 7 8]\n", " [ 9 10 11 12]\n", " [13 14 15 16]]\n" ] } ], "source": [ "a = np.arange(1, 17)\n", "b = a.reshape([2,8])\n", "c = a.reshape([-1, 4])\n", "\n", "print a\n", "print b\n", "print c" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(128,)\n", "(2, 4, 8, 2)\n", "(1, 1, 128)\n" ] } ], "source": [ "a = np.arange(128)\n", "b = a.reshape([-1, 4, 8, 2])\n", "c = a.reshape([1, 1, 128])\n", "\n", "print a.shape\n", "print b.shape\n", "print c.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora juguemos con matplotlib!" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "x = np.arange(1000)\n", "y = np.sin(2*np.pi*x/500.)\n", "\n", "plt.xlabel('Tiempo [s]')\n", "plt.ylabel('Posicion [m]')\n", "plt.title('Movimiento oscilatorio')\n", "\n", "plt.plot(x,y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Vamos con lo básico de tensorflow:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import tensorflow as tf\n", "sess = tf.InteractiveSession()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Construyamos nuestro primer modelo (función): una sigmoide" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "with tf.name_scope(\"Sigmoide\"):\n", " x = tf.placeholder(tf.float32)\n", " y = tf.nn.sigmoid(2.5*x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Evaluemos la función en x=1" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.924142\n" ] } ], "source": [ "ans = sess.run(y, feed_dict={\n", " x: 1.\n", " })\n", "\n", "print ans" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora evaluemos la función en 1000 valores distintos entre -4 y 4. Para esto construimos un arreglo (1-Dimensional) en numpy y se lo damos como entrada al placeholder del modelo. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x_data.shape = (1000,)\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nEv8H5bNfzu4BskcAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x_data = np.linspace(-4, 4, 1000)\n", "print 'x_data.shape =', x_data.shape\n", "\n", "y_data = sess.run(y, feed_dict={\n", " x: x_data\n", " })\n", "\n", "plt.plot(x_data, y_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La gracia de tensorflow es que nos permite ajustar modelos (a.k.a. aprender) de manera muy fácil. Vamos al ejemplo más simple de todos: Regresión lineal unidimensional." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N = 30\n", "x_value = np.linspace(-5, 5, N)\n", "m_real = 2.741\n", "n_real = -0.183\n", "y_value = m_real*x_value + n_real + np.random.normal(0.0, 4.0, N)\n", "\n", "plt.scatter(x_value, y_value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Construyamos un modelo apropiado" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "with tf.name_scope('Linear_regression'):\n", " x = tf.placeholder(tf.float32, name='x')\n", " m = tf.Variable(tf.zeros([1]), name='m')\n", " n = tf.Variable(tf.zeros([1]), name='n')\n", "\n", " y = x*m + n\n", "\n", " target = tf.placeholder(tf.float32, name='target')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Usemos Mean Squared Error (MSE) como función objetivo a minimizar" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "with tf.name_scope('Linear_regression'):\n", " loss = tf.reduce_mean(tf.square(y-target))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Elijamos nuestro algoritmo de optimización." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": true }, "outputs": [], "source": [ "with tf.name_scope(\"Linear_regression\"):\n", " optimizer = tf.train.GradientDescentOptimizer(.1)\n", " training_step = optimizer.minimize(loss)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "writer = tf.train.SummaryWriter(\".\", sess.graph)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ajustemos el modelo :)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iteration 0 , loss = 95.6338\n", "Iteration 1 , loss = 61.8957\n", "Iteration 2 , loss = 41.2324\n", "Iteration 3 , loss = 28.5753\n", "Iteration 4 , loss = 20.8216\n", "Iteration 5 , loss = 16.0709\n", "Iteration 6 , loss = 13.16\n", "Iteration 7 , loss = 11.376\n", "Iteration 8 , loss = 10.2825\n", "Iteration 9 , loss = 9.61222\n", "Iteration 10 , loss = 9.20124\n", "Iteration 11 , loss = 8.94923\n", "Iteration 12 , loss = 8.79467\n", "Iteration 13 , loss = 8.69986\n", "Iteration 14 , loss = 8.6417\n", "Iteration 15 , loss = 8.606\n", "Iteration 16 , loss = 8.5841\n", "Iteration 17 , loss = 8.57065\n", "Iteration 18 , loss = 8.56239\n", "Iteration 19 , loss = 8.55732\n", "Iteration 20 , loss = 8.55421\n", "Iteration 21 , loss = 8.55229\n", "Iteration 22 , loss = 8.55112\n", "Iteration 23 , loss = 8.55039\n", "Iteration 24 , loss = 8.54995\n" ] } ], "source": [ "sess.run(tf.initialize_all_variables())\n", "for i in range(25):\n", " _, loss_value = sess.run([training_step, loss], feed_dict={\n", " x: x_value,\n", " target: y_value\n", " })\n", " print 'Iteration', i, ', loss =', loss_value" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Veamos el resultado" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEACAYAAABWLgY0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt4VOW1x/HvAgJGMUA0ooImeCxei6CigloTy8WqWKn1\nQnus1XhFxLZH65UjeqzHWusR5aCCyFEriCKtoNQrpNYLEgG5qCjWJiCojHLXACGs88ce0gC5TDIz\n2TOT3+d55iGzZ+89KyFZebP2+65t7o6IiGSmVmEHICIiyaMkLyKSwZTkRUQymJK8iEgGU5IXEclg\nSvIiIhks7iRvZl3NbKaZfWhmi8xseHR7JzN7xcw+NrOXzaxD/OGKiEhjWLzz5M1sX2Bfd3/fzNoD\nc4EfAxcD37j7PWZ2A9DJ3W+MO2IREYlZ3CN5d//S3d+PfrwR+AjoSpDoH4/u9jhwdrzvJSIijZPQ\nmryZFQA9gdlAZ3f/CoJfBEBeIt9LREQalrAkHy3VTAGujY7o1S9BRCRkbRJxEjNrQ5Dgn3T356Ob\nvzKzzu7+VbRuv6qOY/XLQESkCdzdGtonUSP5x4AP3X1UjW3TgF9GP74IeH7ng7Zz95R/3HbbbaHH\noDgVZ7rGqDgT/4hV3CN5MzsR+DmwyMzmE5RpbgZ+DzxjZpcAy4Bz430vERFpnLiTvLu/BbSu4+V+\n8Z5fRESaTiteY1RYWBh2CDFRnImVDnGmQ4ygOMMS92KouAMw87BjEBFJN2aGx3DhNSGza0REalNQ\nUEB5eXnYYaS1/Px8ysrKmny8RvIikjTR0WbYYaS1ur6GsY7kVZMXEclgSvIiIhlMSV5EJIMpyYuI\nJNjFF1/Mf/7nf8a0b7du3Zg5c2bSYlGSFxHJYEryIiIZTEleRFqsbt26ce+993LUUUex5557ctll\nl7Fq1SpOP/10cnJyGDBgAOvWrQNg2rRpHHnkkeTm5nLqqaeyZMmS6vPMnz+fY445hg4dOnDBBRew\nadOmHd7nhRdeoFevXnTq1ImTTjqJRYsWNdvnqCQvIi3a1KlTef311/nkk0+YNm0ap59+OnfffTff\nfPMNVVVVPPDAAyxdupSf/exnPPDAA0QiEX70ox8xaNAgtm7dSmVlJYMHD+aiiy5i9erVnHvuuTz3\n3HPV5583bx7FxcWMGzeO1atXc8UVV3DWWWdRWVnZLJ+fkryIhMosMY+muuaaa9h7773Zb7/9OPnk\nkzn++OPp0aMHWVlZDB48mHnz5jF58mTOPPNMTj31VFq3bs11113Hpk2bePvtt5k9ezZbt25l+PDh\ntG7dmnPOOYfevXtXn//RRx/lyiuv5Nhjj8XMuPDCC2nXrh2zZ89OwFevYWprICKhCntBbOfOnas/\nzs7O3uX5xo0b+eKLL8jPz6/ebmZ07dqVFStW0KpVK7p06bLDOWvuW15ezhNPPMGDDz4IBPfPqKys\nZOXKlcn6lHagJC8iUg8zY//992fhwoU7bF++fHl1cv/88893eG3ZsmUcfPDBABxwwAHccsst3HTT\nTc0T8E5UrhERacB5553HjBkzmDVrFlu3buXee+9lt912o2/fvvTp04esrCwefPBBqqqqmDp1KnPm\nzKk+9rLLLuPhhx+u3vbtt98yY8YMvv3222aJXUleRFos26mYv/Pz7b73ve/xpz/9iWHDhpGXl8eL\nL77I9OnTadOmDVlZWUydOpUJEyaQm5vLs88+yznnnFN97DHHHMO4ceMYNmwYubm5dO/enccff7zB\n90wUdaEUkaRRF8r4qQuliIjUSUleRCSDKcmLiGQwJXkRkQymJC8iksGU5EVEMpiSvIhIBlOSFxHJ\nYEryIiJRjbltX7pQkhcRaaSioiIee+yxsMOIibpQikhKWr9+PRMmTGD16jUMHDiAvn37hh1SWtJI\nXkRC8cEHH3Dfffcxbtw4NmzYsMNrGzZsoGfPvtx449v8139tpV+/c3j66ckJj6Gu2/atXbuWQYMG\nsc8++7DXXnsxaNCg6v7vt956K3//+98ZNmwYOTk5DB8+HIBf/epXHHjggXTo0IHevXvz5ptvJjze\nJnH3UB9BCCKSier6+X711Vd999339rZth/nuu//Yu3U7wtetW1f9+ujRoz07+yce3FLEHd72zp0P\n2uEcK1as8BNPHOjZ2R29W7fv+9tvv92o2LZs2eL5+fk+atQo37p1q0+ZMsWzsrJ8xIgRvnr1ap86\ndapv2rTJN27c6Oedd56fffbZ1ccWFhb6+PHjdzjfU0895WvWrPGqqiq/7777fN999/XNmzc3Kqba\n1PU1jG5vOMfGslMyH0ryIpmrrp/vgw/u5TC9Oom3azfE77333urX77rrLm/d+j9qJPkvfI899qp+\nfdu2bX744b29deubHSIOz3n79nm+YsWKmGN74403vEuXLjts69u3r48YMWKXfefPn++5ubnVz2tL\n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\nJXkRkQz2/+aHOgp3mO05AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(x_value, y_value, label='data')\n", "x_dense = np.linspace(-6, 6, 1000)\n", "y_model = sess.run(y, feed_dict={\n", " x: x_dense\n", " })\n", "plt.plot(x_dense, y_model, label='model')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python2", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.12" } }, "nbformat": 4, "nbformat_minor": 0 }