Skip to content

Instantly share code, notes, and snippets.

@chiragjn
Last active August 15, 2017 21:33
Show Gist options
  • Save chiragjn/dedd731605dac1332ed7e7a376353bce to your computer and use it in GitHub Desktop.
Save chiragjn/dedd731605dac1332ed7e7a376353bce to your computer and use it in GitHub Desktop.
Good old MNIST
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from __future__ import print_function\n",
"import tensorflow as tf\n",
"import numpy as np\n",
"import os"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from tensorflow.examples.tutorials.mnist import input_data\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib.cm as cm\n",
"import pandas as pd\n",
"import math"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Extracting MNIST_data/train-images-idx3-ubyte.gz\n",
"Extracting MNIST_data/train-labels-idx1-ubyte.gz\n",
"Extracting MNIST_data/t10k-images-idx3-ubyte.gz\n",
"Extracting MNIST_data/t10k-labels-idx1-ubyte.gz\n"
]
}
],
"source": [
"mnist = input_data.read_data_sets(\"MNIST_data/\", reshape=True, one_hot=True)"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Datasets(train=<tensorflow.contrib.learn.python.learn.datasets.mnist.DataSet object at 0x11736d850>, validation=<tensorflow.contrib.learn.python.learn.datasets.mnist.DataSet object at 0x117e41110>, test=<tensorflow.contrib.learn.python.learn.datasets.mnist.DataSet object at 0x117e41250>)"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mnist"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(28, 28)\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1172e7fd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cp = mnist.train.images[0]\n",
"cp = cp.reshape(28, 28)\n",
"print(cp.shape)\n",
"plt.imshow(cp, cmap = cm.Greys)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 230,
"metadata": {},
"outputs": [],
"source": [
"input_dim = mnist.train.images[0].shape[0]\n",
"hidden_dim = 100\n",
"output_dim = 10\n",
"init_learning_rate = 1.0\n",
"epochs = 100000\n",
"stdv_h = 1. / math.sqrt(input_dim)\n",
"stdv_o = 1. / math.sqrt(hidden_dim)\n",
"\n",
"decay_steps = int(mnist.train.images.shape[0] / 100 * 1000)\n",
"x = tf.placeholder(tf.float32, shape=[None, input_dim])\n",
"y = tf.placeholder(tf.float32, shape=[None, output_dim])\n",
"global_step = tf.Variable(0, trainable=False)\n",
"learning_rate = tf.train.exponential_decay(init_learning_rate,global_step,\n",
" decay_steps, 0.3, staircase=True,\n",
" name='exponential_decay_learning_rate')"
]
},
{
"cell_type": "code",
"execution_count": 231,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"w_hid = tf.Variable(tf.random_uniform(shape=[input_dim, hidden_dim], minval=-stdv_h, maxval=stdv_h))\n",
"b_hid = tf.Variable(tf.random_uniform(shape=[hidden_dim], minval=-stdv_h, maxval=stdv_h))"
]
},
{
"cell_type": "code",
"execution_count": 232,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"w_out = tf.Variable(tf.random_uniform(shape=[hidden_dim, output_dim], minval=-stdv_o, maxval=stdv_o))\n",
"b_out = tf.Variable(tf.random_uniform(shape=[output_dim], minval=-stdv_o, maxval=stdv_o))"
]
},
{
"cell_type": "code",
"execution_count": 233,
"metadata": {},
"outputs": [],
"source": [
"y_hid = tf.sigmoid(tf.matmul(x, w_hid) + b_hid)\n",
"y_out = tf.matmul(y_hid, w_out) + b_out"
]
},
{
"cell_type": "code",
"execution_count": 234,
"metadata": {},
"outputs": [],
"source": [
"cross_entropy_loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y_out, labels=y))"
]
},
{
"cell_type": "code",
"execution_count": 235,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"correct = tf.equal(tf.argmax(y_out, 1), tf.argmax(y, 1))\n",
"accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))"
]
},
{
"cell_type": "code",
"execution_count": 236,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"train = tf.train.GradientDescentOptimizer(learning_rate=learning_rate).minimize(cross_entropy_loss)"
]
},
{
"cell_type": "code",
"execution_count": 237,
"metadata": {},
"outputs": [],
"source": [
"init = tf.global_variables_initializer()\n",
"sess = tf.Session()\n",
"sess.run(init)"
]
},
{
"cell_type": "code",
"execution_count": 238,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Finished epoch 0 Loss: 2.311785, accuracy 12.000000\n",
"Testing: Accuracy = 9.57999974489\n",
"Finished epoch 1000 Loss: 0.186441, accuracy 94.999999\n",
"Testing: Accuracy = 94.580000639\n",
"Finished epoch 2000 Loss: 0.103240, accuracy 99.000001\n",
"Testing: Accuracy = 96.0399985313\n",
"Finished epoch 3000 Loss: 0.136753, accuracy 95.999998\n",
"Testing: Accuracy = 96.590000391\n",
"Finished epoch 4000 Loss: 0.086018, accuracy 97.000003\n",
"Testing: Accuracy = 97.0600008965\n",
"Finished epoch 5000 Loss: 0.125065, accuracy 98.000002\n",
"Testing: Accuracy = 97.3500013351\n",
"Finished epoch 6000 Loss: 0.030081, accuracy 100.000000\n",
"Testing: Accuracy = 97.4500000477\n",
"Finished epoch 7000 Loss: 0.024137, accuracy 100.000000\n",
"Testing: Accuracy = 97.5799977779\n",
"Finished epoch 8000 Loss: 0.022950, accuracy 100.000000\n",
"Testing: Accuracy = 97.7599978447\n",
"Finished epoch 9000 Loss: 0.014781, accuracy 100.000000\n",
"Testing: Accuracy = 97.6100027561\n",
"Finished epoch 10000 Loss: 0.048155, accuracy 99.000001\n",
"Testing: Accuracy = 97.7400004864\n",
"Finished epoch 11000 Loss: 0.040320, accuracy 99.000001\n",
"Testing: Accuracy = 97.7999985218\n",
"Finished epoch 12000 Loss: 0.020373, accuracy 100.000000\n",
"Testing: Accuracy = 97.879999876\n",
"Finished epoch 13000 Loss: 0.021888, accuracy 100.000000\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-238-16ce68bf1545>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mi\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;36m1000\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Finished epoch \"\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\" Loss: %f, accuracy %f\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mbatch_loss\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m100\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mbatch_accuracy\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Testing: Accuracy = \"\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m100\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0msess\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maccuracy\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mmnist\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtest\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimages\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mmnist\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtest\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/Users/chirag/venv/lib/python2.7/site-packages/tensorflow/python/client/session.pyc\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 787\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 788\u001b[0m result = self._run(None, fetches, feed_dict, options_ptr,\n\u001b[0;32m--> 789\u001b[0;31m run_metadata_ptr)\n\u001b[0m\u001b[1;32m 790\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mrun_metadata\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 791\u001b[0m \u001b[0mproto_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtf_session\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTF_GetBuffer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrun_metadata_ptr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/Users/chirag/venv/lib/python2.7/site-packages/tensorflow/python/client/session.pyc\u001b[0m in \u001b[0;36m_run\u001b[0;34m(self, handle, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 995\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mfinal_fetches\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mfinal_targets\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 996\u001b[0m results = self._do_run(handle, final_targets, final_fetches,\n\u001b[0;32m--> 997\u001b[0;31m feed_dict_string, options, run_metadata)\n\u001b[0m\u001b[1;32m 998\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 999\u001b[0m \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/Users/chirag/venv/lib/python2.7/site-packages/tensorflow/python/client/session.pyc\u001b[0m in \u001b[0;36m_do_run\u001b[0;34m(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)\u001b[0m\n\u001b[1;32m 1130\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mhandle\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1131\u001b[0m return self._do_call(_run_fn, self._session, feed_dict, fetch_list,\n\u001b[0;32m-> 1132\u001b[0;31m target_list, options, run_metadata)\n\u001b[0m\u001b[1;32m 1133\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1134\u001b[0m return self._do_call(_prun_fn, self._session, handle, feed_dict,\n",
"\u001b[0;32m/Users/chirag/venv/lib/python2.7/site-packages/tensorflow/python/client/session.pyc\u001b[0m in \u001b[0;36m_do_call\u001b[0;34m(self, fn, *args)\u001b[0m\n\u001b[1;32m 1137\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_do_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1138\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1139\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1140\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mOpError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1141\u001b[0m \u001b[0mmessage\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcompat\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_text\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmessage\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/Users/chirag/venv/lib/python2.7/site-packages/tensorflow/python/client/session.pyc\u001b[0m in \u001b[0;36m_run_fn\u001b[0;34m(session, feed_dict, fetch_list, target_list, options, run_metadata)\u001b[0m\n\u001b[1;32m 1119\u001b[0m return tf_session.TF_Run(session, options,\n\u001b[1;32m 1120\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_list\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1121\u001b[0;31m status, run_metadata)\n\u001b[0m\u001b[1;32m 1122\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1123\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_prun_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msession\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhandle\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
]
}
],
"source": [
"for i in range(epochs):\n",
" batch_xs, batch_ys = mnist.train.next_batch(100)\n",
" batch_loss, _, batch_accuracy = sess.run([cross_entropy_loss, train, accuracy], {x: batch_xs, y: batch_ys})\n",
" if i % 1000 == 0:\n",
" print(\"Finished epoch \" + str(i) + \" Loss: %f, accuracy %f\" % (batch_loss, 100 * batch_accuracy))\n",
" print(\"Testing: Accuracy = \" + str(100 * sess.run(accuracy, {x: mnist.test.images, y: mnist.test.labels})))\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"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.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment