Skip to content

Instantly share code, notes, and snippets.

@JironBach
Created February 14, 2017 20:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JironBach/96c129f3d7d2146aab4d34cf1d353845 to your computer and use it in GitHub Desktop.
Save JironBach/96c129f3d7d2146aab4d34cf1d353845 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## load_mnist"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" \n",
" \n",
" \n",
" \n",
" \n",
" ++ +** \n",
" ++******+**+ \n",
" ********** \n",
" ******++** \n",
" + *** + \n",
" +* \n",
" +*+ \n",
" +* \n",
" **+ \n",
" *** \n",
" +**+ \n",
" **+ \n",
" *** \n",
" ++*** \n",
" +*****+ \n",
" *****+ \n",
" *****+ \n",
" +*****+ \n",
" +******+ \n",
" +****++ \n",
" \n",
" \n",
" \n",
"correct = 5\n",
"--------------------------------\n",
" \n",
" \n",
" \n",
" \n",
" +*+ \n",
" ***** \n",
" ****** \n",
" ****+ ** \n",
" +****** +*+ \n",
" ***+ ** *+ \n",
" ***+ ** \n",
" +*** **+ \n",
" +** **+ \n",
" ** **+ \n",
" +*+ **+ \n",
" ** **+ \n",
" ** +*+ \n",
" ** +** \n",
" *+ +*+ \n",
" ** **+ \n",
" **+ +***+ \n",
" ********++ \n",
" +******+ \n",
" +***+ \n",
" \n",
" \n",
" \n",
" \n",
"correct = 0\n",
"--------------------------------\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" * \n",
" + \n",
" + +* \n",
" *+ *+ \n",
" *+ +* \n",
" *+ +* \n",
" *+ ** \n",
" +* +** \n",
" +* +** \n",
" +* ++***+** \n",
" +*********++ ** \n",
" +++++ ** \n",
" +*+ \n",
" +* \n",
" +* \n",
" +* \n",
" +* \n",
" +*+ \n",
" +*+ \n",
" *+ \n",
" \n",
" \n",
" \n",
"correct = 4\n",
"--------------------------------\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" ** \n",
" *** \n",
" *** \n",
" *** \n",
" *** \n",
" +**+ \n",
" *** \n",
" *** \n",
" **+ \n",
" **+ \n",
" ***+ \n",
" +*** \n",
" ***+ \n",
" ***+ \n",
" *** \n",
" +*** \n",
" ***+ \n",
" *** \n",
" *** \n",
" +** \n",
" \n",
" \n",
" \n",
"correct = 1\n",
"--------------------------------\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" +*** + \n",
" ***+****+ \n",
" **+ +** \n",
" **+ *** \n",
" +**+ *** \n",
" **+ **+ \n",
" **+ +**+ \n",
" ** +**** \n",
" ********** \n",
" ***+ +*+ \n",
" ** \n",
" ** \n",
" ** \n",
" ** \n",
" ** \n",
" ** \n",
" ** \n",
" *+ \n",
" +*+ \n",
" +* \n",
" \n",
"correct = 9\n",
"--------------------------------\n"
]
}
],
"source": [
"#!/usr/bin/env python\n",
"# -*- coding: utf-8 -*-\n",
"\n",
"import cPickle, gzip, numpy, sys\n",
"\n",
"start = 0\n",
"end = 4\n",
"\n",
"for index in range(start, end + 1):\n",
" data_index=index\n",
" f=gzip.open('./neural-networks-and-deep-learning/data/mnist.pkl.gz','rb')\n",
" train_set, valid_set, test_set=cPickle.load(f)\n",
" train_set_x, train_set_y=train_set # setの中身が\n",
" for i in range(data_index,data_index+1):\n",
" for y in range(0,28):\n",
" for x in range(0,28):\n",
" if train_set_x[i][y*28+x]<0.5:\n",
" sys.stdout.write(\" \")\n",
" elif train_set_x[i][y*28+x]<0.8:\n",
" sys.stdout.write(\"+\")\n",
" else:\n",
" sys.stdout.write(\"*\")\n",
" sys.stdout.write(\"\\n\")\n",
" print \"correct =\",train_set_y[i]\n",
" print \"--------------------------------\"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## [手書き数字データ MNIST の取り扱い方](http://www.cs.miyazaki-u.ac.jp/~date/lectures/mneuro/mnist/index.html)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3\n"
]
},
{
"data": {
"image/png": "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\nAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd34fa246d0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"5\n"
]
},
{
"data": {
"image/png": "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\nQ9lfAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd35010cf50>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd350256bd0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"6\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAaMAAAFfCAYAAADjxaOWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3X+cHWV59/HPF4xogkDLClFSJYgBogIRAWNFMRFReMCi\nfYwIVYgWU1NrYy0IVUMD6CM8RJvqVvwBSYrQJ0WBUIFIKD8exCQ0BRQkiBh+BMiSGH4ngSR79Y+Z\nDbsn5+zOzJ6TObP7fec1Lzmz1z1zjwf2yn3PNfcoIjAzMyvTDmV3wMzMzMnIzMxK52RkZmalczIy\nM7PSORmZmVnpnIzMzKx0TkZmZlY6JyMzMyudk5GZmZXuFWV3QNLuwNHAQ8DGcntjZtYUrwL2BhZF\nxB+afXBJbwA6BnGItRHxSLP60wwtS0aSpgNfAkYDdwOfj4g76oQeDfy4Vf0wMyvRScBlzTygpDeM\nHDny4fXr1w/mMOslHdBOCaklyUjSFOBC4DRgGTADWCRpXESsrQl/qBV9MDNrAw+14Jgd69ev59JL\nL+WAAw7I3fi+++7j5JNPHkkyshrayYgk+VwUEfMBJE0DjgWmAufXxHpqzsyGqpb9ftt///2ZMGFC\n7nbtujh20wsYJI0ADgFu7NkXydUvBiY2+3xmZsNRd0ThrR21opquA9gR6KrZ30Vy/8jMzKyP7VlN\nJ6A9U7KZWcVERKEpt3adpmtFMloLbAH2rNm/B9uOlszMrJAgCv39vj2TUdOn6SJiE7AcmNyzT5LS\nz7c3+3xmZsNRdxTf2lGrpulmA/MkLefl0u6RwNwWnc/MbFgJik25tWkuak0yiogFkjqAWSTTdXcB\nR0fEmlacz8xsuClaGdeu1XQtK2CIiE6gs1XHNzOzoaP0tenMzKyAgtV0DLeRkZmZtY5Lu83MrHS+\nZ2RmZqXzyMjMzNpCsYde25Pf9GpmZqXzyMjMrIK6KbaaQnfTe9IcTkZmZhXke0ZmZla6KFhN52Rk\nZmZN45GRmdU1duyBmWOvuuU/Mse+YofsdUZvGTMmc6xZO3EyMjOrII+MzMysdEk1XYEVGJrflabw\nc0ZmZlWUjozyblkWSpU0XdJKSRskLZF0aD+xr5D0NUm/S+PvlHR03stxMjIzq6AYxJ/+SJoCXAjM\nBCYAdwOL0nfU1XMe8JfAdOAA4CLgSkkH5bkeJyMzswpq4WvHZwAXRcT8iFgBTAPWA1MbxJ8MnBcR\niyLioYj4HnAt8Hd5rsfJyMzMAJA0AjgEuLFnXyQVD4uBiQ2a7QS8WLNvA/DuPOd2MjIzq6Ai94sy\nVOB1ADsCXTX7u4DRDdosAr4oaV8ljgI+Arwuz/U4GZmZVVELCxjqEDS82fQF4AFgBckIaQ5wMbAl\nzwlc2m1mVkFZSrsX/vSnXHPllX32Pffss/01WUuSRPas2b8H246WAIiItcBHJL0S2D0inpD0f4CV\n/XauhpORmVkFZXno9bgTTuC4E07os++eX/2KDx91VKNjbpK0HJgMLASQpPTznAH68xLwRHrf6aPA\nv2W7koSTkVk/zp4zN3Ps1E/8r8yxo3fbLXPs3EU3Dhxkw04LF0qdDcxLk9Iykuq6kcBcAEnzgVUR\ncVb6+TBgL+AuYAxJSbiAC/L0y8nIzMy2iogF6TNFs0im6+4Cjo6INWnIGGBzryavAs4FxgLPAz8D\nTo6IfucDazkZmZlVUCvXpouITqCzwc8m1Xy+FXhL7o7UcDIyM6ugLKspNGrXjpyMzMwqKONqCnXb\ntSMnIzOzimrX10EU4WRkZlZBQ+19Rl6BwczMSueRkZlZBXUXfM6oSJvtwcnIzKyChto0nZORmVkV\nFUxGBRdKbTknI6u8jo4xmWN/cP1VuY593IQJmWPzTH/cdv/9mWNPP+mTmWNt+MiyUGqjdu3IBQxm\nZlY6j4zMzCrIKzCYmVnpouAKDG16y8jJyMysilxNZ2ZmpXMyMjOz0g21h15dTWdmZqXzyMjMrKLa\ndcqtCCcjM7MK8j0jMzMr3VC7Z+RkZGZWQX7odQCSZgIza3aviIjxzT6XDV1jxx6YOfaszgszxx57\n8MFFupPJX3/x/Myxv1q2NHPs0093FemODXGtfOhV0nTgS8Bo4G7g8xFxRz/xfwtMA94ArAWuAM6M\niBez9qtVI6N7gMmA0s+bW3QeMzNrIklTgAuB04BlwAxgkaRxEbG2TvwngG8ApwC/BMYB80jWZP1S\n1vO2Khltjog1LTq2mdmw18IChhnARRExH0DSNOBYYCpQb/g/EbgtIv5f+vkRSZcDh+XpV6ueM3qz\npMckPSjpUkl/0qLzmJkNS8HLCSnX1s8xJY0ADgFu3HqeJHstJkk69dwOHCLp0PQY+wDHAD/Lcz2t\nGBktIRmu3Q+8DjgbuFXSWyPihRacz8xs2GlRNV0HsCNQe6OyC9ivXoOIuFxSB3CbJKXtvxcR38zT\nr6Yno4hY1OvjPZKWAQ8DHwMuafb5zMyGpe37pldB/UGVpCOBs0gKGJYB+wJzJD0REedmPUHLS7sj\n4hlJvyXpoJmZNUGWe0b/ee213HTddX32vfDcc/01WQtsAfas2b8H246WeswC5kdEz2DjXkk7AxcB\n7ZOM0k69CZjf6nOZmdnLJh1zDJOOOabPvgd+8xs+N2VK3fiI2CRpOUk19EKAdOptMjCnwWlGsu3b\nzLvTpoqMw7dWPGd0AXANydTcXsA/kpR2X97sc5mZDVctXIFhNjAvTUo9pd0jgbkAkuYDqyLirDT+\nGmCGpLuApcCbSUZLV2dNRNCakdEY4DJgd2ANcBvwzoj4QwvOZWY2LAXFVlMYqEVELEgLEmaRTNfd\nBRzd63GdMfR9dvQckpHQOSQDkDUko6qv5OlXKwoYTmz2Mc3MbFutWmYuIjqBzgY/m1TzuScRnTOY\nc3ptOmtLu+1We/+0sU8d9b4W9iS7J1Y+njl2yZKrW9gTGw6G2kKpfrmemZmVziMjM7MK8vuMzMys\ndFFwms7JyMzMmsYjIzMzK13PQqlF2rUjJyMzswpyNZ2ZmVmTeWRkZlZJUWgFhnadqHMyMjOroIhi\nKzC06Sydk5GZWRUNtXtGTka23Ywde2Dm2LlX/yhz7A5Ske5k8qEPfjpz7A03zG1ZP8xqubTbzMxK\nFxQb5bRnKnI1nZmZtQGPjMzMKsjTdGZmVjonIzMzK98Qq+12MjIzq6DoDqK7wMioQJvtwcnIzKyi\n2nSQU4ir6czMrHQeGZmZVdBQK2DwyMjMrIKS+oUosA18bEnTJa2UtEHSEkmH9hN7k6TuOts1ea7H\nIyPbbk745Gcyxx7w+tdnjp17w02ZY//hU9n7ANDV9VCueLPtpVUjI0lTgAuB04BlwAxgkaRxEbG2\nTpMTgFf2+twB3A0syNMvj4zMzCooIrZW1OXaBk5gM4CLImJ+RKwApgHrgakN+vF0RDzZswEfAF4A\nrshzPU5GZmYGgKQRwCHAjT37Islei4GJGQ8zFbg8IjbkOben6czMqqjgNN0AN406gB2Brpr9XcB+\nAx1a0mHAW4BT83bLycjMrIK2czWdyLbg96eBeyJied4TOBmZmVVRMOBTr0tv+k+W3ty3wGfD88/3\n12QtsAXYs2b/Hmw7WupD0quBKcBX+u1UA05GZmYVlGVpusOOnMRhR07qs+/hBx7gnM//VYNjxiZJ\ny4HJwEIASUo/zxmgS1NIqup+nKH723AyMjOroJ5quiLtBjAbmJcmpZ7S7pHAXABJ84FVEXFWTbtP\nA1dFxFO5O4WTkZmZ9RIRCyR1ALNIpuvuAo6OiDVpyBhgc+82kt4MvAs4quh5nYzMzCqolQUMEdEJ\ndDb42aQ6+x4gqcIrzMnIzKyKWlPaXRonIxuUq5dnr+B83/jxmWPvXbUqc+y502ZkjvXyPjZUDLWF\nUp2MzMwqKKnsLpCMmt+VpnAyMjOrou5ItiLt2pDXpjMzs9J5ZGRmVkG+Z2RmZqXLsgJDo3btyMnI\nzKySCpZ2t2kJg5ORmVkFDbVpOhcwmJlZ6TwyMjOroOim2EKp3S3oTBM4GZmZVdBQm6ZzMrJtHHXU\nKZljjz344Myx3Tn+I7j8X3+WOXbjxhcyx5oNFVGwgCHatIAh9z0jSUdIWijpMUndko6vEzNL0uOS\n1ku6QdK+zemumZnByyOjIls7KlLAMIrk/RbTqVMjKOkM4K+BzwKHAS8AiyS9chD9NDOz3noeNCqy\ntaHc03QRcT1wPWx9HW2tLwDnRMQ1acwnSd6d/mfAguJdNTOzoaqppd2SxgKjgRt79kXEs8BSYGIz\nz2VmNqx191TU5dsYJtV0o0mm7rpq9nelPzMzsybwKySKEe37/4GZWeUMtdLuZq/AsJok8exZs38P\nth0tmZlZQa6m60dErCRJSJN79knaBTgcuL2Z5zIzG85amYwkTZe0UtIGSUskHTpA/K6Svps+0rNB\n0gpJH8xzPbmn6SSNAvYlGQEB7CPpIGBdRDwKfBv4iqTfAQ8B5wCrgKvznsvMzLYvSVOAC4HTgGXA\nDJLHc8ZFxNo68SOAxSQDkY8AjwNvBJ7Oc94i94zeAdxEev8s7TTAPGBqRJwvaSRwEbAb8P+BD0XE\nSwXOZWZm9UQUWpsuw3NGM4CLImI+gKRpwLHAVOD8OvGfJvld/86I2JLueyRvt4o8Z3QLA0zvRcTZ\nwNl5j22ts8trds8ce+j739XCnmTzzNpnM8euXv37FvakNU497ezMsa970+tb0oevn3FaS45r20lS\nTlesXQPpKOcQ4OtbwyNC0mIaP55zHPBLoFPSh4E1wGXANyOyL8vqtenMzCqoRdV0HcCO1H88Z78G\nbfYBJgGXAh8C3gx0psc5N2u/nIzMzCpoO792vL/Hc3YgSVanRZLp7pS0F/AlnIzMzIa2LCOju5fd\nzt3L+hYyb9ywvr8ma4Et5Hs85wngpejbmfuA0ZJeERGb++1kysnIzGyIOuiwd3HQYX3vAT/28Eq+\ne94/1I2PiE2SlpM8nrMQtq5BOhmY0+A0vwBOrNm3H/BE1kQEfu24mVklRVpNl3sbeJ5uNnCapE9K\n2h/4HjASmAsgab6kr/eK/xdgd0n/JOnNko4FzgS+k+d6PDIyM6uioqspDNAmIhZI6gBmkUzX3QUc\nHRFr0pAxwOZe8askfQD4FnA38Fj6z/XKwBtyMjIzq6CkgKFINV2WmOgkqYir97NJdfYtBQb1TIiT\nkZlZBXmhVDMzsybzyMjMrIKCgiOjNn2bj5PRMLGlO3OFJW97z1szx+64Q47BdXf2V0wuu+XGgYO2\ng09/7pzMsXl+MXzhzFMyx75lr70yx+Zx3ul/mTl29OixmWO7uh4q0BvLrTuSrUi7NuRkZGZWQdt5\nBYaWczIyM6uiFpV2l8XJyMysglpZ2l0GV9OZmVnpPDIyM6ugnuWAirRrR05GZmYVNNQeenUyMjOr\nICcjMzMr3xCr7XYyMjOrqHYd5RThajozMyudR0bDxOGHH5c59qOHHpY5dkuOJX7ue/yxzLFPPd3o\nDceDM/6AfKvcH/rBQzPHTj3m/Xm7k8kz6/t9TXQf969enTn2sH32yRz7g+t+kjn2r477eObYxx57\nIHOs9RXdyVakXTtyMjIzqyAXMJiZWemcjMzMrHR+hYSZmZVviC2U6mo6MzMrnZORmVkFJdV0UWAb\n+NiSpktaKWmDpCWSGpaVSvqUpG5JW9L/7ZaUvQQ05Wk6M7MKalUBg6QpwIXAacAyYAawSNK4iFjb\noNkzwDhAPafJ2y+PjMzMKileXhIozzZwnpgBXBQR8yNiBTANWA9M7a8zEbEmIp5MtzV5r8bJyMys\ngorkoYGWs5M0AjgEuPHl80QAi4GJ/XRnZ0kPSXpE0lWSxue9HicjMzPr0QHsCNQugdIFjG7Q5n6S\nUdPxwEkkeeV2SXvlObHvGVXYqFG7Zo79k33e1JI+/P7JJzPHXvz9KzPHPvTQrzPHjh17YObY0752\neuZYgM8ce1Tm2FXr1mWOvfKG2zLH/uDc/5s59jWv+aPMsb+4/erMsR2v2SVzrG0f2/mhV9Fgfi8i\nlgBLtgZKvwTuI7nnNDPrCZyMzMyqqHvgN72uuHc5v733v/vse3Hjhv6arAW2AHvW7N+DbUdLdUXE\nZkl3Avtmie/hZGRmVkFZVmDYb/zb2W/82/vse3L1o1x+8ez6x4zYJGk5MBlYCCBJ6ec5WfolaQfg\nrcC1WeJ7OBmZmVVQUoxQZJpuwJDZwLw0KfWUdo8E5gJImg+sioiz0s9fJZmm+x2wG3A68Ebgh3n6\n5WRkZlZBrbpnFBELJHUAs0im6+4Cju5Vrj0G2NyryR8B3ycpcHgKWA5MTMvCM3MyMjOzPiKiE+hs\n8LNJNZ+/CHxxsOd0MjIzq6KBHhrqr10bcjIyM6ugiIGr6Rq1a0dORmZmVVRwYNSmrzNyMjIzqyK/\n6dXMzErXwtLuUnhtOjMzK13ukZGkI4C/J1nZ9XXAn0XEwl4/vwT4VE2z6yPimMF01Lb1jnd8KHPs\nD7731Zb04TtzLs8cO+cb2as/OzrGZI49q/PCzLGfOup9mWMB1j3/fObYef+W/YHz8/7us5lj9977\nbZlj/+nH38ocm+fabrj+9syxjz32QOZYK87TdDCK5CGoi4GfNIi5DjiFl1+09GKB85iZWQPDvpou\nIq4HroetaxbV82KRlyuZmVlGBUdG7XrTqFX3jI6U1CVphaROSX/covOYmQ1PrXi7XolaUU13Hcn0\n3UrgTcA3gGslTYx2HR+amVXMUKuma3oyiogFvT7eK+nXwIPAkcBNzT6fmZlVX8tLuyNiJckLm3K9\naMnMzBoLCs7Sld3xBlr+0KukMcDuwBOtPpeZ2XARGd702qhdOyrynNEoklFOTyXdPpIOAtal20yS\ne0ar07hvAr8FFjWjw2Zm5ueMAN5Bcu8n0q3nicN5wOeAA4FPkrzx73GSJPS1iNg06N6amRngZERE\n3EL/95o+WLw7ZmY2HHmh1Ao7YMJBZXch1xI/efzg+qsyxx578MEt6QPAcR84KXPs0qX/kTl2woSj\nsh/3jusyx+Zx9oUXZ479+hmntaQPNhgFH3pt0xIGJyMzswryc0ZmZla6oVZN51dImJlVUQuXA5I0\nXdJKSRskLZF0aJYuSfq4pG5JP817OU5GZmYV1KpcJGkKSZX0TGACcDewSFLHAO3eCFwA3FrkepyM\nzMystxnARRExPyJWANOA9cDURg0k7QBcCnyNZF3S3JyMzMwqKNJqutxbP9V0kkaQvDj1xq3nSaok\nFgMT++nOTODJiLik6PW4gMHMrIpa8z6jDmBHoKtmfxewX70Gkv4UOBUY1LMmTkZmZhUU3cUq46K7\n0OlEnQeUJO0M/CvwlxHxVKEjp5yMzMwqKMtyQA+tvJdHHvpNn30vbXqxvyZrgS3AnjX792Db0RIk\n76x7I3BNrzd/7wAg6SVgv/TNDQNyMjIzq6DIsALDG/cezxv3Ht9n37p1q/n5dXPrHzNik6TlwGRg\nIUCaZCYDc+o0uQ94W82+84Cdgb8BHh3oOno4GVXYLrvvkjl2h61/aRnYD392Q5HuDGj8Ae/KHPvW\nMWMyx+a5ttOmn5s5FvIt8TN27IGZY+de/aPMsa26vou/NzNzrA0rs4F5aVJaRlJdNxKYCyBpPrAq\nIs6KiJeAPkMvSU+T1D3cl+ekTkZmZhXUqlW7I2JB+kzRLJLpuruAoyNiTRoyBtic+8QDcDIyM6ui\njKsp1G03YEh0Ap0NfjZpgLan5u+Uk5GZWTV1F6yMK1ZN13JORmZmFRQUXLW7+V1pCicjM7MKGmpv\nevVyQGZmVjqPjMzMKmiojYycjMzMKsjJyMzMyhfF3vTaru8ddzIyM6uipJyuWLs25GQ0THTn+Je2\nHYbxW7qzPwyR59r2P/yAXP2476uPZY4dtdNOmWN//WjmJbv4wKHvyRz73HPrMseatRMnIzOzCgr6\nf1Fef+3akZORmVkFuYDBzMxKF9FNFFgPqEib7cHJyMysgpJ1UouMjFrQmSZwMjIzq6Ri03TtWk7n\n5YDMzKx0HhmZmVWQCxjMzKx0LmAwM7PyeQUGMzMrmx96tbZxw0+vyhx77pmfzRz76WOPyhz7/QnZ\nY8e/7dDMsX88alTm2Dz+9i8+kit+Bylz7Kp12ZfiuWDGBZlju7oeyhxrw8dQu2fkajozM+tD0nRJ\nKyVtkLREUsO/SUo6QdIdkp6S9LykOyWdnPecTkZmZpUUW0dHebaBbhpJmgJcCMwEJgB3A4skdTRo\n8gfgXOCdwNuAS4BLJGWfNsHJyMysknqq6YpsA5gBXBQR8yNiBTANWA9Mrd+PuDUiro6I+yNiZUTM\nAX4FvDvP9TgZmZlVUM9yQPm3xseUNAI4BLjx5fNEAIuBiVn6JWkyMA64Jc/1uIDBzKyCWlTA0AHs\nCHTV7O8C9mvUSNIuwGPATsBm4HMR8Z95+uVkZGZWQdu5mk70f7PpOeAgYGdgMvAtSb+PiFuznsDJ\nyMxsiFq9eiVdXSv77Nu8+aX+mqwFtgB71uzfg21HS1ulU3m/Tz/+StJ44EzAycjMbGiLAVdgGL3n\n3ozec+8++5597g/ccce19Y8YsUnScpLRzUIASUo/z8nRuR1IpuwyczIyM6ukICiyztyA03SzgXlp\nUlpGUl03EpgLIGk+sCoizko/fxn4L+BBkgR0LHAySRVeZk5GZmYV1Kp7RhGxIH2maBbJdN1dwNER\nsSYNGUNSpNBjFPDddP8GYAVwUkRckadfuZKRpDOBE4D905PeDpwREb/tFbMTSWadQpIlF5FUVjyZ\n51w2sE2bXswc+9yGDZljX/PqV2eOveO/rs8c292my5D0Z93zz2eOnfdv9ac+6rn55suKdMdsq1YW\nMEREJ9DZ4GeTaj5/Ffhq7o7UyPuc0RHAPwOHA+8HRgA/l9T7t9e3SYZpHwXeA7we+MlgO2pmZkNX\nrpFRRBzT+7OkU4AnSR6Sui2tNZ8KfDwibkljTgXuk3RYRCxrSq/NzIY5L5Ta124kd8N6lis+hCTB\n9X56937gETI+vWtmZgNLklGR5YDaMxkVLmBIy/2+DdwWEb9Jd48GXoqIZ2vCu9KfmZlZUxQbGbXr\n2/UGU03XCYwn22J4Az29a2ZmOQy1abpCyUjSd4BjgCMi4vFeP1oNvFLSLjWjo36f3jUzs5xi4Ide\nG7ZrQ7nvGaWJ6MPA+yLikZofLyepP5/cK34c8Abgl4Pop5mZDWF5nzPqBE4EjgdekNSzftEzEbEx\nIp6V9CNgtqSnSBbPmwP8wpV0ZmbNE+mfIu3aUd5pumkk935urtl/KjA//ecZJAvtXUHy0Ov1wPTi\nXTQzs1o91XRF2rWjvM8ZDTitFxEvAp9PNzMzawEXMFjbuOeezKuz8+fHZ1+z8DPnfC5z7JSJ78wc\n2yrfmp99gY/7l63Idex777wjc+zSpf+R69hmg+PSbjMzK9lQGxkNdgUGMzOzQfPIyMysgoZ1AYOZ\nmbWHoTZN52RkZlZFQ2wFBicjM7MKGu4PvZqZWZto1ym3IlxNZ2ZmpfPIyMysgnpellekXTvyyMjM\nrIJ6qumKbAORNF3SSkkbJC2RdGg/sZ+RdKukdel2Q3/xjXhkNEzcdNOPs8e+O3vsSUU6Y2aD1qrS\nbklTgAuB04BlJItfL5I0LiLW1mnyXuAy4HZgI/Bl4OeSxkfEE1n75ZGRmVkFJZXdRUZGAx56BnBR\nRMyPiBUkb2tYD0yt34/4i4j4XkT8KiJ+C3yGJLdMrhffiJORmZkBIGkEcAhwY8++SIZSi4GJGQ8z\nChgBrMtzbk/TmZlVUIum6TqAHYGumv1dwH4ZT/FN4DGSBJaZk5GZWSV1Q6HKuELVdCLDuyckfRn4\nGPDeiHgpzwmcjMzMKmngFRiefvpJnn76yT77tmzZ3F+TtSRv6t6zZv8ebDta6kPSl4DTgckRcW+/\nHavDycjMrIJ6Chj6s+uur2XXXV/bZ9+GDc/z4IN3NjhmbJK0nKT4YCGAJKWf5zQ6j6S/B84CPhAR\n9Q8+ACcjM7MKauGq3bOBeWlS6intHgnMBZA0H1gVEWeln08HZgEnAo9I6hlVPR8RL2Ttl5ORmZlt\nFRELJHWQJJg9gbuAoyNiTRoyBug91/dXJNVzV9Qc6h/TY2TiZGRmVkGtXA4oIjqBzgY/m1TzeWzu\nTtThZGRmVkF+uZ6ZmbWFdk0sRTgZmZlVkEdGZmZWviH22nGvTWdmZqXzyMjMrIKCbqLA0j5F2mwP\nTkZmZhWUZQWGRu3akZORmVkFuYDBzMzaQLFklGHx7VK4gMHMzErnkZGZWQW1cjmgMjgZmZlVkO8Z\nmZlZ6VxNZ2Zm5RtiKzA4GZmZVVBkeO14o3btyNV0ZmZWOo+MzMwqqVg1HV4OyMzMmsUFDGZmVjqX\ndpuZWemGWjJyAYOZWQX1JKMi20AkTZe0UtIGSUskHdpP7HhJV6Tx3ZL+psj1OBmZmdlWkqYAFwIz\ngQnA3cAiSR0NmowEHgTOAJ4oel4nIzOzSoqt69Pl2TKs2j0DuCgi5kfECmAasB6YWrcXEf8VEWdE\nxALgpaJX42RkZlZFPSswFNkakDQCOAS48eXTRACLgYmtvJxcyUjSmZKWSXpWUpekKyWNq4m5OZ03\n7Nm2SOpsbrfNzIa3GMSffnQAOwJdNfu7gNGtuhbIPzI6Avhn4HDg/cAI4OeSXt0rJoDvA3uSdP51\nwOmD76qZmfVoZQFDHaLFb+XLVdodEcf0/izpFOBJkmHdbb1+tD4i1gy6d2ZmVleSWPpfTWHjxhfY\nuHF9Tbt+26wFtpAMJnrbg21HS0012HtGu5Fky3U1+0+StEbSryV9vWbkZGZm28GrXjWK3XZ7bZ9t\n553/qGF8RGwClgOTe/ZJUvr59lb2tfBDr2kHvw3cFhG/6fWjHwMPA48DBwLnA+OAPx9EP83MrJcW\nPvQ6G5gnaTmwjKS6biQwF0DSfGBVRJyVfh4BjCeZynslsJekg4DnI+LBrP0azAoMnWkH/rT3zoj4\nYa+P90paDSyWNDYiVg7ifGZmtlXR+z/9t4mIBekzRbNIpuvuAo7udetlDLC5V5PXA3f2OvCX0u0W\nYFLWXhUynk0YAAAHcklEQVRKRpK+AxwDHBERAz3ktJQkY+4LOBmZmTVBK5cDiohOkgFHvZ9Nqvn8\nME14TCh3MkoT0YeB90bEIxmaTCDJmIWfzDUzs76G2tp0uZJR+rzQicDxwAuSeiounomIjZL2AT4B\nXAv8ATiIZP7xloi4p3ndNjOzoSTvyGgaySjn5pr9pwLzSZaCeD/wBWAU8Cjw78B5g+qlmZn1FQFF\nXq43FEZGEdHvvGBErAKOHEyHzMxsYBlWU2jYrh35fUZmZhU0rO8ZmZlZu2hNaXdZnIzMzCooy3JA\njdq1I79CwszMSueRkZlZBfmekZmZlc7JyMzMSudkZGZm7aFNE0sRTkZmZpXUTaBC7dqRq+nMzKx0\nHhmZmVWQ7xmZmVnpnIzMzKx0EcUSS5vmIicjM7Mq8sjIzMzaQHfBUY6r6czMzOpyMjIzq6Ceaboi\n20AkTZe0UtIGSUskHTpA/P+WdF8af7ekD+W9HicjM7MqCnqqGHJu/R9W0hTgQmAmMAG4G1gkqaNB\n/ETgMuAHwMHAVcBVksbnuRwnIzOzCopB/BnADOCiiJgfESuAacB6YGqD+C8A10XE7Ii4PyJmAv8N\n/HWe63EyMjOroIjuwlsjkkYAhwA3vnyeCGAxMLFBs4npz3tb1E98XU5GZmbWowPYEeiq2d8FjG7Q\nZnTO+LraobT7VWV3wMysRVr2+63oc0YFiQHvNg0qvi1GRnuX3QEzsxbZuwXHXEtyD2cwXkyPU+/Y\nW4A9a/bvwbajnx6rc8bX1Q4jo0XAScBDwMZyu2Jm1hSvIklEi5p94Ih4RNIBJFNqRa2NiEfqHHuT\npOXAZGAhgCSln+c0ONYv6/z8qHR/ZmrXpSHMzGz7k/QxYB7wWWAZSXXdnwP7R8QaSfOBVRFxVho/\nEbgF+DLwM+DE9J/fHhG/yXredhgZmZlZm4iIBekzRbNIpt/uAo6OiDVpyBhgc6/4X0o6ETgv3R4A\nPpwnEYFHRmZm1gbaoYDBzMyGOScjMzMrXVsmo7yL9FWFpJmSumu2XPOq7ULSEZIWSnosvY7j68TM\nkvS4pPWSbpC0bxl9LWKg65N0SZ3v8tqy+puVpDMlLZP0rKQuSVdKGlcTs5Ok70paK+k5SVdI2qOs\nPueR8fpurvnetkjqLKvPlmi7ZJR3kb4KuofkpuDodHt3ud0pbBTJjc3p1Hm4TdIZJGtTfRY4DHiB\n5Ht85fbs5CD0e32p6+j7XZ64fbo2KEcA/wwcDrwfGAH8XNKre8V8GzgW+CjwHuD1wE+2cz+LynJ9\nAXyfl7+71wGnb+d+Wo22K2CQtARYGhFfSD8LeBSYExHnl9q5QZI0k6TK5O1l96WZJHUDfxYRC3vt\nexy4ICK+lX7eheQhuE9FxIJyelpMg+u7BNg1Ij5SXs8GL/1L3pPAeyLitvR7WgN8PCKuTGP2A+4D\n3hkRy8rrbX6115fuuwm4MyK+WGrnrI+2GhkVXKSvat6cTv08KOlSSX9SdoeaTdJYkr9x9v4enwWW\nMnS+R4Aj06mgFZI6Jf1x2R0qYDeSkcK69PMhJI989P7u7gceoZrfXe319ThJ0hpJv5b09ZqRk5Wg\n3Z4z6m+Rvv22f3eabglwCnA/ydTA2cCtkt4aES+U2K9mG03yC2DQiye2setIpq5WAm8CvgFcK2li\ntNt0QwPprMO3gdt6PRMyGngp/ctDb5X77hpcH8CPgYeBx4EDgfOBcSQPdlpJ2i0ZNZJ70b12FBG9\nlwa5R9Iykv8oPgZcUk6vtqsh8T1C8mBgr4/3Svo18CBwJHBTKZ3KrxMYT7b7llX87nqu709774yI\nH/b6eK+k1cBiSWMjYuX27KC9rK2m6Si2SF9lRcQzwG+BylSZZbSa5JfXsPgeAdJfYmupyHcp6TvA\nMcCREfF4rx+tBl6Z3jvqrVLfXc31PTFA+FKSf18r8d0NVW2VjCJiE9CzSB/QZ5G+28vqV6tI2plk\nimeg/1gqJf3FvJq+3+MuJBVOQ+57BJA0BtidCnyX6S/qDwPvq7NY5nKSpV56f3fjgDeQc+HLsgxw\nffVMIBn1tf13N5S14zTdbGBeunJszyJ9I4G5ZXaqGSRdAFxDMjW3F/CPJP/hX15mv4qQNIrkb5JK\nd+0j6SBgXUQ8SjJX/xVJvyNZkf0cYBVwdQndza2/60u3mST3jFancd8kGeU2fZXmZkqfpzkROB54\nQVLP6PWZiNgYEc9K+hEwW9JTwHMkqzH/ogqVdANdn6R9gE8A1wJ/AA4i+Z1zS0TcU0afLdXzgqZ2\n2oDPkfwC20Dyt7F3lN2nJl3X5SS/kDeQVCddBowtu18Fr+W9QDfJtGrv7eJeMWeT3CReT/JLet+y\n+92M6yN5PcD1JIloI/B74F+A15bd7wzXVe+atgCf7BWzE8mzOmtJktG/A3uU3fdmXB/JIp83k5Sv\nrycpJvoGsHPZfR/uW9s9Z2RmZsNPW90zMjOz4cnJyMzMSudkZGZmpXMyMjOz0jkZmZlZ6ZyMzMys\ndE5GZmZWOicjMzMrnZORmZmVzsnIzMxK52RkZmalczIyM7PS/Q8ZvW5Jthcw8gAAAABJRU5ErkJg\ngg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd34f9d8e10>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n"
]
},
{
"data": {
"image/png": "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\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fd34f8dcf50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#!/usr/bin/env python\n",
"# -*- coding: utf-8 -*-\n",
"\n",
"import matplotlib\n",
"\n",
"import pylab as pl, numpy as np\n",
"#-----\n",
"# way1 from : http://stackoverflow.com/questions/2801882/generating-a-png-with-matplotlib-when-display-is-undefined\n",
"# Force matplotlib to not use any Xwindows backend.\n",
"matplotlib.use('Agg')\n",
"# way2 from : http://stackoverflow.com/questions/19518352/tkinter-tclerror-couldnt-connect-to-display-localhost18-0\n",
"#matplotlib.use('pdf')\n",
"#import matplotlib.pyplot as plt\n",
"#-----\n",
"\n",
"import cPickle, gzip\n",
"\n",
"mnist = cPickle.load(gzip.open(\"./neural-networks-and-deep-learning/data/mnist.pkl.gz\", \"rb\"))\n",
"\n",
"start = 10\n",
"end = 15\n",
"\n",
"for index in range(start, end):\n",
" # mnistデータから1枚持ってくる\n",
" a_digit = mnist[0][0][index]\n",
" # 答えを出力\n",
" print mnist[0][1][index]\n",
"\n",
" # 1次元なので,2次元のリストに変換\n",
" arr = []\n",
" for i in range(28):\n",
" arr.append(a_digit[(i*28):(i*28)+28])\n",
"\n",
" # オフスクリーンにプロット\n",
" pl.imshow(arr, interpolation='nearest', cmap='bone', origin='lower')\n",
" #pl.colorbar(shrink=.92)\n",
" pl.colorbar()\n",
"\n",
" # 軸の反転\n",
" ax = pl.gca()\n",
" #ax.invert_xaxis()\n",
" ax.invert_yaxis()\n",
"\n",
" # 表示\n",
" pl.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## MNIST入門"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Extracting ./mnist/MNIST_data/train-images-idx3-ubyte.gz\n",
"Extracting ./mnist/MNIST_data/train-labels-idx1-ubyte.gz\n",
"Extracting ./mnist/MNIST_data/t10k-images-idx3-ubyte.gz\n",
"Extracting ./mnist/MNIST_data/t10k-labels-idx1-ubyte.gz\n",
"0.9114\n"
]
}
],
"source": [
"#!/usr/bin/env python\n",
"# -*- coding: utf-8 -*-\n",
"\n",
"import tensorflow as tf\n",
"\n",
"# 入力\n",
"import input_data\n",
"#MNISTの784ピクセルのグレースケール値。\n",
"mnist = input_data.read_data_sets('./mnist/MNIST_data/', one_hot=True)\n",
"x = tf.placeholder('float', [None, 784]) #入力xxを格納するplaceholder\n",
"\n",
"# 重み・バイアス\n",
"#tf.zerosにより、ゼロで初期化\n",
"#tf.Varibleにより、計算途中でmodifiableな変数として定義\n",
"W = tf.Variable(tf.zeros([784, 10]))\n",
"b = tf.Variable(tf.zeros([10]))\n",
"\n",
"# 出力: 0-9のClass\n",
"y = tf.nn.softmax(tf.matmul(x, W) + b)\n",
"\n",
"# 誤差関数\n",
"y_ = tf.placeholder(\"float\", [None, 10])\n",
"#y′ を真のClass Distribution(正しいClassに対応する成分が1、他の成分は0)とし、以下のクロスエントロピーを考える。\n",
"cross_entropy = -tf.reduce_sum(y_*tf.log(y)) #この式を各画像に対してSUMする。\n",
"\n",
"# 最小化問題とそのアルゴリズム\n",
"learning_coefficient = 0.01 #学習係数。最急降下法を使うことと、それによって最小化する値を指定。\n",
"train_step = tf.train.GradientDescentOptimizer(learning_coefficient).minimize(cross_entropy)\n",
"\n",
"# 変数の初期化\n",
"init = tf.initialize_all_variables()\n",
"\n",
"# 学習の実行\n",
"repeat_num = 1000 #1000回の反復\n",
"batch_size = 100 #バッチサイズ100\n",
"sess = tf.Session()\n",
"sess.run(init)\n",
"for i in range(repeat_num):\n",
" batch_xs, batch_ys = mnist.train.next_batch(batch_size)\n",
" sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})\n",
"\n",
"# 学習の評価\n",
"#「尤もらしいClass、すなわちargmax(y)argmax(y)が教師のラベルと等しいか」を以下のように記述\n",
"correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))\n",
"#この値を各サンプル毎に評価して平均を計算する\n",
"accuracy = tf.reduce_mean(tf.cast(correct_prediction, \"float\"))\n",
"\n",
"print sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels})"
]
}
],
"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": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment