{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "Example of image classification with neural network.ipynb", "provenance": [], "collapsed_sections": [], "include_colab_link": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "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": [ "#Example of image classification with neural network" ] }, { "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", "outputId": "77348de5-0b40-45dc-f4dc-bf37ceef9694", "colab": { "base_uri": "https://localhost:8080/", "height": 65 } }, "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": [ { "output_type": "display_data", "data": { "text/html": [ "

\n", "The default version of TensorFlow in Colab will soon switch to TensorFlow 2.x.
\n", "We recommend you upgrade now \n", "or ensure your notebook will continue to use TensorFlow 1.x via the %tensorflow_version 1.x magic:\n", "more info.

\n" ], "text/plain": [ "" ] }, "metadata": { "tags": [] } } ] }, { "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": "5d504831-f824-4826-9528-6768e84bc744", "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": "46906eb1-11a1-4c01-f5d0-b7473bf5f08c", "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": [ "###We create a neural net" ] }, { "cell_type": "code", "metadata": { "id": "EnO6W_uendrN", "colab_type": "code", "outputId": "4db42f2d-7f5a-4b1e-a388-2510f62eb8bb", "colab": { "base_uri": "https://localhost:8080/", "height": 92 } }, "source": [ "model = keras.Sequential([\n", " keras.layers.Flatten(input_shape=(28, 28)),\n", " keras.layers.Dense(64, activation=tf.nn.relu),\n", " keras.layers.Dense(10, activation=tf.nn.softmax)\n", "])" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "If using Keras pass *_constraint arguments to layers.\n" ], "name": "stdout" } ] }, { "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": "368fff7b-3aa3-4fe8-efd0-e33cfe3e47d9", "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.5175 - acc: 0.8194\n", "Epoch 2/10\n", "60000/60000 [==============================] - 4s 62us/sample - loss: 0.3921 - acc: 0.8615\n", "Epoch 3/10\n", "60000/60000 [==============================] - 4s 61us/sample - loss: 0.3565 - acc: 0.8711\n", "Epoch 4/10\n", "60000/60000 [==============================] - 4s 60us/sample - loss: 0.3330 - acc: 0.8784\n", "Epoch 5/10\n", "60000/60000 [==============================] - 4s 61us/sample - loss: 0.3146 - acc: 0.8836\n", "Epoch 6/10\n", "60000/60000 [==============================] - 4s 61us/sample - loss: 0.3026 - acc: 0.8891\n", "Epoch 7/10\n", "60000/60000 [==============================] - 4s 61us/sample - loss: 0.2893 - acc: 0.8948\n", "Epoch 8/10\n", "60000/60000 [==============================] - 4s 61us/sample - loss: 0.2778 - acc: 0.8982\n", "Epoch 9/10\n", "60000/60000 [==============================] - 4s 61us/sample - loss: 0.2695 - acc: 0.9009\n", "Epoch 10/10\n", "60000/60000 [==============================] - 4s 61us/sample - loss: 0.2632 - acc: 0.9036\n" ], "name": "stdout" }, { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 8 } ] }, { "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": "caca936e-c1f8-45bd-d572-5461e515a52c", "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 [[4.7269925e-05 6.7162512e-11 9.9416757e-01 7.9031757e-08 2.6153151e-03\n", " 7.7022203e-14 3.1697203e-03 3.2766182e-15 1.2217416e-08 4.0623840e-15]]\n", "Highest probability in place: 2\n", "Image is classified as a: Pullover\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "NnRT1sg7rQHi", "colab_type": "text" }, "source": [ "" ] }, { "cell_type": "code", "metadata": { "id": "zslaJQ7VoZDu", "colab_type": "code", "outputId": "e2d9cd85-a5ac-4558-c83f-61b748a005ed", "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": "KaJlvr76sOtB", "colab_type": "text" }, "source": [ "###Evaluate models accuracy" ] }, { "cell_type": "code", "metadata": { "id": "iyCJ4rDzsRx8", "colab_type": "code", "outputId": "32613819-27fa-4aa7-d611-9ce66e2cd5de", "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 34us/sample - loss: 0.3430 - acc: 0.8819\n", "Test loss, accuracy: [0.34303882870674135, 0.8819]\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "GQMgOE88CFNZ", "colab_type": "code", "outputId": "2fbe7902-26de-41de-9c19-6f9e204ffd92", "colab": { "base_uri": "https://localhost:8080/", "height": 394 } }, "source": [ "prediction=model.predict(test_images[12].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()])\n", "print(\"Actual label number is:\",test_labels[12])\n", "print(\"Image is a: \",class_names[test_labels[12]])\n", "plt.imshow(test_images[12])" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Probabilities of image in each class are [[2.9833541e-07 3.4984214e-07 5.2938790e-06 2.2196046e-07 3.0843472e-05\n", " 1.4087908e-01 5.4214041e-08 2.2918980e-01 6.2989372e-01 2.9229400e-07]]\n", "Highest probability in place: 8\n", "Image is classified as a: Bag\n", "Actual label number is: 7\n", "Image is a: Sneaker\n" ], "name": "stdout" }, { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 12 }, { "output_type": "display_data", "data": { "image/png": "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\nKF7GlmsGXKMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "y8Tane_mDHI-", "colab_type": "code", "outputId": "caa88df2-0a13-4083-dc1b-b88c2b78db19", "colab": { "base_uri": "https://localhost:8080/", "height": 394 } }, "source": [ "prediction=model.predict(test_images[17].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()])\n", "print(\"Actual label number is:\",test_labels[17])\n", "print(\"Image is a: \",class_names[test_labels[17]])\n", "plt.imshow(test_images[17])" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Probabilities of image in each class are [[2.6976159e-03 2.6915019e-09 9.8906553e-01 4.8810068e-07 3.9343471e-03\n", " 4.9612314e-10 4.2868727e-03 5.2282022e-11 1.5191695e-05 1.4628523e-10]]\n", "Highest probability in place: 2\n", "Image is classified as a: Pullover\n", "Actual label number is: 4\n", "Image is a: Coat\n" ], "name": "stdout" }, { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 13 }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] } ] }