{"id":2458,"date":"2017-07-12T20:10:02","date_gmt":"2017-07-12T11:10:02","guid":{"rendered":"http:\/\/nantoka.filmm.info\/blog\/?p=2458"},"modified":"2017-07-12T20:47:00","modified_gmt":"2017-07-12T11:47:00","slug":"tensorflow-mnist-tutorial","status":"publish","type":"post","link":"https:\/\/nantoka.filmm.info\/blog\/?p=2458","title":{"rendered":"Tensorflow mnist tutorial"},"content":{"rendered":"<p>\u53c2\u8003\u306e\u30b5\u30a4\u30c8<\/p>\n<p><a href=\"http:\/\/qiita.com\/uramonk\/items\/c207c948ccb6cd0a1346\">http:\/\/qiita.com\/uramonk\/items\/c207c948ccb6cd0a1346<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u3053\u308c\u3092\u3084\u3063\u3066\u307f\u308b\uff0e<\/p>\n<p>\u307e\u305a\u3000tensorflow\/tensorflow\/examples\/tutorials\/minist<\/p>\n<p>\u306b\u79fb\u52d5\uff08\u79fb\u52d5\u3059\u308b\u306e\u306f\u4e0b\u8a18\u306epython\u30d7\u30ed\u30b0\u30e9\u30e0\u4e2d24\u884c\u76ee\u3067\u753b\u50cf\u30c7\u30fc\u30bf\u306e\u5834\u6240\u3092\u6307\u5b9a\u3057\u3066\u3044\u308b\u304b\u3089\uff09<\/p>\n<p>nano mnistbigg.py<\/p>\n<p>\u3067\u30a8\u30c7\u30a3\u30bf\u958b\u3044\u3066<\/p>\n<p>\u203b\u53c2\u8003\u30b5\u30a4\u30c8\u306e\u30b3\u30fc\u30c9\u3067\u306f\u52d5\u304b\u306a\u3044\u306e\u3067\uff0c\u4e0b\u8a18\u3092\u5165\u529b\uff08GUI\u5074\u3067\u4f5c\u3063\u3066\u3082OK\uff09<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true\"># -*- coding: utf-8 -*-\r\n\r\n# TensowFlow\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\r\nimport tensorflow as tf\r\n# MNIST\u3092\u8aad\u307f\u8fbc\u3080\u305f\u3081input_data.py\u3092\u540c\u3058\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u7f6e\u304d\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\r\n# input_data.py\u306f\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u5185\u306b\u30ea\u30f3\u30af\u304c\u3042\u308b\u306e\u3067\u305d\u3053\u304b\u3089\u53d6\u5f97\u3059\u308b\r\n# https:\/\/tensorflow.googlesource.com\/tensorflow\/+\/master\/tensorflow\/examples\/tutorials\/mnist\/input_data.py\r\nimport input_data\r\n\r\nimport time\r\n\r\n# \u958b\u59cb\u6642\u523b\r\nstart_time = time.time()\r\nprint (\"\u958b\u59cb\u6642\u523b: \" + str(start_time))\r\n\r\n# MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\r\n# 60000\u70b9\u306e\u8a13\u7df4\u30c7\u30fc\u30bf\uff08mnist.train\uff09\u306810000\u70b9\u306e\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\uff08mnist.test\uff09\u304c\u3042\u308b\r\n# \u8a13\u7df4\u30c7\u30fc\u30bf\u3068\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306b\u306f\u305d\u308c\u305e\u308c0-9\u306e\u753b\u50cf\u3068\u305d\u308c\u306b\u5bfe\u5fdc\u3059\u308b\u30e9\u30d9\u30eb\uff080-9\uff09\u304c\u3042\u308b\r\n# \u753b\u50cf\u306f28x28px(=784)\u306e\u30b5\u30a4\u30ba\r\n# mnist.train.images\u306f[60000, 784]\u306e\u914d\u5217\u3067\u3042\u308a\u3001mnist.train.lables\u306f[60000, 10]\u306e\u914d\u5217\r\n# lables\u306e\u914d\u5217\u306f\u3001\u5bfe\u5fdc\u3059\u308bimages\u306e\u753b\u50cf\u304c3\u306e\u6570\u5b57\u3067\u3042\u308b\u306a\u3089\u3070\u3001[0,0,0,1,0,0,0,0,0,0]\u3068\u306a\u3063\u3066\u3044\u308b\r\n# mnist.test.images\u306f[10000, 784]\u306e\u914d\u5217\u3067\u3042\u308a\u3001mnist.test.lables\u306f[10000, 10]\u306e\u914d\u5217\r\nprint (\"--- MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u958b\u59cb ---\")\r\nmnist = input_data.read_data_sets(\"MNIST_data\/\", one_hot=True)\r\nprint (\"--- MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86 ---\")\r\n\r\n# \u8a13\u7df4\u753b\u50cf\u3092\u5165\u308c\u308b\u5909\u6570\r\n# \u8a13\u7df4\u753b\u50cf\u306f28x28px\u3067\u3042\u308a\u3001\u3053\u308c\u3089\u30921\u884c784\u5217\u306e\u30d9\u30af\u30c8\u30eb\u306b\u4e26\u3073\u66ff\u3048\u683c\u7d0d\u3059\u308b\r\n# None\u3068\u306a\u3063\u3066\u3044\u308b\u306e\u306f\u8a13\u7df4\u753b\u50cf\u304c\u3044\u304f\u3064\u3067\u3082\u5165\u308c\u3089\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\r\nx = tf.placeholder(tf.float32, [None, 784])\r\n\r\n# \u91cd\u307f\r\n# \u8a13\u7df4\u753b\u50cf\u306epx\u6570\u306e\u884c\u3001\u30e9\u30d9\u30eb\uff080-9\u306e\u6570\u5b57\u306e\u500b\u6570\uff09\u6570\u306e\u5217\u306e\u884c\u5217\r\n# \u521d\u671f\u5024\u3068\u3057\u30660\u3092\u5165\u308c\u3066\u304a\u304f\r\nW = tf.Variable(tf.zeros([784, 10]))\r\n\r\n# \u30d0\u30a4\u30a2\u30b9\r\n# \u30e9\u30d9\u30eb\u6570\u306e\u5217\u306e\u884c\u5217\r\n# \u521d\u671f\u5024\u3068\u3057\u30660\u3092\u5165\u308c\u3066\u304a\u304f\r\nb = tf.Variable(tf.zeros([10]))\r\n\r\n# \u30bd\u30d5\u30c8\u30de\u30c3\u30af\u30b9\u56de\u5e30\u3092\u5b9f\u884c\r\n# y\u306f\u5165\u529bx\uff08\u753b\u50cf\uff09\u306b\u5bfe\u3057\u305d\u308c\u304c\u3042\u308b\u6570\u5b57\u3067\u3042\u308b\u78ba\u7387\u306e\u5206\u5e03\r\n# matmul\u95a2\u6570\u3067\u884c\u5217x\u3068W\u306e\u639b\u3051\u7b97\u3092\u884c\u3063\u305f\u5f8c\u3001b\u3092\u52a0\u7b97\u3059\u308b\u3002\r\n# y\u306f[1, 10]\u306e\u884c\u5217\r\ny = tf.nn.softmax(tf.matmul(x, W) + b)\r\n\r\n# \u4ea4\u5dee\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\r\n# y_\u306f\u6b63\u89e3\u30c7\u30fc\u30bf\u306e\u30e9\u30d9\u30eb\r\ny_ = tf.placeholder(tf.float32, [None, 10])\r\ncross_entropy = -tf.reduce_sum(y_*tf.log(y))\r\n\r\n# \u52fe\u914d\u786c\u5316\u6cd5\u3092\u7528\u3044\u4ea4\u5dee\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u304c\u6700\u5c0f\u3068\u306a\u308b\u3088\u3046y\u3092\u6700\u9069\u5316\u3059\u308b\r\ntrain_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)\r\n\r\n# \u7528\u610f\u3057\u305f\u5909\u6570Veriable\u306e\u521d\u671f\u5316\u3092\u5b9f\u884c\u3059\u308b\r\ninit = tf.initialize_all_variables()\r\n\r\n# Session\u3092\u958b\u59cb\u3059\u308b\r\n# run\u3059\u308b\u3053\u3068\u3067\u521d\u3081\u3066\u5b9f\u884c\u958b\u59cb\u3055\u308c\u308b\uff08run(init)\u3057\u306a\u3044\u3068init\u304c\u5b9f\u884c\u3055\u308c\u306a\u3044\uff09\r\n\r\nsess = tf.Session()\r\nsess.run(init)\r\n\r\n# 1000\u56de\u306e\u8a13\u7df4\uff08train_step\uff09\u3092\u5b9f\u884c\u3059\u308b\r\n# next_batch(100)\u3067100\u3064\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u8a13\u7df4\u30bb\u30c3\u30c8\uff08\u753b\u50cf\u3068\u5bfe\u5fdc\u3059\u308b\u30e9\u30d9\u30eb\uff09\u3092\u9078\u629e\u3059\u308b\r\n# \u8a13\u7df4\u30c7\u30fc\u30bf\u306f60000\u70b9\u3042\u308b\u306e\u3067\u5168\u3066\u4f7f\u3044\u305f\u3044\u3068\u3053\u308d\u3060\u304c\u8cbb\u7528\u3064\u307e\u308a\u6642\u9593\u304c\u304b\u304b\u308b\u306e\u3067\u30e9\u30f3\u30c0\u30e0\u306a100\u3064\u3092\u4f7f\u3046\r\n# 100\u3064\u3067\u3082\u540c\u3058\u3088\u3046\u306a\u7d50\u679c\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u308b\r\n# feed_dict\u3067placeholder\u306b\u5024\u3092\u5165\u529b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\r\nprint (\"--- \u8a13\u7df4\u958b\u59cb ---\")\r\nfor i in range(1000):\r\n    batch_xs, batch_ys = mnist.train.next_batch(100)\r\n    sess.run(train_step, feed_dict={x: batch_xs, y_:batch_ys})\r\nprint (\"--- \u8a13\u7df4\u7d42\u4e86 ---\")\r\n\r\n# \u6b63\u3057\u3044\u304b\u306e\u4e88\u6e2c\r\n# \u8a08\u7b97\u3055\u308c\u305f\u753b\u50cf\u304c\u3069\u306e\u6570\u5b57\u3067\u3042\u308b\u304b\u306e\u4e88\u6e2cy\u3068\u6b63\u89e3\u30e9\u30d9\u30eby_\u3092\u6bd4\u8f03\u3059\u308b\r\n# \u540c\u3058\u5024\u3067\u3042\u308c\u3070True\u304c\u8fd4\u3055\u308c\u308b\r\n# argmax\u306f\u914d\u5217\u306e\u4e2d\u3067\u4e00\u756a\u5024\u306e\u5927\u304d\u3044\u7b87\u6240\u306eindex\u304c\u8fd4\u3055\u308c\u308b\r\n# \u4e00\u756a\u5024\u304c\u5927\u304d\u3044index\u3068\u3044\u3046\u3053\u3068\u306f\u3001\u305d\u308c\u304c\u305d\u306e\u6570\u5b57\u3067\u3042\u308b\u78ba\u7387\u304c\u4e00\u756a\u5927\u304d\u3044\u3068\u3044\u3046\u3053\u3068\r\n# True\u304c\u8fd4\u3063\u3066\u304f\u308b\u3068\u3044\u3046\u3053\u3068\u306f\u8a13\u7df4\u3057\u305f\u7d50\u679c\u3068\u56de\u7b54\u304c\u540c\u3058\u3068\u3044\u3046\u3053\u3068\r\ncorrect_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))\r\n\r\n# \u7cbe\u5ea6\u306e\u8a08\u7b97\r\n# correct_prediction\u306fboolean\u306a\u306e\u3067float\u306b\u30ad\u30e3\u30b9\u30c8\u3057\u3001\u5e73\u5747\u5024\u3092\u8a08\u7b97\u3059\u308b\r\n# True\u306a\u3089\u30701\u3001False\u306a\u3089\u30700\u306b\u5909\u63db\u3055\u308c\u308b\r\naccuracy = tf.reduce_mean(tf.cast(correct_prediction, \"float\"))\r\n\r\n# \u7cbe\u5ea6\u306e\u5b9f\u884c\u3068\u8868\u793a\r\n# \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u753b\u50cf\u3068\u30e9\u30d9\u30eb\u3067\u7cbe\u5ea6\u3092\u78ba\u8a8d\u3059\u308b\r\n# \u30bd\u30d5\u30c8\u30de\u30c3\u30af\u30b9\u56de\u5e30\u306b\u3088\u3063\u3066W\u3068b\u306e\u5024\u304c\u8a08\u7b97\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001x\u3092\u5165\u529b\u3059\u308b\u3053\u3068\u3067y\u304c\u8a08\u7b97\u3067\u304d\u308b\r\nprint (\"\u7cbe\u5ea6\")\r\nprint(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))\r\n\r\n# \u7d42\u4e86\u6642\u523b\r\nend_time = time.time()\r\nprint (\"\u7d42\u4e86\u6642\u523b: \" + str(end_time))\r\nprint (\"\u304b\u304b\u3063\u305f\u6642\u9593: \" + str(end_time - start_time))\r\n<\/pre>\n<h3>\u5b9f\u884c\u7d50\u679c<\/h3>\n<pre class=\"lang:default decode:true \">&gt; python3 mnistbigg.py\r\n\u958b\u59cb\u6642\u523b: 1499857321.2323244\r\n--- MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u958b\u59cb ---\r\nExtracting MNIST_data\/train-images-idx3-ubyte.gz\r\nExtracting MNIST_data\/train-labels-idx1-ubyte.gz\r\nExtracting MNIST_data\/t10k-images-idx3-ubyte.gz\r\nExtracting MNIST_data\/t10k-labels-idx1-ubyte.gz\r\n--- MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86 ---\r\nWARNING:tensorflow:From mnistbigg.py:57: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.\r\nInstructions for updating:\r\nUse `tf.global_variables_initializer` instead.\r\n--- \u8a13\u7df4\u958b\u59cb ---\r\n--- \u8a13\u7df4\u7d42\u4e86 ---\r\n\u7cbe\u5ea6\r\n0.9143\r\n\u7d42\u4e86\u6642\u523b: 1499857332.378188\r\n\u304b\u304b\u3063\u305f\u6642\u9593: 11.14586353302002\r\n<\/pre>\n<p>\u304a\u75b2\u308c\u69d8\u3067\u3057\u305f\uff0c\uff0c<\/p>\n<p>\u3068\u601d\u3063\u305f\u3089\u8b66\u544a\u304c\u51fa\u3066\u3044\u308b\uff0e<\/p>\n<pre class=\"lang:default decode:true \">WARNING:tensorflow:From mnistbigg.py:57: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.<\/pre>\n<p>&nbsp;<\/p>\n<p>\u3069\u3046\u3082\u671f\u9650\u5207\u308c\u306e\u30b3\u30de\u30f3\u30c9\u3042\u3063\u305f\u307f\u305f\u3044\u306a\u306e\u3067<\/p>\n<pre class=\"lang:default mark:57,58 decode:true\"># -*- coding: utf-8 -*-\r\n\r\n# TensowFlow\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\r\nimport tensorflow as tf\r\n# MNIST\u3092\u8aad\u307f\u8fbc\u3080\u305f\u3081input_data.py\u3092\u540c\u3058\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u7f6e\u304d\u30a4\u30f3\u30dd\u30fc\u30c8\u3059\u308b\r\n# input_data.py\u306f\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u5185\u306b\u30ea\u30f3\u30af\u304c\u3042\u308b\u306e\u3067\u305d\u3053\u304b\u3089\u53d6\u5f97\u3059\u308b\r\n# https:\/\/tensorflow.googlesource.com\/tensorflow\/+\/master\/tensorflow\/examples\/tutorials\/mnist\/input_data.py\r\nimport input_data\r\n\r\nimport time\r\n\r\n# \u958b\u59cb\u6642\u523b\r\nstart_time = time.time()\r\nprint (\"\u958b\u59cb\u6642\u523b: \" + str(start_time))\r\n\r\n# MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\r\n# 60000\u70b9\u306e\u8a13\u7df4\u30c7\u30fc\u30bf\uff08mnist.train\uff09\u306810000\u70b9\u306e\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\uff08mnist.test\uff09\u304c\u3042\u308b\r\n# \u8a13\u7df4\u30c7\u30fc\u30bf\u3068\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306b\u306f\u305d\u308c\u305e\u308c0-9\u306e\u753b\u50cf\u3068\u305d\u308c\u306b\u5bfe\u5fdc\u3059\u308b\u30e9\u30d9\u30eb\uff080-9\uff09\u304c\u3042\u308b\r\n# \u753b\u50cf\u306f28x28px(=784)\u306e\u30b5\u30a4\u30ba\r\n# mnist.train.images\u306f[60000, 784]\u306e\u914d\u5217\u3067\u3042\u308a\u3001mnist.train.lables\u306f[60000, 10]\u306e\u914d\u5217\r\n# lables\u306e\u914d\u5217\u306f\u3001\u5bfe\u5fdc\u3059\u308bimages\u306e\u753b\u50cf\u304c3\u306e\u6570\u5b57\u3067\u3042\u308b\u306a\u3089\u3070\u3001[0,0,0,1,0,0,0,0,0,0]\u3068\u306a\u3063\u3066\u3044\u308b\r\n# mnist.test.images\u306f[10000, 784]\u306e\u914d\u5217\u3067\u3042\u308a\u3001mnist.test.lables\u306f[10000, 10]\u306e\u914d\u5217\r\nprint (\"--- MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u958b\u59cb ---\")\r\nmnist = input_data.read_data_sets(\"MNIST_data\/\", one_hot=True)\r\nprint (\"--- MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86 ---\")\r\n\r\n# \u8a13\u7df4\u753b\u50cf\u3092\u5165\u308c\u308b\u5909\u6570\r\n# \u8a13\u7df4\u753b\u50cf\u306f28x28px\u3067\u3042\u308a\u3001\u3053\u308c\u3089\u30921\u884c784\u5217\u306e\u30d9\u30af\u30c8\u30eb\u306b\u4e26\u3073\u66ff\u3048\u683c\u7d0d\u3059\u308b\r\n# None\u3068\u306a\u3063\u3066\u3044\u308b\u306e\u306f\u8a13\u7df4\u753b\u50cf\u304c\u3044\u304f\u3064\u3067\u3082\u5165\u308c\u3089\u308c\u308b\u3088\u3046\u306b\u3059\u308b\u305f\u3081\r\nx = tf.placeholder(tf.float32, [None, 784])\r\n\r\n# \u91cd\u307f\r\n# \u8a13\u7df4\u753b\u50cf\u306epx\u6570\u306e\u884c\u3001\u30e9\u30d9\u30eb\uff080-9\u306e\u6570\u5b57\u306e\u500b\u6570\uff09\u6570\u306e\u5217\u306e\u884c\u5217\r\n# \u521d\u671f\u5024\u3068\u3057\u30660\u3092\u5165\u308c\u3066\u304a\u304f\r\nW = tf.Variable(tf.zeros([784, 10]))\r\n\r\n# \u30d0\u30a4\u30a2\u30b9\r\n# \u30e9\u30d9\u30eb\u6570\u306e\u5217\u306e\u884c\u5217\r\n# \u521d\u671f\u5024\u3068\u3057\u30660\u3092\u5165\u308c\u3066\u304a\u304f\r\nb = tf.Variable(tf.zeros([10]))\r\n\r\n# \u30bd\u30d5\u30c8\u30de\u30c3\u30af\u30b9\u56de\u5e30\u3092\u5b9f\u884c\r\n# y\u306f\u5165\u529bx\uff08\u753b\u50cf\uff09\u306b\u5bfe\u3057\u305d\u308c\u304c\u3042\u308b\u6570\u5b57\u3067\u3042\u308b\u78ba\u7387\u306e\u5206\u5e03\r\n# matmul\u95a2\u6570\u3067\u884c\u5217x\u3068W\u306e\u639b\u3051\u7b97\u3092\u884c\u3063\u305f\u5f8c\u3001b\u3092\u52a0\u7b97\u3059\u308b\u3002\r\n# y\u306f[1, 10]\u306e\u884c\u5217\r\ny = tf.nn.softmax(tf.matmul(x, W) + b)\r\n\r\n# \u4ea4\u5dee\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\r\n# y_\u306f\u6b63\u89e3\u30c7\u30fc\u30bf\u306e\u30e9\u30d9\u30eb\r\ny_ = tf.placeholder(tf.float32, [None, 10])\r\ncross_entropy = -tf.reduce_sum(y_*tf.log(y))\r\n\r\n# \u52fe\u914d\u786c\u5316\u6cd5\u3092\u7528\u3044\u4ea4\u5dee\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u304c\u6700\u5c0f\u3068\u306a\u308b\u3088\u3046y\u3092\u6700\u9069\u5316\u3059\u308b\r\ntrain_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)\r\n\r\n# \u7528\u610f\u3057\u305f\u5909\u6570Veriable\u306e\u521d\u671f\u5316\u3092\u5b9f\u884c\u3059\u308b\r\n#init = tf.initialize_all_variables()\r\ninit = tf.global_variables_initializer()\r\n# Session\u3092\u958b\u59cb\u3059\u308b\r\n# run\u3059\u308b\u3053\u3068\u3067\u521d\u3081\u3066\u5b9f\u884c\u958b\u59cb\u3055\u308c\u308b\uff08run(init)\u3057\u306a\u3044\u3068init\u304c\u5b9f\u884c\u3055\u308c\u306a\u3044\uff09\r\n\r\nsess = tf.Session()\r\nsess.run(init)\r\n\r\n# 1000\u56de\u306e\u8a13\u7df4\uff08train_step\uff09\u3092\u5b9f\u884c\u3059\u308b\r\n# next_batch(100)\u3067100\u3064\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u8a13\u7df4\u30bb\u30c3\u30c8\uff08\u753b\u50cf\u3068\u5bfe\u5fdc\u3059\u308b\u30e9\u30d9\u30eb\uff09\u3092\u9078\u629e\u3059\u308b\r\n# \u8a13\u7df4\u30c7\u30fc\u30bf\u306f60000\u70b9\u3042\u308b\u306e\u3067\u5168\u3066\u4f7f\u3044\u305f\u3044\u3068\u3053\u308d\u3060\u304c\u8cbb\u7528\u3064\u307e\u308a\u6642\u9593\u304c\u304b\u304b\u308b\u306e\u3067\u30e9\u30f3\u30c0\u30e0\u306a100\u3064\u3092\u4f7f\u3046\r\n# 100\u3064\u3067\u3082\u540c\u3058\u3088\u3046\u306a\u7d50\u679c\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u308b\r\n# feed_dict\u3067placeholder\u306b\u5024\u3092\u5165\u529b\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\r\nprint (\"--- \u8a13\u7df4\u958b\u59cb ---\")\r\nfor i in range(1000):\r\n    batch_xs, batch_ys = mnist.train.next_batch(100)\r\n    sess.run(train_step, feed_dict={x: batch_xs, y_:batch_ys})\r\nprint (\"--- \u8a13\u7df4\u7d42\u4e86 ---\")\r\n\r\n# \u6b63\u3057\u3044\u304b\u306e\u4e88\u6e2c\r\n# \u8a08\u7b97\u3055\u308c\u305f\u753b\u50cf\u304c\u3069\u306e\u6570\u5b57\u3067\u3042\u308b\u304b\u306e\u4e88\u6e2cy\u3068\u6b63\u89e3\u30e9\u30d9\u30eby_\u3092\u6bd4\u8f03\u3059\u308b\r\n# \u540c\u3058\u5024\u3067\u3042\u308c\u3070True\u304c\u8fd4\u3055\u308c\u308b\r\n# argmax\u306f\u914d\u5217\u306e\u4e2d\u3067\u4e00\u756a\u5024\u306e\u5927\u304d\u3044\u7b87\u6240\u306eindex\u304c\u8fd4\u3055\u308c\u308b\r\n# \u4e00\u756a\u5024\u304c\u5927\u304d\u3044index\u3068\u3044\u3046\u3053\u3068\u306f\u3001\u305d\u308c\u304c\u305d\u306e\u6570\u5b57\u3067\u3042\u308b\u78ba\u7387\u304c\u4e00\u756a\u5927\u304d\u3044\u3068\u3044\u3046\u3053\u3068\r\n# True\u304c\u8fd4\u3063\u3066\u304f\u308b\u3068\u3044\u3046\u3053\u3068\u306f\u8a13\u7df4\u3057\u305f\u7d50\u679c\u3068\u56de\u7b54\u304c\u540c\u3058\u3068\u3044\u3046\u3053\u3068\r\ncorrect_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))\r\n\r\n# \u7cbe\u5ea6\u306e\u8a08\u7b97\r\n# correct_prediction\u306fboolean\u306a\u306e\u3067float\u306b\u30ad\u30e3\u30b9\u30c8\u3057\u3001\u5e73\u5747\u5024\u3092\u8a08\u7b97\u3059\u308b\r\n# True\u306a\u3089\u30701\u3001False\u306a\u3089\u30700\u306b\u5909\u63db\u3055\u308c\u308b\r\naccuracy = tf.reduce_mean(tf.cast(correct_prediction, \"float\"))\r\n\r\n# \u7cbe\u5ea6\u306e\u5b9f\u884c\u3068\u8868\u793a\r\n# \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u753b\u50cf\u3068\u30e9\u30d9\u30eb\u3067\u7cbe\u5ea6\u3092\u78ba\u8a8d\u3059\u308b\r\n# \u30bd\u30d5\u30c8\u30de\u30c3\u30af\u30b9\u56de\u5e30\u306b\u3088\u3063\u3066W\u3068b\u306e\u5024\u304c\u8a08\u7b97\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001x\u3092\u5165\u529b\u3059\u308b\u3053\u3068\u3067y\u304c\u8a08\u7b97\u3067\u304d\u308b\r\nprint (\"\u7cbe\u5ea6\")\r\nprint(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))\r\n\r\n# \u7d42\u4e86\u6642\u523b\r\nend_time = time.time()\r\nprint (\"\u7d42\u4e86\u6642\u523b: \" + str(end_time))\r\nprint (\"\u304b\u304b\u3063\u305f\u6642\u9593: \" + str(end_time - start_time))\r\n<\/pre>\n<p>\u306b\u5909\u66f4<\/p>\n<div id=\"crayon-59660b0ee5c81166757794-57\" class=\"crayon-line\"><span class=\"crayon-p\">57\u884c\u76ee\u306b\u521d\u671f\u5316\u306e\u30b3\u30de\u30f3\u30c9\u3092\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3057\u3066<\/span><\/div>\n<div class=\"crayon-line\"><span class=\"crayon-p\">#init = tf.initialize_all_variables()<\/span><\/div>\n<div>58\u884c\u76ee\u306e\u3088\u3046\u306b\u5909\u66f4<\/div>\n<div id=\"crayon-59660b0ee5c81166757794-58\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-v\">init<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">tf<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">global_variables_initializer<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div>\u8b66\u544a\u304c\u51fa\u306a\u304f\u306a\u308a\u307e\u3057\u305f<\/div>\n<div><\/div>\n<div>\n<pre class=\"lang:default decode:true \">sudo python3 mnistbigg.py\r\n\u958b\u59cb\u6642\u523b: 1499859548.4947531\r\n--- MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u958b\u59cb ---\r\nExtracting MNIST_data\/train-images-idx3-ubyte.gz\r\nExtracting MNIST_data\/train-labels-idx1-ubyte.gz\r\nExtracting MNIST_data\/t10k-images-idx3-ubyte.gz\r\nExtracting MNIST_data\/t10k-labels-idx1-ubyte.gz\r\n--- MNIST\u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86 ---\r\n--- \u8a13\u7df4\u958b\u59cb ---\r\n--- \u8a13\u7df4\u7d42\u4e86 ---\r\n\u7cbe\u5ea6\r\n0.9173\r\n\u7d42\u4e86\u6642\u523b: 1499859558.8151393\r\n\u304b\u304b\u3063\u305f\u6642\u9593: 10.320386171340942\r\n<\/pre>\n<p>sudo\u3057\u3066\u308b\u306e\u306f\u4eca\u56de\u306fvnc\u3067\u306a\u304fssh\u3067\u5165\u3063\u3066\u3044\u308b\u304b\u3089\uff1f<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u53c2\u8003\u306e\u30b5\u30a4\u30c8 http:\/\/qiita.com\/uramonk\/items\/c207c948ccb6cd0a1346 &nbsp; \u3053\u308c\u3092\u3084\u3063\u3066\u307f\u308b\uff0e \u307e\u305a\u3000tensorflow\/tensorflow\/examples\/ &hellip; <a href=\"https:\/\/nantoka.filmm.info\/blog\/?p=2458\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">Tensorflow mnist tutorial<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,45,39,48,47],"tags":[],"class_list":["post-2458","post","type-post","status-publish","format-standard","hentry","category-ai","category-raspberypi","category-raspi","category-48","category-47"],"_links":{"self":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2458"}],"version-history":[{"count":12,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2458\/revisions"}],"predecessor-version":[{"id":2470,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2458\/revisions\/2470"}],"wp:attachment":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}