{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "Image Classification with and without convlolution.ipynb", "provenance": [], "collapsed_sections": [], "include_colab_link": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "accelerator": "TPU" }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "Ww3F3BuDkH_V", "colab_type": "text" }, "source": [ "#Image Classification with and without convlolution" ] }, { "cell_type": "markdown", "metadata": { "id": "HidJIZ8kkg1Q", "colab_type": "text" }, "source": [ "###First, we load the necessary libraries" ] }, { "cell_type": "code", "metadata": { "id": "QRhENDcTjx1S", "colab_type": "code", "colab": {} }, "source": [ "import numpy as np\n", "import tensorflow as tf\n", "from tensorflow import keras\n", "import matplotlib.pyplot as plt" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "x1dVuDBolRg7", "colab_type": "text" }, "source": [ "###Then, we load Fashion MINST dataset" ] }, { "cell_type": "code", "metadata": { "id": "akPbPBwplY8v", "colab_type": "code", "outputId": "836eafb9-a6e8-4f21-ef89-cbb4ebcd98dc", "colab": { "base_uri": "https://localhost:8080/", "height": 164 } }, "source": [ "fashion_mnist = keras.datasets.fashion_mnist\n", "(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz\n", "32768/29515 [=================================] - 0s 0us/step\n", "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz\n", "26427392/26421880 [==============================] - 1s 0us/step\n", "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz\n", "8192/5148 [===============================================] - 0s 0us/step\n", "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz\n", "4423680/4422102 [==============================] - 0s 0us/step\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "Xz_mDVy1ovUL", "colab_type": "text" }, "source": [ "###Label number correspond to:\n", "| Label| Class|\n", "|---------|----------|\n", "| 0 | T-shirt/top|\n", "| 1 | Trouser|\n", "| 2 | Pullover|\n", "| 3 | Dress|\n", "| 4 | Coat|\n", "| 5 | Sandal|\n", "| 6 | Shirt|\n", "| 7 | Sneaker|\n", "| 8 | bag|\n", "| 9 | Ankle boot|\n", "\n", "###We store correspondence in class_names variable" ] }, { "cell_type": "code", "metadata": { "id": "3jTUU9zPo_pY", "colab_type": "code", "colab": {} }, "source": [ "class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat',\n", " 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "Y_7uABuIpBEV", "colab_type": "text" }, "source": [ "###We can see an example" ] }, { "cell_type": "code", "metadata": { "id": "9ctTGeODlvt6", "colab_type": "code", "outputId": "49b94b1b-a1d9-4886-f132-f5abcf71a0a3", "colab": { "base_uri": "https://localhost:8080/", "height": 238 } }, "source": [ "f, ax = plt.subplots(1,2)\n", "ax[0].imshow(train_images[40])\n", "ax[1].imshow(train_images[50])\n", "print(train_labels[40],train_labels[50])\n", "print(class_names[6],class_names[6])" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "6 3\n", "Shirt Shirt\n" ], "name": "stdout" }, { "output_type": "display_data", "data": { "image/png": "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\nYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "84j2r_8qle4g", "colab_type": "text" }, "source": [ "###Next, we normalise data" ] }, { "cell_type": "code", "metadata": { "id": "ABSLwCLslpkI", "colab_type": "code", "colab": {} }, "source": [ "train_images = train_images / 255.0\n", "test_images = test_images / 255.0\n" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "1P3gPj5TnWvI", "colab_type": "text" }, "source": [ "#Simple neural net" ] }, { "cell_type": "code", "metadata": { "id": "EnO6W_uendrN", "colab_type": "code", "colab": {} }, "source": [ "model = keras.Sequential([\n", " keras.layers.Flatten(),\n", " keras.layers.Dense(128, activation=tf.nn.relu),\n", " keras.layers.Dense(10, activation=tf.nn.softmax)\n", "])" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "f4ZajpTGnkLd", "colab_type": "text" }, "source": [ "###Next, compile the model" ] }, { "cell_type": "code", "metadata": { "id": "cs-CinJAnjxy", "colab_type": "code", "colab": {} }, "source": [ "model.compile(optimizer='adam', \n", " loss='sparse_categorical_crossentropy', metrics=['accuracy'])" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "F-Cd-ptRns1w", "colab_type": "text" }, "source": [ "###Train model" ] }, { "cell_type": "code", "metadata": { "id": "8bfZQh8vnujg", "colab_type": "code", "outputId": "cea87abe-2111-4981-ee8d-69baf82ca6be", "colab": { "base_uri": "https://localhost:8080/", "height": 421 } }, "source": [ "model.fit(train_images, train_labels, epochs=10)" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Train on 60000 samples\n", "Epoch 1/10\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1739 - acc: 0.9341\n", "Epoch 2/10\n", "60000/60000 [==============================] - 4s 67us/sample - loss: 0.1711 - acc: 0.9362\n", "Epoch 3/10\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1671 - acc: 0.9366\n", "Epoch 4/10\n", "60000/60000 [==============================] - 4s 69us/sample - loss: 0.1649 - acc: 0.9383\n", "Epoch 5/10\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1578 - acc: 0.9410\n", "Epoch 6/10\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1566 - acc: 0.9410\n", "Epoch 7/10\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1504 - acc: 0.9447\n", "Epoch 8/10\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1476 - acc: 0.9449\n", "Epoch 9/10\n", "60000/60000 [==============================] - 4s 68us/sample - loss: 0.1454 - acc: 0.9447\n", "Epoch 10/10\n", "60000/60000 [==============================] - 4s 67us/sample - loss: 0.1442 - acc: 0.9456\n" ], "name": "stdout" }, { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 32 } ] }, { "cell_type": "markdown", "metadata": { "id": "Lb0BXV-6n7aJ", "colab_type": "text" }, "source": [ "###Predict class of second image in test dataset" ] }, { "cell_type": "code", "metadata": { "id": "s8jsni0bn_f1", "colab_type": "code", "outputId": "12838771-6576-4398-d046-5305204fd42e", "colab": { "base_uri": "https://localhost:8080/", "height": 90 } }, "source": [ "prediction=model.predict(test_images[1].reshape(1, 28, 28))\n", "print(\"Probabilities of image in each class are\",prediction)\n", "print(\"Highest probability in place:\", prediction.argmax())\n", "print(\"Image is classified as a: \",class_names[prediction.argmax()])" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Probabilities of image in each class are [[1.4792593e-05 7.4572272e-15 9.9984133e-01 1.0109936e-13 9.9008597e-05\n", " 8.3782468e-15 4.4799071e-05 7.3859103e-23 1.0118387e-09 6.3930431e-16]]\n", "Highest probability in place: 2\n", "Image is classified as a: Pullover\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "zslaJQ7VoZDu", "colab_type": "code", "outputId": "d103fa5e-cecf-430c-f94d-42962e2a8c61", "colab": { "base_uri": "https://localhost:8080/", "height": 320 } }, "source": [ "print(\"Actual label number is:\",test_labels[1])\n", "print(\"Image is a: \",class_names[test_labels[1]])\n", "plt.imshow(test_images[1])\n" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Actual label number is: 2\n", "Image is a: Pullover\n" ], "name": "stdout" }, { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 10 }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "NnRT1sg7rQHi", "colab_type": "text" }, "source": [ "Second image is a pullover and it is classified correctly." ] }, { "cell_type": "markdown", "metadata": { "id": "KaJlvr76sOtB", "colab_type": "text" }, "source": [ "###Evaluate models accuracy" ] }, { "cell_type": "code", "metadata": { "id": "iyCJ4rDzsRx8", "colab_type": "code", "outputId": "210ea44e-d8f0-44a1-d3dc-2875c7f923fa", "colab": { "base_uri": "https://localhost:8080/", "height": 54 } }, "source": [ "test_acc = model.evaluate(test_images, test_labels)\n", "print('Test loss, accuracy:', test_acc)\n" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "10000/10000 [==============================] - 0s 32us/sample - loss: 0.4091 - acc: 0.8865\n", "Test accuracy: [0.4091187917113304, 0.8865]\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "Xnki0uOpxoKz", "colab_type": "text" }, "source": [ "The overal model's accuracy is very low. This in part because of the low number of training epochs. Next, we will create a convolution neural network and compare the performance of the two models." ] }, { "cell_type": "markdown", "metadata": { "id": "Z_Eli9ZX0Yio", "colab_type": "text" }, "source": [ "## Convolution Neural Network" ] }, { "cell_type": "code", "metadata": { "id": "15ZvqCtO1R39", "colab_type": "code", "colab": {} }, "source": [ "cnn_train_images=train_images.reshape(60000, 28, 28, 1)\n", "cnn_test_images = test_images.reshape(10000, 28, 28, 1)" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "tNfabnuzxTmz", "colab_type": "code", "colab": {} }, "source": [ "cnn_model = tf.keras.models.Sequential([\n", " tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28, 28,1)),\n", " tf.keras.layers.MaxPooling2D(2, 2),\n", " tf.keras.layers.Flatten(),\n", " keras.layers.Dense(128, activation=tf.nn.relu),\n", " keras.layers.Dense(10, activation=tf.nn.softmax)\n", "])" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "3SfRYTO40tzN", "colab_type": "code", "colab": {} }, "source": [ "cnn_model.compile(optimizer='adam', \n", " loss='sparse_categorical_crossentropy', metrics=['accuracy'])" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "l7ASxW-70zIN", "colab_type": "code", "outputId": "c37abb7d-5419-40db-a6d0-82fdd4e0ab17", "colab": { "base_uri": "https://localhost:8080/", "height": 421 } }, "source": [ "cnn_model.fit(cnn_train_images, train_labels, epochs=10)" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Train on 60000 samples\n", "Epoch 1/10\n", "60000/60000 [==============================] - 36s 604us/sample - loss: 0.3938 - acc: 0.8609\n", "Epoch 2/10\n", "60000/60000 [==============================] - 36s 596us/sample - loss: 0.2643 - acc: 0.9043\n", "Epoch 3/10\n", "60000/60000 [==============================] - 36s 595us/sample - loss: 0.2214 - acc: 0.9185\n", "Epoch 4/10\n", "60000/60000 [==============================] - 36s 596us/sample - loss: 0.1910 - acc: 0.9294\n", "Epoch 5/10\n", "60000/60000 [==============================] - 36s 592us/sample - loss: 0.1613 - acc: 0.9407\n", "Epoch 6/10\n", "60000/60000 [==============================] - 35s 591us/sample - loss: 0.1386 - acc: 0.9488\n", "Epoch 7/10\n", "60000/60000 [==============================] - 35s 590us/sample - loss: 0.1174 - acc: 0.9567\n", "Epoch 8/10\n", "60000/60000 [==============================] - 36s 594us/sample - loss: 0.1005 - acc: 0.9628\n", "Epoch 9/10\n", "60000/60000 [==============================] - 36s 597us/sample - loss: 0.0848 - acc: 0.9688\n", "Epoch 10/10\n", "60000/60000 [==============================] - 36s 607us/sample - loss: 0.0727 - acc: 0.9743\n" ], "name": "stdout" }, { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 36 } ] }, { "cell_type": "code", "metadata": { "id": "88D3VU7O672K", "colab_type": "code", "outputId": "db316b9c-dcfd-4285-d8b5-e824b0bc8c06", "colab": { "base_uri": "https://localhost:8080/", "height": 54 } }, "source": [ "test_cnn_acc = cnn_model.evaluate(cnn_test_images, test_labels)\n", "print('Test loss, accuracy:', test_cnn_acc)\n" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "10000/10000 [==============================] - 2s 200us/sample - loss: 0.3218 - acc: 0.9175\n", "Test loss, accuracy: [0.32177444730997085, 0.9175]\n" ], "name": "stdout" } ] } ] }