Skip to content

Instantly share code, notes, and snippets.

@ypwhs
Created December 8, 2016 12:14
Show Gist options
  • Save ypwhs/df7202c939375c0823adf07e1401511e to your computer and use it in GitHub Desktop.
Save ypwhs/df7202c939375c0823adf07e1401511e to your computer and use it in GitHub Desktop.
mxnet_mnist
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import mxnet as mx\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"import logging\n",
"import sys\n",
"root_logger = logging.getLogger()\n",
"stdout_handler = logging.StreamHandler(sys.stdout)\n",
"root_logger.addHandler(stdout_handler)\n",
"root_logger.setLevel(logging.DEBUG)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
]
},
{
"data": {
"image/png": "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\nf0FBAadOnaK9vd0+nKRQKPDw8LD3Qtra2vjvf/9LbW0tQ0NDXL9+fVSv1wcmxDUaDaGhoaSlpTFv\n3jymTZuGwWDAwcGBnp4eTpw4wYEDB8jKypKl/EmTJpGenk5HRwdNTU24ubkRHh6O0WgkMjKSuLg4\nnJ2dOXXqFHv37r1vAX6j4RapXGbPno3RaLQHQ2VlJZWVlfd9ok6hUNhb4XJKT09nwYIFeHl50dLS\nQkhICMHBwZhMJqZMmYKnpydHjhzhjTfeoLS0lK6uLvv/5urVq1y9epWmpiaKiorw8fGhvb1dluGv\n/v5+MjMzefrpp+0rRaZPn05wcDAXLlwYtcDw9vYmISGBuXPnUltby7Zt224afhxeNz916lSef/55\nFi5ciJubGxaLhcHBwTG7boaGhmhoaODkyZPMnz+furo6WTZ/AbddyabT6Zg/fz6PPPIIvb29vP76\n65SVlck25HffQ1yj0eDu7k5qairz588nKSmJoKAgNBoN3d3dFBUVcezYMb7++mv7caOjzWazodFo\nWLlyJf7+/tTV1eHt7U1UVBTBwcGo1WouXrzI/v37+fzzzx+IAIdvNxrJNYGl1+tZunSp/ZjZ4S3m\nY3XI1g9Rq9VER0fLHuIBAQF4eHigVCoJCQnBz8/PftBTaWkpZWVlZGZmcvz48e9tkba3t8t+xvvg\n4CBnz56lqqrKfjRvaGgoEyZMQK1Wj1qIz5kzh6eeeoqEhAQKCgq4ePHiTSdnqtVqwsLCmDlzJunp\n6bi4uNDS0kJRUREnT56U7Wyd27HZbDQ0NNDf388333wzZmWrVCpCQkJYs2YNISEhZGdn895778m6\nGe++hbiDgwOxsbGYTCZCQ0OZO3cuUVFRaLVaurq6OH/+PAUFBeTk5JCfny/bRFp7ezstLS2Ehoba\nD/bv6+tDq9WiUqloaWkhOzubw4cPc/r0aUpLS2Wpx90YDi+NRoOHh4csZRgMBkwmE3q9nr6+PrKy\nsvj6669lGba4W8NjnnKHeG5uLh4eHhiNRhwdHWltbeX8+fOcO3eOqqoqysvL6ezsvO89E/h2fDon\nJ4fY2Fj7SqfRXj00bdo04uPj8fDwsI/13zjOrFKpMBqN+Pv709fXR3V1NRkZGRw6dIjCwsIRn9Z5\nL9RqNf7+/ly4cEG21viNAgMDeeyxx4iOjqaoqIi33nqLjo4Oeb/hSbZn/h56vZ4pU6YQFBTEmjVr\nmD59OgaDAY1Gw9DQEJcuXSI3N5fPP/+cvLy8Hxx3Gw01NTX2s7zj4uLQ6XRotVqam5spLS0lPz+f\nzz77TJaxzJEaviCcnZ0xGAyylDHcyler1Vy7do2TJ0+O2W7IHzMwMGAPBXd3d/vE1WjvBMzKyqKs\nrIwpU6ag1Wqpr6/n/PnzY3LM692yWq18+eWXrF+/Hq1WK8tyvqqqKkpKSoiOjsbf3x9/f3/774aG\nhujt7cVisVBZWWnvQe/bt4/Lly/flyMBJk6ciEajwc/PD0dHxzEJcR8fH2bNmoUkSezfv5/s7GzZ\nyxzzEI+Li2PTpk3ExcVhMBiwWCy0tbXR399PU1MTOTk5ZGRkUFpaOiZf9trd3c2OHTuorq5m+fLl\nBAYGAt8edpSVlTUmp8Hdrf7+frq6ukZ8ZsudltHZ2XlfvjHox1itVhobG8nPzyc9PZ34+HgqKyu5\nePHiqF4zg4ODVFVV3fMBRWPBarVSU1PDnj17MBqNqNVqGhsbR/XGlpmZSUdHBytWrCAtLQ1fX18s\nFgutra00NzdTVlZGV1cXZWVl9h20Y7GK6XYkSSIkJITe3l4uXbo0Zj3IhoYGduzYwfTp02X97t8b\njXmID+90G1461tLSQmFhIa2trZw4cYKysrIxf+O7u7vtqwvGg4aGBg4ePEhcXByXL1+WpYzm5mYO\nHjyISqVCkiRaW1tlKWekLBYLW7ZsITIykjVr1tDW1sann346pmfePGhaW1v53e9+J+vzf/HFF1RX\nV1NVVUVqaipms5lvvvmG06dPc+rUKVl38d6NoaEhPvnkE4KCgmhpaRmTBiF8e9Tu5s2bx6SsYZLc\n3RxJksb88AibzXbLYKmox/+/ejg7O/OnP/2J5cuX09TUxO9//3vy8vLuqBHw3brcj/+HqIeox93W\n43bG/svnBGGU9Pb28vLLL/Pmm2/i5OREYGDgmJ7lLQgPAtESF/X4n6vH7eoi6iHqMR7qcTuyh7gg\nCIIgHzGcIgiCMI6JEBcEQRjHRIgLgiCMYyLEBUEQxjER4oIgCOOYCHFBEIRxTIS4IAjCOCZCXBAE\nYRwTIS4IgjCOiRAXBEEYx0SIC4IgjGMixAVBEMYxEeKCIAjjmAhxQRCEcUyEuCAIwjgmQlwQBGEc\nEyEuCIIwjokQFwRBGMdEiAuCIIxjIsQFQRDGsf8DAgNW6tYSmGIAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x12183a990>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from keras.datasets import mnist\n",
"from keras.utils import np_utils\n",
"\n",
"nb_classes = 10\n",
"(X_train, Y_train), (X_test, Y_test) = mnist.load_data()\n",
"X_train = X_train/255.0\n",
"X_test = X_test/255.0\n",
"\n",
"X_train = X_train.reshape((60000, 1, 28, 28))\n",
"X_test = X_test.reshape((10000, 1, 28, 28))\n",
"\n",
"for i in range(10):\n",
" plt.subplot(1,10,i+1)\n",
" plt.imshow(X_train[i][0], cmap='gray')\n",
" plt.axis('off')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"batch_size = 128\n",
"train_iter = mx.io.NDArrayIter(X_train, Y_train, batch_size=batch_size)\n",
"test_iter = mx.io.NDArrayIter(X_test, Y_test, batch_size=batch_size)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: plot Pages: 1 -->\n",
"<svg width=\"214pt\" height=\"1362pt\"\n",
" viewBox=\"0.00 0.00 214.00 1362.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 1358)\">\n",
"<title>plot</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-1358 210,-1358 210,4 -4,4\"/>\n",
"<!-- data -->\n",
"<g id=\"node1\" class=\"node\"><title>data</title>\n",
"<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"47\" cy=\"-29\" rx=\"47\" ry=\"29\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-24.8\" font-family=\"Times,serif\" font-size=\"14.00\">data</text>\n",
"</g>\n",
"<!-- convolution0 -->\n",
"<g id=\"node2\" class=\"node\"><title>convolution0</title>\n",
"<polygon fill=\"#fb8072\" stroke=\"black\" points=\"94,-166 -7.10543e-15,-166 -7.10543e-15,-108 94,-108 94,-166\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-139.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-125.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1, 32</text>\n",
"</g>\n",
"<!-- convolution0&#45;&gt;data -->\n",
"<g id=\"edge1\" class=\"edge\"><title>convolution0&#45;&gt;data</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-97.7568C47,-84.7134 47,-70.3744 47,-58.2592\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-107.872 42.5001,-97.8722 47,-102.872 47.0001,-97.8722 47.0001,-97.8722 47.0001,-97.8722 47,-102.872 51.5001,-97.8723 47,-107.872 47,-107.872\"/>\n",
"<text text-anchor=\"middle\" x=\"71.5\" y=\"-78.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x28x28</text>\n",
"</g>\n",
"<!-- activation0 -->\n",
"<g id=\"node3\" class=\"node\"><title>activation0</title>\n",
"<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"94,-274 -7.10543e-15,-274 -7.10543e-15,-216 94,-216 94,-274\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-247.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-233.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
"</g>\n",
"<!-- activation0&#45;&gt;convolution0 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>activation0&#45;&gt;convolution0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-205.757C47,-192.713 47,-178.374 47,-166.259\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-215.872 42.5001,-205.872 47,-210.872 47.0001,-205.872 47.0001,-205.872 47.0001,-205.872 47,-210.872 51.5001,-205.872 47,-215.872 47,-215.872\"/>\n",
"<text text-anchor=\"middle\" x=\"75\" y=\"-186.8\" font-family=\"Times,serif\" font-size=\"14.00\">32x26x26</text>\n",
"</g>\n",
"<!-- pooling0 -->\n",
"<g id=\"node4\" class=\"node\"><title>pooling0</title>\n",
"<polygon fill=\"#80b1d3\" stroke=\"black\" points=\"94,-382 -7.10543e-15,-382 -7.10543e-15,-324 94,-324 94,-382\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-355.8\" font-family=\"Times,serif\" font-size=\"14.00\">Pooling</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-341.8\" font-family=\"Times,serif\" font-size=\"14.00\">max, 2x2/2</text>\n",
"</g>\n",
"<!-- pooling0&#45;&gt;activation0 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>pooling0&#45;&gt;activation0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-313.757C47,-300.713 47,-286.374 47,-274.259\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-323.872 42.5001,-313.872 47,-318.872 47.0001,-313.872 47.0001,-313.872 47.0001,-313.872 47,-318.872 51.5001,-313.872 47,-323.872 47,-323.872\"/>\n",
"<text text-anchor=\"middle\" x=\"75\" y=\"-294.8\" font-family=\"Times,serif\" font-size=\"14.00\">32x26x26</text>\n",
"</g>\n",
"<!-- convolution1 -->\n",
"<g id=\"node5\" class=\"node\"><title>convolution1</title>\n",
"<polygon fill=\"#fb8072\" stroke=\"black\" points=\"94,-490 -7.10543e-15,-490 -7.10543e-15,-432 94,-432 94,-490\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-463.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-449.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1, 32</text>\n",
"</g>\n",
"<!-- convolution1&#45;&gt;pooling0 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>convolution1&#45;&gt;pooling0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-421.757C47,-408.713 47,-394.374 47,-382.259\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-431.872 42.5001,-421.872 47,-426.872 47.0001,-421.872 47.0001,-421.872 47.0001,-421.872 47,-426.872 51.5001,-421.872 47,-431.872 47,-431.872\"/>\n",
"<text text-anchor=\"middle\" x=\"75\" y=\"-402.8\" font-family=\"Times,serif\" font-size=\"14.00\">32x13x13</text>\n",
"</g>\n",
"<!-- activation1 -->\n",
"<g id=\"node6\" class=\"node\"><title>activation1</title>\n",
"<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"94,-598 -7.10543e-15,-598 -7.10543e-15,-540 94,-540 94,-598\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-571.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-557.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
"</g>\n",
"<!-- activation1&#45;&gt;convolution1 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>activation1&#45;&gt;convolution1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-529.757C47,-516.713 47,-502.374 47,-490.259\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-539.872 42.5001,-529.872 47,-534.872 47.0001,-529.872 47.0001,-529.872 47.0001,-529.872 47,-534.872 51.5001,-529.872 47,-539.872 47,-539.872\"/>\n",
"<text text-anchor=\"middle\" x=\"74.4873\" y=\"-510.8\" font-family=\"Times,serif\" font-size=\"14.00\">32x11x11</text>\n",
"</g>\n",
"<!-- pooling1 -->\n",
"<g id=\"node7\" class=\"node\"><title>pooling1</title>\n",
"<polygon fill=\"#80b1d3\" stroke=\"black\" points=\"94,-706 -7.10543e-15,-706 -7.10543e-15,-648 94,-648 94,-706\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-679.8\" font-family=\"Times,serif\" font-size=\"14.00\">Pooling</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-665.8\" font-family=\"Times,serif\" font-size=\"14.00\">max, 2x2/2</text>\n",
"</g>\n",
"<!-- pooling1&#45;&gt;activation1 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>pooling1&#45;&gt;activation1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-637.757C47,-624.713 47,-610.374 47,-598.259\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-647.872 42.5001,-637.872 47,-642.872 47.0001,-637.872 47.0001,-637.872 47.0001,-637.872 47,-642.872 51.5001,-637.872 47,-647.872 47,-647.872\"/>\n",
"<text text-anchor=\"middle\" x=\"74.4873\" y=\"-618.8\" font-family=\"Times,serif\" font-size=\"14.00\">32x11x11</text>\n",
"</g>\n",
"<!-- flatten0 -->\n",
"<g id=\"node8\" class=\"node\"><title>flatten0</title>\n",
"<polygon fill=\"#fdb462\" stroke=\"black\" points=\"94,-814 -7.10543e-15,-814 -7.10543e-15,-756 94,-756 94,-814\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-780.8\" font-family=\"Times,serif\" font-size=\"14.00\">Flatten</text>\n",
"</g>\n",
"<!-- flatten0&#45;&gt;pooling1 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>flatten0&#45;&gt;pooling1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-745.757C47,-732.713 47,-718.374 47,-706.259\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-755.872 42.5001,-745.872 47,-750.872 47.0001,-745.872 47.0001,-745.872 47.0001,-745.872 47,-750.872 51.5001,-745.872 47,-755.872 47,-755.872\"/>\n",
"<text text-anchor=\"middle\" x=\"68\" y=\"-726.8\" font-family=\"Times,serif\" font-size=\"14.00\">32x5x5</text>\n",
"</g>\n",
"<!-- fullyconnected0 -->\n",
"<g id=\"node9\" class=\"node\"><title>fullyconnected0</title>\n",
"<polygon fill=\"#fb8072\" stroke=\"black\" points=\"94,-922 -7.10543e-15,-922 -7.10543e-15,-864 94,-864 94,-922\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-895.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-881.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
"</g>\n",
"<!-- fullyconnected0&#45;&gt;flatten0 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>fullyconnected0&#45;&gt;flatten0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-853.757C47,-840.713 47,-826.374 47,-814.259\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-863.872 42.5001,-853.872 47,-858.872 47.0001,-853.872 47.0001,-853.872 47.0001,-853.872 47,-858.872 51.5001,-853.872 47,-863.872 47,-863.872\"/>\n",
"<text text-anchor=\"middle\" x=\"57.5\" y=\"-834.8\" font-family=\"Times,serif\" font-size=\"14.00\">800</text>\n",
"</g>\n",
"<!-- activation2 -->\n",
"<g id=\"node10\" class=\"node\"><title>activation2</title>\n",
"<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"94,-1030 -7.10543e-15,-1030 -7.10543e-15,-972 94,-972 94,-1030\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-1003.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-989.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n",
"</g>\n",
"<!-- activation2&#45;&gt;fullyconnected0 -->\n",
"<g id=\"edge9\" class=\"edge\"><title>activation2&#45;&gt;fullyconnected0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-961.757C47,-948.713 47,-934.374 47,-922.259\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-971.872 42.5001,-961.872 47,-966.872 47.0001,-961.872 47.0001,-961.872 47.0001,-961.872 47,-966.872 51.5001,-961.872 47,-971.872 47,-971.872\"/>\n",
"<text text-anchor=\"middle\" x=\"57.5\" y=\"-942.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
"</g>\n",
"<!-- dropout0 -->\n",
"<g id=\"node11\" class=\"node\"><title>dropout0</title>\n",
"<polygon fill=\"#fccde5\" stroke=\"black\" points=\"94,-1138 -7.10543e-15,-1138 -7.10543e-15,-1080 94,-1080 94,-1138\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-1104.8\" font-family=\"Times,serif\" font-size=\"14.00\">Dropout</text>\n",
"</g>\n",
"<!-- dropout0&#45;&gt;activation2 -->\n",
"<g id=\"edge10\" class=\"edge\"><title>dropout0&#45;&gt;activation2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-1069.76C47,-1056.71 47,-1042.37 47,-1030.26\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-1079.87 42.5001,-1069.87 47,-1074.87 47.0001,-1069.87 47.0001,-1069.87 47.0001,-1069.87 47,-1074.87 51.5001,-1069.87 47,-1079.87 47,-1079.87\"/>\n",
"<text text-anchor=\"middle\" x=\"57.5\" y=\"-1050.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
"</g>\n",
"<!-- fullyconnected1 -->\n",
"<g id=\"node12\" class=\"node\"><title>fullyconnected1</title>\n",
"<polygon fill=\"#fb8072\" stroke=\"black\" points=\"94,-1246 -7.10543e-15,-1246 -7.10543e-15,-1188 94,-1188 94,-1246\"/>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-1219.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n",
"<text text-anchor=\"middle\" x=\"47\" y=\"-1205.8\" font-family=\"Times,serif\" font-size=\"14.00\">10</text>\n",
"</g>\n",
"<!-- fullyconnected1&#45;&gt;dropout0 -->\n",
"<g id=\"edge11\" class=\"edge\"><title>fullyconnected1&#45;&gt;dropout0</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M47,-1177.76C47,-1164.71 47,-1150.37 47,-1138.26\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"47,-1187.87 42.5001,-1177.87 47,-1182.87 47.0001,-1177.87 47.0001,-1177.87 47.0001,-1177.87 47,-1182.87 51.5001,-1177.87 47,-1187.87 47,-1187.87\"/>\n",
"<text text-anchor=\"middle\" x=\"57.5\" y=\"-1158.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n",
"</g>\n",
"<!-- softmax_label -->\n",
"<g id=\"node13\" class=\"node\"><title>softmax_label</title>\n",
"<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"159\" cy=\"-1217\" rx=\"47\" ry=\"29\"/>\n",
"<text text-anchor=\"middle\" x=\"159\" y=\"-1212.8\" font-family=\"Times,serif\" font-size=\"14.00\">softmax_label</text>\n",
"</g>\n",
"<!-- softmax -->\n",
"<g id=\"node14\" class=\"node\"><title>softmax</title>\n",
"<polygon fill=\"#fccde5\" stroke=\"black\" points=\"170,-1354 76,-1354 76,-1296 170,-1296 170,-1354\"/>\n",
"<text text-anchor=\"middle\" x=\"123\" y=\"-1320.8\" font-family=\"Times,serif\" font-size=\"14.00\">SoftmaxOutput</text>\n",
"</g>\n",
"<!-- softmax&#45;&gt;fullyconnected1 -->\n",
"<g id=\"edge12\" class=\"edge\"><title>softmax&#45;&gt;fullyconnected1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M96.9621,-1287.68C87.2503,-1274.14 76.3777,-1258.97 67.2613,-1246.26\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"102.833,-1295.87 93.3489,-1290.37 99.9195,-1291.81 97.006,-1287.75 97.006,-1287.75 97.006,-1287.75 99.9195,-1291.81 100.663,-1285.12 102.833,-1295.87 102.833,-1295.87\"/>\n",
"<text text-anchor=\"middle\" x=\"97\" y=\"-1266.8\" font-family=\"Times,serif\" font-size=\"14.00\">10</text>\n",
"</g>\n",
"<!-- softmax&#45;&gt;softmax_label -->\n",
"<g id=\"edge13\" class=\"edge\"><title>softmax&#45;&gt;softmax_label</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M135.778,-1286.38C140.353,-1272.9 145.421,-1257.98 149.652,-1245.52\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"132.553,-1295.87 131.508,-1284.96 134.161,-1291.14 135.769,-1286.4 135.769,-1286.4 135.769,-1286.4 134.161,-1291.14 140.03,-1287.85 132.553,-1295.87 132.553,-1295.87\"/>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<graphviz.dot.Digraph at 0x121829c10>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = mx.symbol.Variable('data')\n",
"\n",
"x = mx.sym.Convolution(data=data, kernel=(3,3), num_filter=32)\n",
"x = mx.sym.Activation(data=x, act_type=\"relu\")\n",
"x = mx.sym.Pooling(data=x, pool_type=\"max\", kernel=(2,2), stride=(2,2))\n",
"\n",
"x = mx.sym.Convolution(data=x, kernel=(3,3), num_filter=32)\n",
"x = mx.sym.Activation(data=x, act_type=\"relu\")\n",
"x = mx.sym.Pooling(data=x, pool_type=\"max\", kernel=(2,2), stride=(2,2))\n",
"\n",
"x = mx.sym.Flatten(data=x)\n",
"x = mx.sym.FullyConnected(data=x, num_hidden=128)\n",
"x = mx.sym.Activation(data=x, act_type=\"relu\")\n",
"x = mx.sym.Dropout(data=x, p=0.5)\n",
"\n",
"x = mx.sym.FullyConnected(data=x, num_hidden=10)\n",
"x = mx.sym.SoftmaxOutput(data=x, name='softmax')\n",
"\n",
"mx.viz.plot_network(x, shape={\"data\" : (batch_size, 1, 28, 28)})"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Start training with [gpu(0)]\n",
"Epoch[0] Batch [256]\tSpeed: 34735.23 samples/sec\tTrain-accuracy=0.113495\n",
"Epoch[0] Resetting Data Iterator\n",
"Epoch[0] Time cost=2.054\n",
"Epoch[0] Validation-accuracy=0.103244\n",
"Epoch[1] Batch [256]\tSpeed: 34652.80 samples/sec\tTrain-accuracy=0.688629\n",
"Epoch[1] Resetting Data Iterator\n",
"Epoch[1] Time cost=1.734\n",
"Epoch[1] Validation-accuracy=0.972013\n",
"Epoch[2] Batch [256]\tSpeed: 30691.36 samples/sec\tTrain-accuracy=0.962738\n",
"Epoch[2] Resetting Data Iterator\n",
"Epoch[2] Time cost=1.858\n",
"Epoch[2] Validation-accuracy=0.982298\n",
"Epoch[3] Batch [256]\tSpeed: 34644.67 samples/sec\tTrain-accuracy=0.975677\n",
"Epoch[3] Resetting Data Iterator\n",
"Epoch[3] Time cost=1.734\n",
"Epoch[3] Validation-accuracy=0.986748\n",
"Epoch[4] Batch [256]\tSpeed: 34769.88 samples/sec\tTrain-accuracy=0.980469\n",
"Epoch[4] Resetting Data Iterator\n",
"Epoch[4] Time cost=1.733\n",
"Epoch[4] Validation-accuracy=0.985562\n",
"Epoch[5] Batch [256]\tSpeed: 34872.41 samples/sec\tTrain-accuracy=0.983337\n",
"Epoch[5] Resetting Data Iterator\n",
"Epoch[5] Time cost=1.735\n",
"Epoch[5] Validation-accuracy=0.987935\n",
"Epoch[6] Batch [256]\tSpeed: 30487.65 samples/sec\tTrain-accuracy=0.984680\n",
"Epoch[6] Resetting Data Iterator\n",
"Epoch[6] Time cost=1.872\n",
"Epoch[6] Validation-accuracy=0.990309\n",
"Epoch[7] Batch [256]\tSpeed: 34931.41 samples/sec\tTrain-accuracy=0.986908\n",
"Epoch[7] Resetting Data Iterator\n",
"Epoch[7] Time cost=1.728\n",
"Epoch[7] Validation-accuracy=0.987935\n",
"Epoch[8] Batch [256]\tSpeed: 34850.90 samples/sec\tTrain-accuracy=0.987793\n",
"Epoch[8] Resetting Data Iterator\n",
"Epoch[8] Time cost=1.733\n",
"Epoch[8] Validation-accuracy=0.989814\n",
"Epoch[9] Batch [256]\tSpeed: 34906.21 samples/sec\tTrain-accuracy=0.988708\n",
"Epoch[9] Resetting Data Iterator\n",
"Epoch[9] Time cost=1.730\n",
"Epoch[9] Validation-accuracy=0.990803\n",
"Epoch[10] Batch [256]\tSpeed: 34792.47 samples/sec\tTrain-accuracy=0.989349\n",
"Epoch[10] Resetting Data Iterator\n",
"Epoch[10] Time cost=1.730\n",
"Epoch[10] Validation-accuracy=0.989517\n",
"Epoch[11] Batch [256]\tSpeed: 33466.07 samples/sec\tTrain-accuracy=0.990601\n",
"Epoch[11] Resetting Data Iterator\n",
"Epoch[11] Time cost=1.772\n",
"Epoch[11] Validation-accuracy=0.991792\n"
]
}
],
"source": [
"model = mx.model.FeedForward(symbol=x, ctx=mx.gpu(0),\n",
" num_epoch=12,\n",
" optimizer='adadelta')\n",
"model.fit(X=train_iter,\n",
" eval_data=test_iter,\n",
" batch_end_callback = mx.callback.Speedometer(batch_size, batch_size*2))"
]
},
{
"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.12"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment