{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. gyakorlat Konvolúciós hálók\n", "\n", "A konvolúciós hálók ún. konvolúciós neuronokat tartalmaznak, melyek segítségével hierarchikus lokális jellemzőkinyerést tudunk végrehajtani.\n", "![CNN](https://cdn-images-1.medium.com/max/1200/1*XbuW8WuRrAY5pC4t-9DZAQ.jpeg)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/lib/python3/dist-packages/h5py/__init__.py:34: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n", " from ._conv import register_converters as _register_converters\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "PACKAGES LOADED\n" ] } ], "source": [ "import numpy as np\n", "import tensorflow as tf\n", "import matplotlib.pyplot as plt\n", "from tensorflow.examples.tutorials.mnist import input_data\n", "%matplotlib inline \n", "print (\"PACKAGES LOADED\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Adatbázis betöltése" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From :1: read_data_sets (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use alternatives such as official/mnist/dataset.py from tensorflow/models.\n", "WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:260: maybe_download (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please write your own downloading logic.\n", "WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:262: extract_images (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use tf.data to implement this functionality.\n", "Extracting data/train-images-idx3-ubyte.gz\n", "WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:267: extract_labels (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use tf.data to implement this functionality.\n", "Extracting data/train-labels-idx1-ubyte.gz\n", "WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:110: dense_to_one_hot (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use tf.one_hot on tensors.\n", "Extracting data/t10k-images-idx3-ubyte.gz\n", "Extracting data/t10k-labels-idx1-ubyte.gz\n", "WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:290: DataSet.__init__ (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use alternatives such as official/mnist/dataset.py from tensorflow/models.\n", "MNIST ready\n" ] } ], "source": [ "mnist = input_data.read_data_sets('data/', one_hot=True)\n", "trainimg = mnist.train.images\n", "trainlabel = mnist.train.labels\n", "testimg = mnist.test.images\n", "testlabel = mnist.test.labels\n", "print (\"MNIST ready\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# GPU kiválasztása" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "device_type = \"/gpu:0\"\n", "tf.set_random_seed(1024)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# CNN háló definiálása\n", "\n", "Fontos, hogy a bementet reshape-el képpé alakítsuk.\n", "\n", "Standard hálósrtuktúra: \n", "Konvolúció, majd relu\n", "Pooling (maxpooling)\n", "\n", "Vizsgáljuk meg a strides értékét, amely meghatározza, hogy a maszkot mennyivel mozgassuk konvolúció ill pooling során, illetve a padding-et amely a széleken határozza meg, hogy a képen kívüli pixelek milyen értéket vegyenek fel." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CNN ready\n" ] } ], "source": [ "with tf.device(device_type): # <= This is optional\n", " n_input = 784\n", " n_output = 10\n", " weights = {\n", " 'wc1': tf.Variable(tf.random_normal([3, 3, 1, 64], stddev=0.1)),\n", " 'wd1': tf.Variable(tf.random_normal([14*14*64, n_output], stddev=0.1))\n", " }\n", " biases = {\n", " 'bc1': tf.Variable(tf.random_normal([64], stddev=0.1)),\n", " 'bd1': tf.Variable(tf.random_normal([n_output], stddev=0.1))\n", " }\n", " def conv_simple(_input, _w, _b):\n", " # Reshape input\n", " _input_r = tf.reshape(_input, shape=[-1, 28, 28, 1])\n", " # Convolution\n", " _conv1 = tf.nn.conv2d(_input_r, _w['wc1'], strides=[1, 1, 1, 1], padding='SAME')\n", " # Add-bias\n", " _conv2 = tf.nn.bias_add(_conv1, _b['bc1'])\n", " # Pass ReLu\n", " _conv3 = tf.nn.relu(_conv2)\n", " # Max-pooling\n", " _pool = tf.nn.max_pool(_conv3, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME')\n", " # Vectorize\n", " _dense = tf.reshape(_pool, [-1, _w['wd1'].get_shape().as_list()[0]])\n", " # Fully-connected layer\n", " _out = tf.add(tf.matmul(_dense, _w['wd1']), _b['bd1'])\n", " # Return everything\n", " out = {\n", " 'input_r': _input_r, 'conv1': _conv1, 'conv2': _conv2, 'conv3': _conv3\n", " , 'pool': _pool, 'dense': _dense, 'out': _out\n", " }\n", " return out\n", "print (\"CNN ready\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Tanítási paraméterek" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Network Ready to Go!\n" ] } ], "source": [ "# tf Graph input\n", "x = tf.placeholder(tf.float32, [None, n_input])\n", "y = tf.placeholder(tf.float32, [None, n_output])\n", "# Parameters\n", "learning_rate = 0.001\n", "training_epochs = 10\n", "batch_size = 100\n", "display_step = 1\n", "# Functions! \n", "with tf.device(device_type): # <= This is optional\n", " _pred = conv_simple(x, weights, biases)['out']\n", " #_pred = vgg(x, True)\n", " cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=_pred, labels=y))\n", " optm = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)\n", " _corr = tf.equal(tf.argmax(_pred,1), tf.argmax(y,1)) # Count corrects\n", " accr = tf.reduce_mean(tf.cast(_corr, tf.float32)) # Accuracy\n", " init = tf.global_variables_initializer()\n", "tf.summary.scalar(\"loss\", cost)\n", "# Create a summary to monitor accuracy tensor\n", "tf.summary.scalar(\"accuracy\", accr)\n", "# Merge all summaries into a single op\n", "merged_summary_op = tf.summary.merge_all()\n", "# Saver \n", "save_step = 1;\n", "savedir = \"nets/\"\n", "saver = tf.train.Saver(max_to_keep=3) \n", "print (\"Network Ready to Go!\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Háló tanítása\n", "\n", "Minden epoch után megnézzük, hogy a teszten hogyan teljesít a háló, ez csalás :(\n", "\n", "Feladat 1: csináljunk egy dev halmazt és azon figyeljük a pontosságot, majd csak a tanítás végén nézzük meg a teszt halmazt.\n", "\n", "Extra: summary writer segítségével logolhatjuk a progress-t amit utánna tensorboard segítségével tudunk ellenőrizni." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "do_train = 1\n", "sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True))\n", "sess.run(init)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch: 000/010 cost: 0.022091025\n", " Training accuracy: 0.980\n", " Test accuracy: 0.982\n", "Epoch: 001/010 cost: 0.019911335\n", " Training accuracy: 0.980\n", " Test accuracy: 0.984\n", "Epoch: 002/010 cost: 0.016701423\n", " Training accuracy: 1.000\n", " Test accuracy: 0.983\n", "Epoch: 003/010 cost: 0.014939265\n", " Training accuracy: 0.990\n", " Test accuracy: 0.985\n", "Epoch: 004/010 cost: 0.013642057\n", " Training accuracy: 1.000\n", " Test accuracy: 0.983\n", "Epoch: 005/010 cost: 0.011437213\n", " Training accuracy: 1.000\n", " Test accuracy: 0.984\n", "Epoch: 006/010 cost: 0.009744254\n", " Training accuracy: 1.000\n", " Test accuracy: 0.982\n", "Epoch: 007/010 cost: 0.008274171\n", " Training accuracy: 1.000\n", " Test accuracy: 0.983\n", "Epoch: 008/010 cost: 0.006972718\n", " Training accuracy: 1.000\n", " Test accuracy: 0.984\n", "Epoch: 009/010 cost: 0.006238808\n", " Training accuracy: 1.000\n", " Test accuracy: 0.983\n", "Optimization Finished.\n" ] } ], "source": [ "summary_writer = tf.summary.FileWriter(\"tb_log/\", graph=tf.get_default_graph())\n", "if do_train == 1:\n", " for epoch in range(training_epochs):\n", " avg_cost = 0.\n", " total_batch = int(mnist.train.num_examples/batch_size)\n", " # Loop over all batches\n", " for i in range(total_batch):\n", " batch_xs, batch_ys = mnist.train.next_batch(batch_size)\n", " # Fit training using batch data\n", " _, summary = sess.run([optm, merged_summary_op], feed_dict={x: batch_xs, y: batch_ys})\n", " summary_writer.add_summary(summary, epoch * total_batch + i)\n", " # Compute average loss\n", " avg_cost += sess.run(cost, feed_dict={x: batch_xs, y: batch_ys})/total_batch\n", "\n", " # Display logs per epoch step\n", " if epoch % display_step == 0: \n", " print (\"Epoch: %03d/%03d cost: %.9f\" % (epoch, training_epochs, avg_cost))\n", " train_acc = sess.run(accr, feed_dict={x: batch_xs, y: batch_ys})\n", " print (\" Training accuracy: %.3f\" % (train_acc))\n", " test_acc = sess.run(accr, feed_dict={x: testimg, y: testlabel})\n", " print (\" Test accuracy: %.3f\" % (test_acc))\n", "\n", " # Save Net\n", " if epoch % save_step == 0:\n", " saver.save(sess, \"nets/cnn_mnist_simple.ckpt-\" + str(epoch))\n", " print (\"Optimization Finished.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Tensorboard használata\n", "\n", "A tensorboard használatához nyissuk meg a 6006-os portot, \n", "\n", "majd ssh-ban futtassuk a parancsot: tensorboard --logdir=tb_log" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Modell visszaállítása " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "INFO:tensorflow:Restoring parameters from nets/cnn_mnist_simple.ckpt-9\n", "NETWORK RESTORED\n" ] } ], "source": [ "do_train = 0\n", "if do_train == 0:\n", " epoch = training_epochs-1\n", " saver.restore(sess, \"nets/cnn_mnist_simple.ckpt-\" + str(epoch))\n", " print (\"NETWORK RESTORED\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Vizsgáljuk meg a CNN háló belsejét!" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "with tf.device(device_type):\n", " conv_out = conv_simple(x, weights, biases)\n", "\n", "input_r = sess.run(conv_out['input_r'], feed_dict={x: trainimg[0:1, :]})\n", "conv1 = sess.run(conv_out['conv1'], feed_dict={x: trainimg[0:1, :]})\n", "conv2 = sess.run(conv_out['conv2'], feed_dict={x: trainimg[0:1, :]})\n", "conv3 = sess.run(conv_out['conv3'], feed_dict={x: trainimg[0:1, :]})\n", "pool = sess.run(conv_out['pool'], feed_dict={x: trainimg[0:1, :]})\n", "dense = sess.run(conv_out['dense'], feed_dict={x: trainimg[0:1, :]})\n", "out = sess.run(conv_out['out'], feed_dict={x: trainimg[0:1, :]})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Input" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of 'input_r' is (1, 28, 28, 1)\n", "Label is 7\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's see 'input_r'\n", "print (\"Size of 'input_r' is %s\" % (input_r.shape,))\n", "label = np.argmax(trainlabel[0, :])\n", "print (\"Label is %d\" % (label))\n", "\n", "# Plot ! \n", "plt.matshow(input_r[0, :, :, 0], cmap=plt.get_cmap('gray'))\n", "plt.title(\"Label of this image is \" + str(label) + \"\")\n", "plt.colorbar()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conv1 (1. rejtett réteg)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of 'conv1' is (1, 28, 28, 64)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's see 'conv1'\n", "print (\"Size of 'conv1' is %s\" % (conv1.shape,))\n", "\n", "# Plot ! \n", "for i in range(3):\n", " plt.matshow(conv1[0, :, :, i], cmap=plt.get_cmap('gray'))\n", " plt.title(str(i) + \"th conv1\")\n", " plt.colorbar()\n", " plt.show() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conv2 (+bias)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of 'conv2' is (1, 28, 28, 64)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's see 'conv2'\n", "print (\"Size of 'conv2' is %s\" % (conv2.shape,))\n", "\n", "# Plot ! \n", "for i in range(3):\n", " plt.matshow(conv2[0, :, :, i], cmap=plt.get_cmap('gray'))\n", " plt.title(str(i) + \"th conv2\")\n", " plt.colorbar()\n", " plt.show() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conv3 (+ReLU)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of 'conv3' is (1, 28, 28, 64)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's see 'conv3'\n", "print (\"Size of 'conv3' is %s\" % (conv3.shape,))\n", "\n", "# Plot ! \n", "for i in range(3):\n", " plt.matshow(conv3[0, :, :, i], cmap=plt.get_cmap('gray'))\n", " plt.title(str(i) + \"th conv3\")\n", " plt.colorbar()\n", " plt.show() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Pooling (max_pool)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of 'pool' is (1, 14, 14, 64)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's see 'pool'\n", "print (\"Size of 'pool' is %s\" % (pool.shape,))\n", "\n", "# Plot ! \n", "for i in range(3):\n", " plt.matshow(pool[0, :, :, i], cmap=plt.get_cmap('gray'))\n", " plt.title(str(i) + \"th pool\")\n", " plt.colorbar()\n", " plt.show() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fully connected réteg" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of 'dense' is (1, 12544)\n", "Size of 'out' is (1, 10)\n" ] } ], "source": [ "# Let's see 'dense'\n", "print (\"Size of 'dense' is %s\" % (dense.shape,))\n", "# Let's see 'out'\n", "print (\"Size of 'out' is %s\" % (out.shape,))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Konvolúciós filterek" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of 'wc1' is (3, 3, 1, 64)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's see weight! \n", "wc1 = sess.run(weights['wc1'])\n", "print (\"Size of 'wc1' is %s\" % (wc1.shape,))\n", "\n", "# Plot ! \n", "for i in range(3):\n", " plt.matshow(wc1[:, :, 0, i], cmap=plt.get_cmap('gray'))\n", " plt.title(str(i) + \"th conv filter\")\n", " plt.colorbar()\n", " plt.show() " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Feladatok\n", "1. Validációs halmaz használata.\n", "2. Bonyolultabb struktúra pl VGG struktúra használata.\n", "3. Data augmentáció: tanító képeken forgatás, eltolás alkalmazása." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.3" } }, "nbformat": 4, "nbformat_minor": 1 }