{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "dc0Em73MKM6-" }, "source": [ "# Keras Tutorial #\n", "# Convolutional Neural Networks" ] }, { "cell_type": "markdown", "metadata": { "id": "FjjrvfDpKM7F" }, "source": [ "## Introduction\n", "\n", "In this tutorial, you are going to implement a simple Convolutional Neural Network in Keras.\n", "\n", "Convolutional Networks work by moving small filters across the input image. This means the filters are re-used for recognizing patterns throughout the entire input image. This makes the Convolutional Networks much more powerful than Fully Connected networks with the same number of variables. This in turn makes the Convolutional Networks faster to train." ] }, { "cell_type": "markdown", "metadata": { "id": "DJNbGiCCbz4L" }, "source": [ "If you are using Google Colab, run the following cell to mount your Google Drive" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 1476, "status": "ok", "timestamp": 1608040451542, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "Q8sa5cl3LwY_", "outputId": "bece965f-3a7b-4c9c-c18d-e004d1a2c27e" }, "outputs": [], "source": [ "if 'google.colab' in str(get_ipython()):\n", " print('Running on CoLab')\n", " import os\n", " from google.colab import drive\n", " drive.mount('/content/drive')\n", " predefined_path = 'drive/MyDrive' \n", " my_path = '' # place the path to your notebook in Google Drive\n", " os.chdir(os.path.join(predefined_path, my_path))" ] }, { "cell_type": "markdown", "metadata": { "id": "7oVhJwKzKM7F" }, "source": [ "## Flowchart\n", "The following chart shows the structure of the Convolutional Neural Network implemented below.\n", "\n", "![](https://drive.google.com/uc?id=140yiEyYl4rr6_zLRzHzpnWqukOuQCh3j)\n", "\n", "The input image is processed in the first convolutional layer using the filter-weights. This results in 16 new images, one for each filter in the convolutional layer. The images are also downsampled thus reducing the image resolution from 28x28 to 14x14.\n", "\n", "These 16 smaller images are then processed in the second convolutional layer. We need filter-weights for each of these 16 channels, and we need filter-weights for each output channel of this layer. There are 36 output channels so there are a total of 16 x 36 = 576 filters in the second convolutional layer. The resulting images are downsampled again to 7x7 pixels.\n", "\n", "The output of the second convolutional layer is composed by 36 images of 7x7 pixels each. These are then flattened to a single vector of length 7 x 7 x 36 = 1764, which is used as the input to a fully connected layer with 128 neurons (or elements). This feeds into another fully connected layer with 10 neurons, one for each of the classes, which is used to determine the class of the image, that is, which number is depicted in the image.\n", "\n", "The convolutional filters are initially chosen at random, so the classification is done randomly. The error between the predicted and true class of the input image is measured using the cross-entropy. The optimizer then automatically propagates this error back through the Convolutional Network using the chain-rule of differentiation and updates the filter-weights so as to improve the classification error. This is done iteratively thousands of times until the classification error is sufficiently low.\n", "\n", "These particular filter-weights and intermediate images are the results of one optimization run and may look different if you re-run this Notebook.\n", "\n", "Note that the computation in Keras is actually done on a batch of images instead of a single image, which makes the computation more efficient. This means the flowchart actually has one more data-dimension when implemented in Keras." ] }, { "cell_type": "markdown", "metadata": { "id": "zFgYa_8KKM7G" }, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 4204, "status": "ok", "timestamp": 1608040454356, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "JTZTGQF9KM7G", "outputId": "e47ffdbe-0180-4a57-d8e5-0ea9cd18f77f" }, "outputs": [], "source": [ "# TensorFlow and tf.keras\n", "import tensorflow as tf\n", "from tensorflow import keras\n", "from tensorflow.math import confusion_matrix\n", "\n", "# if you have recent matplotlib versions it spamms deprecation warnings\n", "# these two lines remove the problem\n", "import warnings\n", "warnings.filterwarnings(\"ignore\", module = \"matplotlib\\..*\" )\n", "\n", "# Helper libraries\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import math\n", "#!pip list" ] }, { "cell_type": "markdown", "metadata": { "id": "Z6reNslBKM7H" }, "source": [ "This was developed using Python 3.6 and TensorFlow version:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 35 }, "executionInfo": { "elapsed": 4195, "status": "ok", "timestamp": 1608040454357, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "HbV0eZZDKM7H", "outputId": "bcc0c285-eb93-4e7f-dd43-abe6352e34ef" }, "outputs": [ { "data": { "text/plain": [ "'2.4.1'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tf.__version__" ] }, { "cell_type": "markdown", "metadata": { "id": "9dzPjevGKM7I" }, "source": [ "## Load Data" ] }, { "cell_type": "markdown", "metadata": { "id": "-ZPKIGDGKM7I" }, "source": [ "We are going to use the fashion MNIST dataset as for the SVM and NN notebooks (compare the results!). It will be downloaded automatically if it is not located in the given path." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "executionInfo": { "elapsed": 4491, "status": "ok", "timestamp": 1608040454663, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "4UTtAsx4KM7J" }, "outputs": [], "source": [ "mnist = keras.datasets.fashion_mnist\n", "(train_images, train_labels), (test_images, test_labels) = mnist.load_data()" ] }, { "cell_type": "markdown", "metadata": { "id": "_yCxBG60KM7J" }, "source": [ "The MNIST dataset has now been loaded and consists of 70.000 images and class-numbers for the images. The dataset is split into 2 mutually exclusive sub-sets." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 4484, "status": "ok", "timestamp": 1608040454664, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "il-fPOB1KM7J", "outputId": "73b2a40f-8c2a-4fac-d310-a62d1eb21dc2" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of:\n", "- Training-set:\t\t60000\n", "- Test-set:\t\t10000\n" ] } ], "source": [ "print(\"Size of:\")\n", "print(\"- Training-set:\\t\\t{}\".format(train_images.shape[0]))\n", "print(\"- Test-set:\\t\\t{}\".format(test_images.shape[0]))" ] }, { "cell_type": "markdown", "metadata": { "id": "zIgl4EfxKM7K" }, "source": [ "Each image contained in the dataset is represented in a vectorized (1D) form. We will reshape them to standard 2D images." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "executionInfo": { "elapsed": 4482, "status": "ok", "timestamp": 1608040454664, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "8hdGfWSDKM7K" }, "outputs": [], "source": [ "# We know that MNIST images are composed by 28 pixels in each dimension.\n", "img_shape = 28\n", "\n", "# Reshape MNIST images \n", "train_images = train_images.reshape((-1, img_shape, img_shape, 1), order=\"F\")\n", "test_images = test_images.reshape((-1, img_shape, img_shape, 1), order=\"F\")" ] }, { "cell_type": "markdown", "metadata": { "id": "Ob144g8xKM7K" }, "source": [ "The loaded images have values in the range [0; 255].\n", "We normalize them in the range [0; 1]." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "executionInfo": { "elapsed": 4750, "status": "ok", "timestamp": 1608040454933, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "iIiqFQkzKM7K" }, "outputs": [], "source": [ "# Preprocessing\n", "train_images = train_images / 255.0\n", "test_images = test_images / 255.0" ] }, { "cell_type": "markdown", "metadata": { "id": "b00LqQpTKM7K" }, "source": [ "### Label Encoding" ] }, { "cell_type": "markdown", "metadata": { "id": "CbkS77GBKM7L" }, "source": [ "The class labels are stored as a list of integers ranging from 0 to 9. These are the numbers associated to the images. The $i-th$ element in train_labels is the label related to the $i-th$ image in train_images (train_images[i]). test_images and test_labels have a similar structure." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 4743, "status": "ok", "timestamp": 1608040454934, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "_Yf9LPPPKM7L", "outputId": "7216b060-b872-408b-c2aa-a92e11082315" }, "outputs": [ { "data": { "text/plain": [ "array([9, 0, 0, 3, 0], dtype=uint8)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Number of classes and relative names\n", "num_classes = 10\n", "class_names = ['Tsh.', 'Trous.', 'Pull.', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneak.', 'Bag', 'A.boot']\n", "\n", "train_labels[0:5]" ] }, { "cell_type": "markdown", "metadata": { "id": "a34elJ15KM7L" }, "source": [ "### Helper-function for plotting images" ] }, { "cell_type": "markdown", "metadata": { "id": "8HFgC9FcKM7M" }, "source": [ "Function used to plot 9 images in a 3x3 grid, and writing the true and predicted classes below each image." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "executionInfo": { "elapsed": 4742, "status": "ok", "timestamp": 1608040454935, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "vt2WrhD3KM7M" }, "outputs": [], "source": [ "def plot_images(images, labels, predictions=None):\n", " assert len(images) == len(labels) == 9\n", " # Create figure with 3x3 sub-plots.\n", " fig, axes = plt.subplots(3, 3)\n", " fig.subplots_adjust(hspace=0.3, wspace=0.3)\n", " for i, ax in enumerate(axes.flat):\n", " # Plot image.\n", " ax.imshow(images[i].squeeze(), cmap='binary')\n", " # Show true and predicted classes.\n", " if predictions is None:\n", " xlabel = \"True: {0}\".format(class_names[labels[i]])\n", " else:\n", " xlabel = \"True: {0}, Pred: {1}\".format(class_names[labels[i]], class_names[predictions[i]])\n", " ax.set_xlabel(xlabel)\n", " # Remove ticks from the plot.\n", " ax.set_xticks([])\n", " ax.set_yticks([])\n", " # Ensure the plot is shown correctly with multiple plots\n", " # in a single Notebook cell.\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "e79797TqKM7M" }, "source": [ "### Plot a few images to see if data is correct" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 262 }, "executionInfo": { "elapsed": 5154, "status": "ok", "timestamp": 1608040455357, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "upCk8EWUKM7M", "outputId": "b671cd93-f553-4fc4-8825-9b13cbf9eafd" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Get the first images from the test-set.\n", "images = test_images[0:9]\n", "\n", "# Get the true classes for those images.\n", "cls_true = test_labels[0:9]\n", "\n", "# Plot the images and labels using our helper-function above.\n", "plot_images(images=images, labels=cls_true)" ] }, { "cell_type": "markdown", "metadata": { "id": "eSKohGgWKM7N" }, "source": [ "## Build the Classification Model\n", "\n", "Building the neural network requires configuring the layers of the model, then compiling it." ] }, { "cell_type": "markdown", "metadata": { "id": "VahgzUwpKM7N" }, "source": [ "### Input Tensor\n", "\n", "First, we allocate a Keras tensor that is going to contain the input data.\n", "\n", "The input is assumed to be a 3D tensor of shape [num_images, num_inputs, 1].\n", "The third dimension is 1 because we are dealing with grayscale images. It would be 3 for a color image." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "executionInfo": { "elapsed": 5153, "status": "ok", "timestamp": 1608040455358, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "fUREOxMVKM7N" }, "outputs": [], "source": [ "input = keras.layers.Input(shape=(img_shape, img_shape,1), name='input0')" ] }, { "cell_type": "markdown", "metadata": { "id": "dQ6L31qzKM7N" }, "source": [ "### Setup the Layers\n", "The presented neural network is composed by 2 convolutional layers, each one followed by a 2x2 max pooling layer, and 2 fully connected (dense) layers.\n", "\n", "Here, it is possible to change some parameters related to the layers." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "executionInfo": { "elapsed": 5152, "status": "ok", "timestamp": 1608040455359, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "qC7gJdEHKM7O" }, "outputs": [], "source": [ "# Convolutional Layer 1.\n", "kernel_size1 = 5 # Convolution filters are 5 x 5 pixels.\n", "num_filters1 = 32 # There are 16 of these filters.\n", "\n", "# Convolutional Layer 2.\n", "filter_size2 = 5 # Convolution filters are 5 x 5 pixels.\n", "num_filters2 = 128 # There are 36 of these filters.\n", "\n", "# Fully connected layer.\n", "fc_size = 256 # Number of neurons in fully-connected layer.\n", "\n", "# The output fully connected layer is composed by 10 neurons as the number of classes we are goig to use" ] }, { "cell_type": "markdown", "metadata": { "id": "jc_S_K_9KM7O" }, "source": [ "Now, we can start to setup our network.\n", "\n", "The first layer that we are going to add is a convolution layer. This is going to be applied on the `input` tensor.\n", "It is composed by `num_filters1` different filters, each having width and height equal to `kernel_size1`." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "executionInfo": { "elapsed": 6012, "status": "ok", "timestamp": 1608040456227, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "zouSecDvKM7O" }, "outputs": [], "source": [ "conv1 = keras.layers.Conv2D(filters = num_filters1, kernel_size=kernel_size1, strides=(1, 1), padding='same', \n", " data_format='channels_last',activation=tf.nn.relu, use_bias=True,\n", " kernel_initializer='glorot_uniform', bias_initializer='zeros', name='conv1')(input)" ] }, { "cell_type": "markdown", "metadata": { "id": "v29ow-2MKM7P" }, "source": [ "\"Drawing\"\n", "\n", "Then, we wish to downsample the image so it is half the size by using 2x2 max pooling.\n", "\n", "In this way we reduce the training complexity." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "executionInfo": { "elapsed": 6011, "status": "ok", "timestamp": 1608040456228, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "k2Pk7AFZKM7P" }, "outputs": [], "source": [ "pool1 = keras.layers.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', \n", " data_format='channels_last', name='pool1')(conv1)" ] }, { "cell_type": "markdown", "metadata": { "id": "xk9zNuhaKM7P" }, "source": [ "\"Drawing\"\n", "\n", "Similarly, we build a second set of convolutional and pooling layers.\n", "\n", "These are going to be applied on the output of the first pooling layer." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "executionInfo": { "elapsed": 6009, "status": "ok", "timestamp": 1608040456228, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "WV4EJx_CKM7P" }, "outputs": [], "source": [ "# Second convolutional layer\n", "conv2 = keras.layers.Conv2D(filters = num_filters2, kernel_size=filter_size2, strides=(1, 1), padding='same', \n", " data_format='channels_last', activation=tf.nn.relu, input_shape=(img_shape, img_shape),\n", " use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', name='conv2')(pool1)\n", "# It is followed by a 2x2 pooling layer\n", "pool2 = keras.layers.MaxPooling2D(pool_size=(2, 2), strides=None, padding='valid', data_format='channels_last', name='pool2')(conv2)" ] }, { "cell_type": "markdown", "metadata": { "id": "nv69RMcjKM7P" }, "source": [ "The convolutional layers output 3D tensors. We now wish to use these as input in a fully connected network, which requires for the tensors to be reshaped or flattened to vector.\n", "\n", "`tf.keras.layers.Flatten` transforms the format of its input from a 3D tensor ( [7, 7, 36] ), to a 1D array of 7 x 7 x 36 = 1764 elements. Think of this layer as unstacking rows of pixels in the image and lining them up. This layer has no parameters to learn; it only reformats the data." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "executionInfo": { "elapsed": 6009, "status": "ok", "timestamp": 1608040456229, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "kVu0zY-zKM7Q" }, "outputs": [], "source": [ "flat = keras.layers.Flatten()(pool2)" ] }, { "cell_type": "markdown", "metadata": { "id": "DKtc7fYDKM7Q" }, "source": [ "Add a fully connected layer to the network. The input is the flattened layer from the previous convolution. The number of neurons in the fully-connected layer is `fc_size`. ReLU is used so we can learn non-linear relations." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "executionInfo": { "elapsed": 6006, "status": "ok", "timestamp": 1608040456229, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "qRNstGeLKM7Q" }, "outputs": [], "source": [ "fc1 = keras.layers.Dense(fc_size, activation=tf.nn.relu, \n", " kernel_initializer='glorot_uniform', bias_initializer='zeros', name='fc1')(flat)" ] }, { "cell_type": "markdown", "metadata": { "id": "O6uYzkeLKM7R" }, "source": [ "\"Drawing\"\n", "\n", "Add another fully connected layer that outputs vectors of length 10 for determining which of the 10 classes the input image belongs to. Note that ReLU is not used in this layer. We are using the `softmax` here." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "executionInfo": { "elapsed": 6005, "status": "ok", "timestamp": 1608040456230, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "NevsIKgcKM7R" }, "outputs": [], "source": [ "output = keras.layers.Dense(num_classes, activation=tf.nn.softmax, \n", " kernel_initializer='glorot_uniform', bias_initializer='zeros', name='fc2')(fc1)" ] }, { "cell_type": "markdown", "metadata": { "id": "czDFYxy1KM7R" }, "source": [ "Finally, we build the Keras model by specifing the `input` tensor and the output of the last layer, `output`." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "executionInfo": { "elapsed": 6004, "status": "ok", "timestamp": 1608040456230, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "vKSx6dtQKM7T" }, "outputs": [], "source": [ "model = keras.models.Model(inputs=[input], outputs=[output])" ] }, { "cell_type": "markdown", "metadata": { "id": "3fcYnVG_IZ1l" }, "source": [ "To load pre-trained model weights from a previous training of the same model, use the `model.load_weights()` function." ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "executionInfo": { "elapsed": 6003, "status": "ok", "timestamp": 1608040456231, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "AtbTxUeUD_kB" }, "outputs": [], "source": [ "load_path = ''\n", "if load_path:\n", " model.load_weights(load_path)\n", " print('Load trained weights from {}'.format(load_path))" ] }, { "cell_type": "markdown", "metadata": { "id": "kj8YzTwHKM7T" }, "source": [ "We can also show the structure of the network by using the `summary()` method on the `model`. Notice how the largest part of the parameters is in the fully connected layer." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 5994, "status": "ok", "timestamp": 1608040456231, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "fGlXLTv0KM7T", "outputId": "71fc39a1-c549-452f-ee05-c5eb10eac090" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"model\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "input0 (InputLayer) [(None, 28, 28, 1)] 0 \n", "_________________________________________________________________\n", "conv1 (Conv2D) (None, 28, 28, 32) 832 \n", "_________________________________________________________________\n", "pool1 (MaxPooling2D) (None, 14, 14, 32) 0 \n", "_________________________________________________________________\n", "conv2 (Conv2D) (None, 14, 14, 128) 102528 \n", "_________________________________________________________________\n", "pool2 (MaxPooling2D) (None, 7, 7, 128) 0 \n", "_________________________________________________________________\n", "flatten (Flatten) (None, 6272) 0 \n", "_________________________________________________________________\n", "fc1 (Dense) (None, 256) 1605888 \n", "_________________________________________________________________\n", "fc2 (Dense) (None, 10) 2570 \n", "=================================================================\n", "Total params: 1,711,818\n", "Trainable params: 1,711,818\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ], "source": [ "model.summary()" ] }, { "cell_type": "markdown", "metadata": { "id": "BsdhczrZKM7T" }, "source": [ "### Compile the Model" ] }, { "cell_type": "markdown", "metadata": { "id": "RZorEzGgKM7T" }, "source": [ "Before the model is ready for training, it needs a few more settings. These are added during the model's compile step:\n", "* 'Loss function' — This measures how accurate the model is during training. We want to minimize this function to \"steer\" the model in the right direction.\n", "* 'Metrics' — Used to monitor the training and testing steps. The following example uses accuracy, the fraction of the images that are correctly classified.\n", "* 'Optimizer' — This is how the model is updated based on the data it sees and its loss function." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "executionInfo": { "elapsed": 5992, "status": "ok", "timestamp": 1608040456231, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "Vg7DpQU_KM7U" }, "outputs": [], "source": [ "adam = keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "executionInfo": { "elapsed": 5992, "status": "ok", "timestamp": 1608040456232, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "KxqatuGaKM7U" }, "outputs": [], "source": [ "model.compile(optimizer=adam,\n", " loss='sparse_categorical_crossentropy',\n", " metrics=['accuracy'])" ] }, { "cell_type": "markdown", "metadata": { "id": "jZYNE5tAKM7U" }, "source": [ "### Train the Model" ] }, { "cell_type": "markdown", "metadata": { "id": "yn5EJCDEKM7U" }, "source": [ "Training the neural network model requires the following steps:\n", "\n", "1. Feed the training data to the model. In this example, the `train_images` and `train_labels` arrays.\n", "2. The model learns to associate images and labels.\n", "3. We ask the model to make predictions about a test set. In this example, the `test_images` array. We verify that the predictions match the labels from the `test_labels` array.\n", "\n", "To start training, call the `model.fit()` method. The model is \"fit\" to the training data:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 147458, "status": "ok", "timestamp": 1608040597706, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "Op4a1C8BKM7U", "outputId": "cd3f87b8-d357-4c84-e107-28c8ba7c7b89" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/25\n", "375/375 [==============================] - 8s 14ms/step - loss: 0.7017 - accuracy: 0.7482 - val_loss: 0.3319 - val_accuracy: 0.8817\n", "Epoch 2/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.3098 - accuracy: 0.8867 - val_loss: 0.2810 - val_accuracy: 0.9003\n", "Epoch 3/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.2540 - accuracy: 0.9083 - val_loss: 0.2561 - val_accuracy: 0.9035\n", "Epoch 4/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.2124 - accuracy: 0.9221 - val_loss: 0.2514 - val_accuracy: 0.9039\n", "Epoch 5/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.1850 - accuracy: 0.9331 - val_loss: 0.2492 - val_accuracy: 0.9127\n", "Epoch 6/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.1600 - accuracy: 0.9411 - val_loss: 0.2305 - val_accuracy: 0.9135\n", "Epoch 7/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.1373 - accuracy: 0.9493 - val_loss: 0.2531 - val_accuracy: 0.9162\n", "Epoch 8/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.1194 - accuracy: 0.9558 - val_loss: 0.2423 - val_accuracy: 0.9181\n", "Epoch 9/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.1047 - accuracy: 0.9613 - val_loss: 0.2636 - val_accuracy: 0.9166\n", "Epoch 10/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0863 - accuracy: 0.9670 - val_loss: 0.2691 - val_accuracy: 0.9063\n", "Epoch 11/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0753 - accuracy: 0.9717 - val_loss: 0.2587 - val_accuracy: 0.9231\n", "Epoch 12/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0607 - accuracy: 0.9784 - val_loss: 0.2912 - val_accuracy: 0.9117\n", "Epoch 13/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0470 - accuracy: 0.9834 - val_loss: 0.2847 - val_accuracy: 0.9206\n", "Epoch 14/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0394 - accuracy: 0.9861 - val_loss: 0.3192 - val_accuracy: 0.9137\n", "Epoch 15/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0363 - accuracy: 0.9879 - val_loss: 0.3385 - val_accuracy: 0.9168\n", "Epoch 16/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0282 - accuracy: 0.9901 - val_loss: 0.3480 - val_accuracy: 0.9132\n", "Epoch 17/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0292 - accuracy: 0.9901 - val_loss: 0.3620 - val_accuracy: 0.9203\n", "Epoch 18/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0234 - accuracy: 0.9922 - val_loss: 0.3392 - val_accuracy: 0.9195\n", "Epoch 19/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0260 - accuracy: 0.9909 - val_loss: 0.3850 - val_accuracy: 0.9190\n", "Epoch 20/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0218 - accuracy: 0.9923 - val_loss: 0.4233 - val_accuracy: 0.9166\n", "Epoch 21/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0152 - accuracy: 0.9949 - val_loss: 0.4322 - val_accuracy: 0.9195\n", "Epoch 22/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0167 - accuracy: 0.9947 - val_loss: 0.4134 - val_accuracy: 0.9156\n", "Epoch 23/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0236 - accuracy: 0.9919 - val_loss: 0.4536 - val_accuracy: 0.9215\n", "Epoch 24/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0144 - accuracy: 0.9954 - val_loss: 0.4975 - val_accuracy: 0.9216\n", "Epoch 25/25\n", "375/375 [==============================] - 4s 11ms/step - loss: 0.0126 - accuracy: 0.9953 - val_loss: 0.4911 - val_accuracy: 0.9203\n" ] } ], "source": [ "history = model.fit(train_images, train_labels, \n", " batch_size = 128, epochs=25, validation_split = 0.2)" ] }, { "cell_type": "markdown", "metadata": { "id": "HOpN92u8KM7V" }, "source": [ "As the model trains, the loss and accuracy metrics are displayed. \n", "Pay attention at the use of `validation_split` to fix the ratio of the training set used as validation set." ] }, { "cell_type": "markdown", "metadata": { "id": "gf-S9JCoGY92" }, "source": [ "We can retrieve loss and accuracy values directly from the output of `model.fit()` and plot them to check the training progress over the epochs." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 367 }, "executionInfo": { "elapsed": 147862, "status": "ok", "timestamp": 1608040598119, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "_mih-HXu8Quq", "outputId": "aede5a5d-76a8-42b7-b92e-93cfe11dad38" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "History data: loss, accuracy, val_loss, val_accuracy\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(15,5))\n", "\n", "\n", "print('History data: '+', '.join(history.history.keys()))\n", "key_list = list(history.history.keys())\n", "\n", "axes[0].plot(history.history[key_list[2]], label=key_list[2])\n", "axes[0].plot(history.history[key_list[0]], label='train_' + key_list[0])\n", "axes[0].grid('on')\n", "axes[0].set_title('Loss')\n", "axes[0].set_xlabel('Epoch')\n", "axes[0].legend()\n", "\n", "axes[1].plot(history.history[key_list[3]], label=key_list[3])\n", "axes[1].plot(history.history[key_list[1]], label='train_' + key_list[1])\n", "axes[1].grid('on')\n", "axes[1].set_title('Accuracy')\n", "axes[1].set_xlabel('Epoch')\n", "axes[1].legend()\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "TXx7CUM2HdCX" }, "source": [ "To save the model weights after training, use the `model.save_weights()` function." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 148069, "status": "ok", "timestamp": 1608040598337, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "frI2yDosB_Ye", "outputId": "f8fb4346-8f15-4dd4-ad03-9579d36a59a8" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saved trained weights at log/model_ep25\n" ] } ], "source": [ "save_path = 'log/model_ep{}'.format(len(history.history['loss']))\n", "if save_path:\n", " model.save_weights(save_path)\n", " print('Saved trained weights at {}'.format(save_path))" ] }, { "cell_type": "markdown", "metadata": { "id": "RIF3cn0vKM7V" }, "source": [ "### Helper-functions to show performance" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "executionInfo": { "elapsed": 148067, "status": "ok", "timestamp": 1608040598337, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "vNzwtzePKM7V" }, "outputs": [], "source": [ "def print_confusion_matrix(model, images, labels):\n", " num_classes = 10\n", " # Get the predicted classifications for the test-set.\n", " predictions = model.predict(images)\n", " # Get the true classifications for the test-set.\n", "\n", " # Get the confusion matrix using sklearn.\n", " cm = tf.math.confusion_matrix(labels, np.argmax(predictions,axis=1))\n", " # Print the confusion matrix as text.\n", " print(cm)\n", " # Plot the confusion matrix as an image.\n", " plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)\n", " # Make various adjustments to the plot.\n", " plt.tight_layout()\n", " plt.colorbar()\n", " tick_marks = np.arange(num_classes)\n", " plt.xticks(tick_marks, class_names, rotation=45)\n", " plt.yticks(tick_marks, class_names, rotation=0)\n", " plt.ylim(num_classes-0.5,-0.5)\n", " plt.xlabel('Predicted')\n", " plt.ylabel('True')\n", " # Ensure the plot is shown correctly with multiple plots\n", " # in a single Notebook cell.\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "xxiUDbWgKM7V" }, "source": [ "Function for plotting examples of images from the test set that have been mis-classified." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "executionInfo": { "elapsed": 148066, "status": "ok", "timestamp": 1608040598338, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "NZa1IXLhKM7V" }, "outputs": [], "source": [ "def plot_example_errors(model, images, labels):\n", " # Get the predicted classifications for the test-set.\n", " predictions = model.predict(images)\n", "\n", " predictions_in = np.argmax(predictions, axis=1)\n", " correct = (predictions_in == labels)\n", "\n", " # Negate the boolean array.\n", " incorrect = (correct == False)\n", " # Get the images from the test-set that have been\n", " # incorrectly classified.\n", " images = images[incorrect]\n", " # Get the predicted classes for those images.\n", " cls_pred = predictions_in[incorrect]\n", " # Get the true classes for those images.\n", " cls_true = labels[incorrect]\n", " # Plot the first 9 images.\n", " plot_images(images=images[0:9],\n", " labels=cls_true[0:9],\n", " predictions=cls_pred[0:9])" ] }, { "cell_type": "markdown", "metadata": { "id": "nvFVgNJMKM7V" }, "source": [ "## Performance after 5 epochs\n", "\n", "After 5 epochs, the model only mis-classifies about one in 100 images. As demonstrated below, some of the mis-classifications are justified because the images are very hard to determine with certainty even for humans, while few examples are quite obvious but nevertheless the proposed 4-layer network fails. " ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "executionInfo": { "elapsed": 148943, "status": "ok", "timestamp": 1608040599224, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "iKt2Tg26KM7V", "outputId": "016cac48-f1d1-4d16-830b-e34b23a7c3ab" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "313/313 [==============================] - 2s 4ms/step - loss: 0.5113 - accuracy: 0.9204\n", "Test accuracy: 0.9204000234603882\n" ] } ], "source": [ "test_loss, test_acc = model.evaluate(test_images, test_labels)\n", "print('Test accuracy:', test_acc)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 262 }, "executionInfo": { "elapsed": 149943, "status": "ok", "timestamp": 1608040600234, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "UUtU87dfKM7W", "outputId": "9cce5e8d-98b3-45be-e690-1c69fdbc609d" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_example_errors(model, test_images, test_labels)" ] }, { "cell_type": "markdown", "metadata": { "id": "stWuJVgMKM7W" }, "source": [ "We can also print and plot the so-called confusion matrix which lets us see more details about the mis-classifications. " ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 503 }, "executionInfo": { "elapsed": 150435, "status": "ok", "timestamp": 1608040600736, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "CK6eR139KM7W", "outputId": "633a3956-f148-42b8-cd3b-bbd65f85126d" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tf.Tensor(\n", "[[862 2 9 13 1 0 97 0 16 0]\n", " [ 2 982 1 11 1 0 2 0 1 0]\n", " [ 22 1 893 9 27 0 44 0 4 0]\n", " [ 14 2 7 932 26 0 14 0 5 0]\n", " [ 0 1 75 14 863 0 44 0 3 0]\n", " [ 0 0 0 0 0 974 0 22 0 4]\n", " [ 86 1 58 28 47 0 766 0 14 0]\n", " [ 0 0 0 0 0 4 0 986 0 10]\n", " [ 5 0 0 3 1 4 0 3 984 0]\n", " [ 1 0 0 0 0 4 0 33 0 962]], shape=(10, 10), dtype=int32)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print_confusion_matrix(model, test_images, test_labels)" ] }, { "cell_type": "markdown", "metadata": { "id": "KfQ47WPWKM7W" }, "source": [ "## Visualization of Weights and Layers\n", "In trying to understand why the convolutional neural network can recognize handwritten digits, we will now visualize the weights of the convolutional\n", "filters and the resulting output images." ] }, { "cell_type": "markdown", "metadata": { "id": "Xs12AW6ZKM7W" }, "source": [ "## Helper-function for plotting convolutional weights" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "executionInfo": { "elapsed": 150431, "status": "ok", "timestamp": 1608040600737, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "9x0xtK2cKM7X" }, "outputs": [], "source": [ "def plot_conv_weights(w, input_channel=0):\n", " # Get the lowest and highest values for the weights.\n", " # This is used to correct the colour intensity across\n", " # the images so they can be compared with each other.\n", " w_min = np.min(w)\n", " w_max = np.max(w)\n", " # Number of filters used in the conv. layer.\n", " num_filters = w.shape[3]\n", " # Number of grids to plot.\n", " # Rounded-up, square-root of the number of filters.\n", " num_grids = math.ceil(math.sqrt(num_filters))\n", " # Create figure with a grid of sub-plots.\n", " fig, axes = plt.subplots(num_grids, num_grids, figsize=(13,13))\n", " # Plot all the filter-weights.\n", " for i, ax in enumerate(axes.flat):\n", " # Only plot the valid filter-weights.\n", " if i" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "test_image = test_images[0]\n", "\n", "plt.imshow(np.squeeze(test_image), interpolation='nearest', cmap='binary')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "PEhDBnMnKM7Y" }, "source": [ "## First Convolutional Layer\n", "Now, we plot the filter-weights for the first convolutional layer.\n", "\n", "Note that positive weights are red and negative weights are blue." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 755 }, "executionInfo": { "elapsed": 151728, "status": "ok", "timestamp": 1608040602056, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "jzUbnonvKM7Y", "outputId": "150e6c9f-0e96-42e5-bb6e-632ab3d35444" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Show weights Conv 1\n", "w_conv1, b_conv1 = model.get_layer('conv1').get_weights()\n", "plot_conv_weights(w_conv1, input_channel=0)" ] }, { "cell_type": "markdown", "metadata": { "id": "h7LXK70-KM7Y" }, "source": [ "Applying each of these convolutional filters to the first input image gives the following output images, which are then used as input to the second convolutional layer. Note that these images are downsampled to 14x14 pixels which is half the resolution of the original input image." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 863 }, "executionInfo": { "elapsed": 153241, "status": "ok", "timestamp": 1608040603580, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "ZcSNoax0KM7Y", "outputId": "70ec4cac-2e0d-49d2-f6ec-91529779b827" }, "outputs": [ { "data": { "image/png": "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Rhq5szfLse9xRILvOaZOnapyu3bt8j4u+77HKob3vHzSBQAAAAAOsegCAAAAAIdYdAEAAACAQ9R0ZWjt2rUq9+nTJ+d92mvdn3rqKZXttcd2DGvWrIk8hm2GmXr9/aFDhzIaJ/6XraNo06aNyrW1tYHnzJ49W+UzzzxT5RtvvFHl7du3q2wbToaJupa5W7dukftA8mxN4Oc+97nANqNHj1bZxe/S1kUMHjxY5aeffjrvx2zqbI2WZc//e/fuVfnAgQOR+xsxYkR2gzvipz/9aeCx66+/XuWuXbuqbJshZzOG1Ga2IiIPPfRQ7H2g6QqrE0T2bANq+3pRV1cXeM59992n8p133qnysGHDVJ4yZYrKZ5xxRtxhRrr55pvzvs+4+KQLAAAAABxi0QUAAAAADrHoAgAAAACHqOkKMWfOnMBjJ510kspbtmxRedGiRSqPGTMm8ji23ur222/PdIgiInL++edHbmNrjlL7K9CvIprtc2Z7Txx//PEq2/otEZHp06erHPV7W7duncp2bomInH766Wn3gYZh/PjxKoddG/+LX/xCZft3+/e//13lc845J/Y4ysrKVB47dmzsfTQlUfVYVjbn2n379qlsa4Btr5w77rgj9jGyMXz48LRf7969e96PaeuZkYwZM2aobOfxqaeemuRwMmbf96T2sYz7t9sU2dehqP5+zz77bOAxe/767Gc/m/YYkyZNUtnWioqIDBw4MO04oth6efsePAl80gUAAAAADrHoAgAAAACHWHQBAAAAgEPUdInIsmXLVN6xY0fkc+w15raXThJGjhwZ+znbtm2r/zd9uoJsDdfixYtVHjp0qMqvv/562u1FRG677ba0x/zggw9UttcZh/W5Sf09iogsXbpU5dLSUpWHDBmSdnubRUQuuuii8AEja1/4whdUXrJkicovvPBC4Dm2Z5at8bN1YYgnrMYjqgbLfj1q+7BaPcv23bKOOUb/P1Lbv69Zs8b7cr5q1apCD6HRC3sNsK+Htkeg7cm2a9cule2cFREZMGBArHHZv89s6iNT+0wdPnw49vMbO/szKSkpSbu9reEKuw/C888/r7LtK2vr33v27Kly//79A/u076/s/DzllFPCB3zEiy++qHJSdbCp+KQLAAAAABxi0QUAAAAADrHoAgAAAACHGu9F4GnY60DtNcMnn3xy5D5atWqlcj6up9+6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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Accepted values for layer are: 'conv1', 'pool1', 'conv2' and 'pool2'\n", "plot_conv_layer(layer='conv1', image=test_images[0])" ] }, { "cell_type": "markdown", "metadata": { "id": "vd0Oo8tnKM7Y" }, "source": [ "It is difficult to see from these images what the purpose of the convolutional filters might be. It appears that they have merely created several variations of the input image, as if light was shining from different angles and casting shadows in the image." ] }, { "cell_type": "markdown", "metadata": { "id": "156RpRBMKM7Z" }, "source": [ "## Second Convolutional Layer\n", "Now plot the filter-weights for the second convolutional layer.\n", "\n", "There are 16 output channels from the first conv-layer, which means there are 16 input channels to the second conv-layer. The second conv-layer has a set of filter-weights for each of its input channels. We start by plotting the filter-weigths for the first channel.\n", "\n", "Note again that positive weights are red and negative weights are blue." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 755 }, "executionInfo": { "elapsed": 157848, "status": "ok", "timestamp": 1608040608196, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "iv5JmLn_KM7Z", "outputId": "9812c4ac-fdf8-4f0a-a766-4bc75c2441ad" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Show weights Conv 2\n", "w_conv2, b_conv2 = model.get_layer('conv2').get_weights()\n", "plot_conv_weights(w_conv2, input_channel=0)" ] }, { "cell_type": "markdown", "metadata": { "id": "isKkqZoXKM7Z" }, "source": [ "There are 16 input channels to the second convolutional layer, so we can make another 15 plots of filter-weights like this. We just make one more with the filter-weights for the second channel.\n", "\n", "It can be difficult to understand and keep track of how these filters are applied because of the high dimensionality.\n", "\n", "Applying these convolutional filters to the images that were ouput from the first conv-layer gives the following images.\n", "\n", "Note that these are downsampled yet again to 7x7 pixels which is half the resolution of the images from the first conv-layer." ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 863 }, "executionInfo": { "elapsed": 162971, "status": "ok", "timestamp": 1608040613329, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "mlOuhZdhKM7Z", "outputId": "063042a4-e442-44e5-89d2-a79785e059a8" }, "outputs": [ { "data": { "image/png": "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6HP5pk2bkn4en7QBAAAAgMWYtAEAAACAxZi0AQAAAIDFQu9py7YgethMZg+b6Z133olsb9++PfDjN2ZXXnllZPupp54KcSRoLMy1roJgrsMWRA9bYzVgwAB5+umnI3nMmDHq/ug+VJHc9KKms96Pudaeuf6SDbp27apyquuEpdOfU1VVFfd+c80hND5BrDeXix4213WltrY2ks1e4v/7v/9T2eyREonteX7ttddUju7PFRE54ogjVB4/fnzyA95rzZo1Kvfo0SPlfTR2Zv+al+uuuy4HI8kP0edyc625ePikDQAAAAAsxqQNAAAAACzGpA0AAAAALJb3PW1hiO7BeeONN0IcCRqLu+++O+whiEjsOFasWKFys2bNVDbXTzn++ONTPmZFRYXKBx98sMonnXRSyvtE+sx/05dffjnnY0hnfR8be9gyNW7cOJXN9bZuu+22lPd56KGHZjQmIF2O40hxcXEkR2+LiEyaNCluDksh9rDBTnzSBgAAAAAWY9IGAAAAABZj0gYAAAAAFmPSBgAAAAAW40IkgAWCuDhAQ0OD7Ny5M5LNi4aYi5J6ufjiizMeR6rKy8tVTrR4czqLAVdWVqrnLVmyRN3fv3//lPe5YcMGlRctWqRy9ELyIiJ33XVX3OePHj065TFkw1VXXRX3/osuuijmtjfffFNlc6HrMDz77LOR7S1btgS+/5UrV6ocvUD5dx577DGVzdddnz59VJ44caLK06ZNU7lTp04pj/PHP/6xyg0NDSnvI5GZM2eqPHbs2Iz3aS6wbv7dhwwZkvExANjts88+k3333TeSv/jiC3X/E088obJ58aZ0vPDCCyqfcsopGe8zKHzSBgAAAAAWY9IGAAAAABZj0gYAAAAAFiu4nrbnnntOZXNh3+uvv17lJk1Sn9em03ODwmb2daWjSZMm0rJlywBGk386deokp512WiRfdtll6v6bbrpJ5aFDh8bswzwX7N69W+Xo792LxPbkzJs3T+XLL79c5ddeey3mmLfeemvMbWG75557wh5CUn74wx9Gtm+88cbA99+7d2+VzdeU3225Nn369Lj3B/Hzyuxh+/rrr1Vu27ZtzHPMnltTOgus22DVqlXy61//OpLNv+cxxxyjsnneEBHp1atXSsd88cUXVTZ7cM4//3yVS0pKYvZx3333pXRMBGfTpk2q/3X8+PEhjsYuw4YN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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Accepted values for layer are: 'conv1', 'pool1', 'conv2' and 'pool2'\n", "plot_conv_layer(layer='conv2', image=test_images[0])" ] }, { "cell_type": "markdown", "metadata": { "id": "Gy1jW7ePKM7Z" }, "source": [ "From these images, it looks like the second convolutional layer might detect lines and patterns in the input images, which are less sensitive to local variations in the original input images.\n", "\n", "These images are then flattened and input to the fully connected layer, but that is not shown here." ] }, { "cell_type": "markdown", "metadata": { "id": "JgqTTC4BKM7Z" }, "source": [ "## Conclusion\n", "\n", "We have seen how to implement a Convolutional Neural Network recognizing hand-written digits. The Convolutional Network gets a classification accuracy of about 91%." ] }, { "cell_type": "markdown", "metadata": { "id": "aBXoMV3sKM7Z" }, "source": [ "\n", "\n", "\n", "\n", "## License (MIT)\n", "\n", "The tutorial has been adapted for the computer vision course and converted into the Keras framework by Gianluca Agresti.\n", "Comments revised by P. Zanuttigh.\n", "\n", "Based on the work from Magnus Erik Hvass Pedersen.\n", "\n", "Copyright (c) 2016 by [Magnus Erik Hvass Pedersen](http://www.hvass-labs.org/)\n", "\n", "Revised P. Zanuttigh\n", "\n", "Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n", "\n", "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n", "\n", "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "executionInfo": { "elapsed": 162969, "status": "ok", "timestamp": 1608040613329, "user": { "displayName": "Marco Toldo", "photoUrl": "", "userId": "10123192063759507523" }, "user_tz": -60 }, "id": "tBforO50KM7a" }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "accelerator": "GPU", "anaconda-cloud": {}, "colab": { "collapsed_sections": [], "name": "CNN_tutorial_solution_2020.ipynb", "provenance": [] }, "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.9.5" } }, "nbformat": 4, "nbformat_minor": 4 }