Skip to content

Instantly share code, notes, and snippets.

@Sanket758
Created August 11, 2020 18:39
Show Gist options
  • Save Sanket758/b30d6b10ed5ce70e5790d3e254cfa04f to your computer and use it in GitHub Desktop.
Save Sanket758/b30d6b10ed5ce70e5790d3e254cfa04f to your computer and use it in GitHub Desktop.
Fashion-Mnist-ANN.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Fashion-Mnist-ANN.ipynb",
"provenance": [],
"collapsed_sections": [],
"authorship_tag": "ABX9TyM8jcWKoeB8SyJXfqijYCBh",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/Sanket758/b30d6b10ed5ce70e5790d3e254cfa04f/fashion-mnist-ann.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "G78nyMfwIlA7",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 73
},
"outputId": "cfbfea6d-6f53-4de7-de8f-0277202ab239"
},
"source": [
"#Step 1: Importing Libraries\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import tensorflow as tf"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
" import pandas.util.testing as tm\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "HOGTnpIGmuni",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "3de77d73-dd7c-4d48-f22e-b3da421da6db"
},
"source": [
"print(tf.__version__)"
],
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": [
"2.3.0\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "NW68Hyb-myp9",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "58c0d691-cf74-4efa-e8a6-1a89142cf380"
},
"source": [
"from tensorflow import keras\n",
"print(keras.__version__)"
],
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"text": [
"2.4.0\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "spzTMxO5nQOB",
"colab_type": "code",
"colab": {}
},
"source": [
"# Step 2: Importing Dataset"
],
"execution_count": 4,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "YSYD4EDHnlnN",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 161
},
"outputId": "c1541a29-59b0-40dc-a3e1-257edd4eb804"
},
"source": [
"dataset = keras.datasets.fashion_mnist\n",
"(X_train, y_train), (X_test, y_test) = dataset.load_data()"
],
"execution_count": 5,
"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 [==============================] - 0s 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": "code",
"metadata": {
"id": "E5wGk2yvoAUS",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"outputId": "e54b4d33-22e1-4079-a330-839e88aa2640"
},
"source": [
"plt.imshow(X_train[0])"
],
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f4a9ea525c0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 6
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "PlXbJPYuoOGm",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "f2ff8897-1a96-461f-ff84-984d704429d4"
},
"source": [
"y_train[0]"
],
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"9"
]
},
"metadata": {
"tags": []
},
"execution_count": 7
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "kR0sDDEyoQg9",
"colab_type": "code",
"colab": {}
},
"source": [
"class_names = ['T-shirt/Top','Trouser','Pullover','Dress','Coat','Sandal','Shirt','Sneaker','Bag','Ankle_boot']"
],
"execution_count": 8,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Ww4PFZZLovt7",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 36
},
"outputId": "29fe9853-3749-49e7-c819-4a5db39b1bc3"
},
"source": [
"class_names[0]"
],
"execution_count": 9,
"outputs": [
{
"output_type": "execute_result",
"data": {
"application/vnd.google.colaboratory.intrinsic+json": {
"type": "string"
},
"text/plain": [
"'T-shirt/Top'"
]
},
"metadata": {
"tags": []
},
"execution_count": 9
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "rxXSVFNHoxni",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "c336011c-806c-48ca-f209-7bdd559718dc"
},
"source": [
"X_train[10]"
],
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 0, 0, 0, 0, 0, 0, 0, 11, 142, 200, 106, 0, 0,\n",
" 0, 0, 0, 0, 0, 85, 185, 112, 0, 0, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 0, 152, 214, 217, 194, 236, 216, 187,\n",
" 149, 135, 153, 211, 217, 231, 205, 217, 188, 34, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 66, 185, 166, 180, 181, 190, 211, 221,\n",
" 197, 146, 198, 206, 191, 168, 190, 172, 188, 175, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 135, 153, 160, 175, 180, 170, 186, 187,\n",
" 190, 188, 190, 187, 174, 195, 185, 174, 161, 175, 59, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 161, 147, 160, 170, 178, 177, 180, 168,\n",
" 173, 174, 171, 185, 184, 185, 172, 171, 164, 174, 120, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 2, 175, 146, 145, 168, 178, 181, 185, 180,\n",
" 184, 178, 179, 187, 191, 193, 190, 181, 171, 172, 158, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 35, 177, 155, 140, 151, 172, 191, 187, 186,\n",
" 187, 186, 187, 182, 191, 194, 188, 180, 161, 161, 185, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 59, 170, 153, 141, 120, 154, 160, 161, 172,\n",
" 168, 166, 161, 165, 172, 170, 164, 139, 149, 162, 166, 21, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 79, 145, 160, 214, 123, 128, 153, 160, 164,\n",
" 158, 157, 154, 155, 170, 165, 141, 195, 193, 152, 166, 61, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 100, 157, 225, 245, 175, 113, 174, 158, 158,\n",
" 160, 155, 160, 164, 178, 188, 135, 185, 240, 201, 172, 108, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 31, 174, 28, 126, 153, 166, 152, 158,\n",
" 158, 160, 161, 157, 168, 191, 188, 18, 132, 159, 7, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 0, 0, 0, 82, 187, 159, 153, 157,\n",
" 158, 162, 164, 164, 154, 187, 190, 0, 0, 0, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 1, 3, 5, 0, 37, 175, 158, 155, 162,\n",
" 158, 160, 162, 165, 153, 177, 205, 0, 0, 3, 3, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 0, 1, 0, 25, 175, 152, 160, 158,\n",
" 161, 160, 164, 164, 161, 166, 200, 0, 0, 1, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 0, 4, 0, 30, 171, 147, 164, 155,\n",
" 165, 161, 165, 162, 170, 164, 162, 0, 0, 2, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 0, 4, 0, 57, 166, 155, 164, 166,\n",
" 161, 161, 164, 167, 165, 165, 162, 28, 0, 3, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 0, 3, 0, 114, 161, 161, 166, 159,\n",
" 168, 161, 161, 172, 162, 165, 171, 50, 0, 5, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 0, 1, 0, 149, 157, 167, 172, 159,\n",
" 172, 164, 161, 172, 170, 160, 171, 89, 0, 4, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 2, 0, 4, 171, 164, 166, 173, 159,\n",
" 179, 166, 160, 174, 167, 162, 166, 128, 0, 2, 0, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 3, 0, 18, 152, 173, 160, 179, 154,\n",
" 181, 166, 164, 175, 170, 166, 170, 164, 0, 0, 1, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 4, 0, 47, 165, 172, 167, 185, 153,\n",
" 187, 173, 165, 174, 179, 166, 166, 158, 5, 0, 3, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 4, 0, 87, 180, 162, 179, 179, 157,\n",
" 191, 182, 165, 168, 190, 173, 165, 166, 20, 0, 4, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 4, 0, 105, 187, 157, 194, 175, 161,\n",
" 190, 184, 170, 158, 205, 177, 168, 171, 44, 0, 4, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 5, 0, 138, 181, 158, 205, 160, 167,\n",
" 190, 198, 167, 152, 218, 186, 170, 172, 57, 0, 5, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 5, 0, 135, 174, 167, 199, 155, 166,\n",
" 201, 219, 165, 158, 218, 188, 167, 175, 56, 0, 7, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 5, 0, 129, 171, 172, 177, 153, 159,\n",
" 206, 216, 148, 157, 206, 190, 165, 175, 48, 0, 5, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 5, 0, 167, 187, 182, 198, 194, 200,\n",
" 226, 240, 184, 206, 255, 197, 178, 179, 42, 0, 5, 0, 0,\n",
" 0, 0],\n",
" [ 0, 0, 0, 0, 0, 3, 0, 115, 135, 113, 106, 85, 82,\n",
" 108, 133, 83, 90, 121, 120, 110, 158, 18, 0, 3, 0, 0,\n",
" 0, 0]], dtype=uint8)"
]
},
"metadata": {
"tags": []
},
"execution_count": 11
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "8rPh9XWwpMPA",
"colab_type": "code",
"colab": {}
},
"source": [
"#step 3: Data Normalization and Train-test split\n",
"# Need to do this becuase data is in pixels\n",
"X_train = X_train / 255.\n",
"X_test = X_test / 255."
],
"execution_count": 12,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "n9_FWPJ2qppB",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "c42875bb-0275-4b2b-f76e-9463a43ec2b7"
},
"source": [
"#normalized \n",
"X_train[10]"
],
"execution_count": 15,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0. , 0. ,\n",
" 0.29019608, 0. , 0. , 0. , 0. ,\n",
" 0. , 0.05882353, 0.3254902 , 0. , 0. ,\n",
" 0. , 0.00392157, 0. , 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0.1372549 , 0.58431373, 0.78823529,\n",
" 0.91764706, 0.83529412, 0.82745098, 0.64313725, 0.65098039,\n",
" 0.80784314, 0.89019608, 0.89411765, 0.74901961, 0.58823529,\n",
" 0.05882353, 0. , 0.00784314, 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0.22352941, 0.84313725, 0.96862745, 0.93333333,\n",
" 0.88235294, 0.8627451 , 0.79607843, 0.72156863, 0.75294118,\n",
" 0.69019608, 0.71372549, 0.84705882, 0.77254902, 0.71764706,\n",
" 0.4627451 , 0.04313725, 0. , 0.00784314, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0.00392157, 0. ,\n",
" 0.04705882, 0.32941176, 0.03137255, 0.11372549, 0.30588235,\n",
" 0.4627451 , 0.11372549, 0.03921569, 0.03529412, 0.50980392,\n",
" 0.23921569, 0.08627451, 0.11764706, 0.01568627, 0. ,\n",
" 0.3372549 , 0.66666667, 0. , 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0.00784314, 0. ,\n",
" 0.17647059, 0.55686275, 0.57254902, 0.23921569, 0. ,\n",
" 0.01176471, 0. , 0.03137255, 0. , 0.14901961,\n",
" 0.2627451 , 0.00392157, 0. , 0.04313725, 0.40392157,\n",
" 0.30588235, 0.83137255, 0.07843137, 0. , 0.00392157,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0.00392157, 0. ,\n",
" 0.11764706, 0.3254902 , 0.36470588, 0.05490196, 0.00392157,\n",
" 0.10196078, 0.03921569, 0.16470588, 0.12156863, 0.0745098 ,\n",
" 0.09411765, 0. , 0.0745098 , 0. , 0.10196078,\n",
" 0.37254902, 0.60392157, 0.14901961, 0. , 0.00392157,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0.28235294, 0.51764706, 0.62745098, 0.41960784, 0.25882353,\n",
" 0.41568627, 0.31372549, 0.29019608, 0.20392157, 0.44313725,\n",
" 0.5372549 , 0.22352941, 0.55686275, 0.67058824, 0.87843137,\n",
" 0.80784314, 0.75294118, 0.54901961, 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0.01568627,\n",
" 0.81960784, 0.6745098 , 0.77254902, 0.09803922, 0.01568627,\n",
" 0.15294118, 0. , 0.07843137, 0.15294118, 0.04313725,\n",
" 0. , 0. , 0. , 0.23137255, 0.60784314,\n",
" 0.77254902, 0.45490196, 0.63921569, 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0.20784314, 0.30980392, 0.59215686, 0.13333333, 0.00784314,\n",
" 0. , 0. , 0.01568627, 0.19215686, 0.14901961,\n",
" 0. , 0.01176471, 0.16470588, 0.29019608, 0.72941176,\n",
" 0.60392157, 0.05882353, 0.29411765, 0.01568627, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0.00392157,\n",
" 0.2745098 , 0.41568627, 0.68627451, 0.43921569, 0.07843137,\n",
" 0. , 0.04313725, 0.01176471, 0.00392157, 0.1372549 ,\n",
" 0.05098039, 0.01176471, 0.20392157, 0.02352941, 0.69019608,\n",
" 0.14117647, 0.24705882, 0.60392157, 0.07843137, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0.00392157,\n",
" 0.16470588, 0.10196078, 0.71372549, 0.5254902 , 0.39607843,\n",
" 0.1372549 , 0.52941176, 0.59215686, 0.03137255, 0.6627451 ,\n",
" 0.59215686, 0.34901961, 0.72156863, 0.59607843, 0.72941176,\n",
" 0.03921569, 0.15294118, 0.47058824, 0.15294118, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0.65490196,\n",
" 0.65490196, 0.47058824, 0.83921569, 0.63921569, 0.29803922,\n",
" 0.01568627, 0.02352941, 0.24705882, 0. , 0.09803922,\n",
" 0.1372549 , 0. , 0.2627451 , 0.31372549, 0.93333333,\n",
" 0.49411765, 0.49019608, 0.68235294, 0.75686275, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0.07843137, 0.44705882,\n",
" 0.03529412, 0.38039216, 0.2627451 , 0.05098039, 0.15686275,\n",
" 0.08627451, 0.14509804, 0.25490196, 0.1254902 , 0.05882353,\n",
" 0.01568627, 0. , 0.07058824, 0.02352941, 0.29803922,\n",
" 0.21176471, 0.27843137, 0.14901961, 0.86666667, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0.09411765, 0.40392157,\n",
" 0. , 0.88627451, 0.56862745, 0. , 0.11764706,\n",
" 0. , 0.44705882, 0.22745098, 0.01960784, 0.07843137,\n",
" 0. , 0.01176471, 0.03137255, 0.23921569, 0.19215686,\n",
" 0.41960784, 0.55294118, 0. , 0.71372549, 0.27843137,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0.26666667, 0.56470588,\n",
" 0.00392157, 0.89019608, 0.5254902 , 0.01960784, 0.28235294,\n",
" 0. , 0.50196078, 0.32941176, 0. , 0.07843137,\n",
" 0.14117647, 0. , 0.00784314, 0.10588235, 0.34901961,\n",
" 0.41960784, 1. , 0.44313725, 0.6 , 0.27843137,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0.6 , 0.6 ,\n",
" 0.47058824, 0.64313725, 0.49803922, 0.25098039, 0.4627451 ,\n",
" 0.51372549, 0.36862745, 0.58039216, 0.75686275, 0.9372549 ,\n",
" 0. , 0.03921569, 0. , 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0.01176471, 0. , 0.01960784, 0.42352941, 0.10588235,\n",
" 0.44313725, 0.03137255, 0. , 0.06666667, 0.01960784,\n",
" 0. , 0.07843137, 0.05490196, 0.05490196, 0.85098039,\n",
" 0. , 0. , 0. , 0.00392157, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0.00392157, 0. ,\n",
" 0.00392157, 0. , 0.01568627, 0.29411765, 0.16470588,\n",
" 0.25098039, 0.10588235, 0.12941176, 0.08235294, 0. ,\n",
" 0. , 0.05882353, 0.01176471, 0. , 0.52156863,\n",
" 0.00392157, 0. , 0.01176471, 0.00784314, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0.01960784, 0.2745098 , 0.14901961,\n",
" 0.41568627, 0.14509804, 0.1372549 , 0.07058824, 0.07843137,\n",
" 0.30196078, 0.22352941, 0. , 0.05882353, 0.39215686,\n",
" 0.02352941, 0. , 0.00392157, 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. , 0.29411765, 0. ,\n",
" 0.09803922, 0. , 0.00784314, 0.0745098 , 0.04705882,\n",
" 0.39607843, 0.14509804, 0.04313725, 0.00392157, 0.19215686,\n",
" 0.09411765, 0. , 0.01176471, 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0.01176471, 0. , 0. , 0.90980392, 0.49411765,\n",
" 0.63137255, 0.62745098, 0.29019608, 0.43137255, 0.29411765,\n",
" 0.25098039, 0.08235294, 0.22745098, 0.19607843, 0.5254902 ,\n",
" 0.24313725, 0. , 0.01176471, 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0.00392157,\n",
" 0.01176471, 0. , 0.03137255, 0.83529412, 0.44705882,\n",
" 0.69803922, 0.34509804, 0.03921569, 0.10588235, 0.10196078,\n",
" 0.05098039, 0.11372549, 0. , 0.02352941, 0.23137255,\n",
" 0.08235294, 0. , 0.01568627, 0.00392157, 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0.00392157, 0. , 0. , 0.61176471, 0. ,\n",
" 0.10196078, 0. , 0. , 0.04705882, 0.02352941,\n",
" 0.23921569, 0.25882353, 0.11764706, 0.03529412, 0.03137255,\n",
" 0.06666667, 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0.01960784, 0.60784314, 0.20392157,\n",
" 0.11372549, 0.09411765, 0. , 0.15686275, 0.08235294,\n",
" 0. , 0.05098039, 0.42352941, 0. , 0.04705882,\n",
" 0.19607843, 0. , 0.00392157, 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0.00392157, 0. , 0.00784314, 0.69411765, 0.36862745,\n",
" 0.2745098 , 0.20392157, 0.18431373, 0.21568627, 0.23529412,\n",
" 0.29411765, 0.04705882, 0.21960784, 0.30980392, 0.48627451,\n",
" 0.6627451 , 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0.00392157, 0. ,\n",
" 0.00392157, 0. , 0.17254902, 0.72941176, 0.05490196,\n",
" 0.39607843, 0.20392157, 0.05490196, 0. , 0.1254902 ,\n",
" 0.47058824, 0.00784314, 0.26666667, 0.37254902, 0.36470588,\n",
" 0.49803922, 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0.00784314, 0. , 0.08235294, 0.16862745, 0. ,\n",
" 0.43921569, 0.32156863, 0.29411765, 0.32156863, 0.1372549 ,\n",
" 0.40784314, 0.03921569, 0.39215686, 0.25490196, 0.22352941,\n",
" 0.47058824, 0. , 0. , 0. , 0. ,\n",
" 0. , 0. , 0. ],\n",
" [0. , 0. , 0. , 0. , 0. ,\n",
" 0.00784314, 0. , 0.01176471, 0.27843137, 0.23529412,\n",
" 0.16470588, 0.26666667, 0.31372549, 0.19607843, 0.3372549 ,\n",
" 0.49803922, 0.32156863, 0.37254902, 0.33333333, 0.51372549,\n",
" 0.40392157, 0. , 0. , 0.00392157, 0. ,\n",
" 0. , 0. , 0. ]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "FEGPVcepp4an",
"colab_type": "code",
"colab": {}
},
"source": [
"X_val, X_train = X_train[:5000], X_train[5000:] #first 5000 data for validation remaining for train\n",
"y_val, y_train = y_train[:5000], y_train[5000:]"
],
"execution_count": 13,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "l_bKZlrxqm1t",
"colab_type": "code",
"colab": {}
},
"source": [
"#step 4: Building Model"
],
"execution_count": 16,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "OymP4jVcqzQy",
"colab_type": "code",
"colab": {}
},
"source": [
"np.random.seed(42)\n",
"tf.random.set_seed(42)"
],
"execution_count": 17,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "pnTHSCVBrLmy",
"colab_type": "code",
"colab": {}
},
"source": [
"# Creating a sequential Model\n",
"model = keras.Sequential([\n",
" keras.layers.Flatten(input_shape=[28,28]),\n",
" keras.layers.Dense(64, activation='relu'),\n",
" keras.layers.Dense(64, activation='relu'),\n",
" keras.layers.Dense(10, activation='softmax')\n",
" ])"
],
"execution_count": 31,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "YuFr2mb9s1qZ",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 305
},
"outputId": "aa38bb88-2c61-4058-c4f3-875c36f87b86"
},
"source": [
"model.summary()"
],
"execution_count": 32,
"outputs": [
{
"output_type": "stream",
"text": [
"Model: \"sequential_1\"\n",
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"flatten_1 (Flatten) (None, 784) 0 \n",
"_________________________________________________________________\n",
"dense_3 (Dense) (None, 64) 50240 \n",
"_________________________________________________________________\n",
"dense_4 (Dense) (None, 64) 4160 \n",
"_________________________________________________________________\n",
"dense_5 (Dense) (None, 10) 650 \n",
"=================================================================\n",
"Total params: 55,050\n",
"Trainable params: 55,050\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "AHDy61Bys3fS",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 466
},
"outputId": "3684d362-867c-4aa4-a2a1-c82636cade3c"
},
"source": [
"import pydot\n",
"keras.utils.plot_model(model)"
],
"execution_count": 33,
"outputs": [
{
"output_type": "execute_result",
"data": {
"image/png": "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\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"metadata": {
"tags": []
},
"execution_count": 33
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "JnUjNDxyteWt",
"colab_type": "code",
"colab": {}
},
"source": [
"# Checking randomly generated Weights and biases\n",
"weights, biases = model.layers[1].get_weights()"
],
"execution_count": 34,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "ZopWMoskt_Kz",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 251
},
"outputId": "a0ca4573-6303-425d-f266-f9b808fd8c0d"
},
"source": [
"weights"
],
"execution_count": 35,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[ 0.04041442, -0.02702104, 0.01165014, ..., 0.06418253,\n",
" -0.06663179, 0.05873392],\n",
" [ 0.07798193, -0.04405717, -0.06148271, ..., -0.0400242 ,\n",
" -0.04049242, -0.0261846 ],\n",
" [-0.07913312, 0.00930409, 0.02504084, ..., -0.05308156,\n",
" -0.08331855, -0.02625399],\n",
" ...,\n",
" [-0.01914385, -0.06256803, -0.06218128, ..., -0.07923648,\n",
" -0.03764179, 0.01399127],\n",
" [-0.03606763, -0.05090532, -0.05227644, ..., -0.07901607,\n",
" 0.00109386, -0.08350297],\n",
" [-0.06698835, 0.07251523, 0.02350383, ..., -0.02839004,\n",
" -0.01656256, -0.06657062]], dtype=float32)"
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Kkm4uurmuAxm",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "c19a6f42-eecb-4690-c151-d20e9d1620d8"
},
"source": [
"weights.shape"
],
"execution_count": 36,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(784, 64)"
]
},
"metadata": {
"tags": []
},
"execution_count": 36
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "XikuYLlbuCIg",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 89
},
"outputId": "a2ee32b5-c168-4fb8-f864-84623ee509f9"
},
"source": [
"biases"
],
"execution_count": 37,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n",
" 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], dtype=float32)"
]
},
"metadata": {
"tags": []
},
"execution_count": 37
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "s60Kj38muD4z",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "a71d91b7-4581-46a0-b5c4-2849a44fee51"
},
"source": [
"biases.shape"
],
"execution_count": 38,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(64,)"
]
},
"metadata": {
"tags": []
},
"execution_count": 38
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "k524jk6duFvv",
"colab_type": "code",
"colab": {}
},
"source": [
"# Compiling and Training our Model"
],
"execution_count": 39,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "bPMdKdzhuwiW",
"colab_type": "code",
"colab": {}
},
"source": [
"#Compile\n",
"model.compile(loss='sparse_categorical_crossentropy',\n",
" optimizer='sgd',\n",
" metrics=['accuracy'])"
],
"execution_count": 40,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "yLFDnpMAu9zN",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "a827c76a-c7a7-4f3b-f260-86dc7df61d4b"
},
"source": [
"#fit our model\n",
"model_history = model.fit(X_train, y_train, epochs=30, validation_data=(X_val, y_val))"
],
"execution_count": 41,
"outputs": [
{
"output_type": "stream",
"text": [
"Epoch 1/30\n",
"1719/1719 [==============================] - 3s 1ms/step - loss: 0.8307 - accuracy: 0.7215 - val_loss: 0.5707 - val_accuracy: 0.8040\n",
"Epoch 2/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.5208 - accuracy: 0.8180 - val_loss: 0.4693 - val_accuracy: 0.8388\n",
"Epoch 3/30\n",
"1719/1719 [==============================] - 3s 1ms/step - loss: 0.4702 - accuracy: 0.8342 - val_loss: 0.5805 - val_accuracy: 0.7842\n",
"Epoch 4/30\n",
"1719/1719 [==============================] - 3s 1ms/step - loss: 0.4437 - accuracy: 0.8445 - val_loss: 0.4263 - val_accuracy: 0.8540\n",
"Epoch 5/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.4264 - accuracy: 0.8507 - val_loss: 0.4132 - val_accuracy: 0.8564\n",
"Epoch 6/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.4096 - accuracy: 0.8561 - val_loss: 0.4047 - val_accuracy: 0.8612\n",
"Epoch 7/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3983 - accuracy: 0.8590 - val_loss: 0.3946 - val_accuracy: 0.8614\n",
"Epoch 8/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3875 - accuracy: 0.8625 - val_loss: 0.4364 - val_accuracy: 0.8414\n",
"Epoch 9/30\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 0.3781 - accuracy: 0.8662 - val_loss: 0.3893 - val_accuracy: 0.8602\n",
"Epoch 10/30\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 0.3695 - accuracy: 0.8688 - val_loss: 0.3834 - val_accuracy: 0.8614\n",
"Epoch 11/30\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 0.3617 - accuracy: 0.8714 - val_loss: 0.3803 - val_accuracy: 0.8656\n",
"Epoch 12/30\n",
"1719/1719 [==============================] - 3s 2ms/step - loss: 0.3531 - accuracy: 0.8730 - val_loss: 0.3697 - val_accuracy: 0.8716\n",
"Epoch 13/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3469 - accuracy: 0.8763 - val_loss: 0.3685 - val_accuracy: 0.8726\n",
"Epoch 14/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3412 - accuracy: 0.8791 - val_loss: 0.3852 - val_accuracy: 0.8620\n",
"Epoch 15/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3345 - accuracy: 0.8803 - val_loss: 0.3629 - val_accuracy: 0.8718\n",
"Epoch 16/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3305 - accuracy: 0.8816 - val_loss: 0.3442 - val_accuracy: 0.8758\n",
"Epoch 17/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3253 - accuracy: 0.8828 - val_loss: 0.3795 - val_accuracy: 0.8658\n",
"Epoch 18/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3197 - accuracy: 0.8853 - val_loss: 0.3517 - val_accuracy: 0.8770\n",
"Epoch 19/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3156 - accuracy: 0.8860 - val_loss: 0.3396 - val_accuracy: 0.8784\n",
"Epoch 20/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3108 - accuracy: 0.8882 - val_loss: 0.3614 - val_accuracy: 0.8726\n",
"Epoch 21/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3066 - accuracy: 0.8887 - val_loss: 0.3342 - val_accuracy: 0.8838\n",
"Epoch 22/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.3027 - accuracy: 0.8903 - val_loss: 0.3276 - val_accuracy: 0.8784\n",
"Epoch 23/30\n",
"1719/1719 [==============================] - 3s 1ms/step - loss: 0.2988 - accuracy: 0.8921 - val_loss: 0.3291 - val_accuracy: 0.8836\n",
"Epoch 24/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.2957 - accuracy: 0.8923 - val_loss: 0.3376 - val_accuracy: 0.8768\n",
"Epoch 25/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.2913 - accuracy: 0.8943 - val_loss: 0.3284 - val_accuracy: 0.8810\n",
"Epoch 26/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.2880 - accuracy: 0.8952 - val_loss: 0.3311 - val_accuracy: 0.8828\n",
"Epoch 27/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.2851 - accuracy: 0.8968 - val_loss: 0.3265 - val_accuracy: 0.8830\n",
"Epoch 28/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.2820 - accuracy: 0.8982 - val_loss: 0.3346 - val_accuracy: 0.8824\n",
"Epoch 29/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.2784 - accuracy: 0.8995 - val_loss: 0.3386 - val_accuracy: 0.8804\n",
"Epoch 30/30\n",
"1719/1719 [==============================] - 2s 1ms/step - loss: 0.2753 - accuracy: 0.9000 - val_loss: 0.3381 - val_accuracy: 0.8804\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "TtVJA9n3vjGl",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "13015e63-791d-41ce-eaf7-b0b9afe17429"
},
"source": [
"model_history.params"
],
"execution_count": 42,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"{'epochs': 30, 'steps': 1719, 'verbose': 1}"
]
},
"metadata": {
"tags": []
},
"execution_count": 42
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "KjqM4gY0w0ar",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"outputId": "f3a21096-d20a-4c62-be91-1a009960409f"
},
"source": [
"model_history.history"
],
"execution_count": 43,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"{'accuracy': [0.7215454578399658,\n",
" 0.8179818391799927,\n",
" 0.8342182040214539,\n",
" 0.8444908857345581,\n",
" 0.8506909012794495,\n",
" 0.856145441532135,\n",
" 0.8589636087417603,\n",
" 0.8624727129936218,\n",
" 0.8661817908287048,\n",
" 0.8688181638717651,\n",
" 0.871399998664856,\n",
" 0.873018205165863,\n",
" 0.8762909173965454,\n",
" 0.8790909051895142,\n",
" 0.8803272843360901,\n",
" 0.881563663482666,\n",
" 0.8827636241912842,\n",
" 0.8852909207344055,\n",
" 0.8859636187553406,\n",
" 0.8881636261940002,\n",
" 0.8887272477149963,\n",
" 0.8903090953826904,\n",
" 0.8921090960502625,\n",
" 0.8922545313835144,\n",
" 0.8943272829055786,\n",
" 0.8952181935310364,\n",
" 0.8967636227607727,\n",
" 0.8982181549072266,\n",
" 0.8994908928871155,\n",
" 0.8999636173248291],\n",
" 'loss': [0.830724835395813,\n",
" 0.5207698941230774,\n",
" 0.47021111845970154,\n",
" 0.44368159770965576,\n",
" 0.42641517519950867,\n",
" 0.4096349775791168,\n",
" 0.3982754051685333,\n",
" 0.38754844665527344,\n",
" 0.3780679404735565,\n",
" 0.36945998668670654,\n",
" 0.36167678236961365,\n",
" 0.3530876636505127,\n",
" 0.3468605577945709,\n",
" 0.3411927819252014,\n",
" 0.3345123827457428,\n",
" 0.33050376176834106,\n",
" 0.3252640962600708,\n",
" 0.31972557306289673,\n",
" 0.3155946433544159,\n",
" 0.3108135163784027,\n",
" 0.30657103657722473,\n",
" 0.3027026951313019,\n",
" 0.298833429813385,\n",
" 0.2957049608230591,\n",
" 0.29134026169776917,\n",
" 0.28801658749580383,\n",
" 0.2850746810436249,\n",
" 0.28202468156814575,\n",
" 0.27836552262306213,\n",
" 0.2753369212150574],\n",
" 'val_accuracy': [0.8040000200271606,\n",
" 0.8388000130653381,\n",
" 0.7842000126838684,\n",
" 0.8539999723434448,\n",
" 0.8564000129699707,\n",
" 0.8611999750137329,\n",
" 0.8614000082015991,\n",
" 0.8414000272750854,\n",
" 0.8601999878883362,\n",
" 0.8614000082015991,\n",
" 0.8655999898910522,\n",
" 0.8715999722480774,\n",
" 0.8726000189781189,\n",
" 0.8619999885559082,\n",
" 0.8718000054359436,\n",
" 0.8758000135421753,\n",
" 0.8658000230789185,\n",
" 0.8769999742507935,\n",
" 0.8784000277519226,\n",
" 0.8726000189781189,\n",
" 0.8838000297546387,\n",
" 0.8784000277519226,\n",
" 0.8835999965667725,\n",
" 0.876800000667572,\n",
" 0.8809999823570251,\n",
" 0.8827999830245972,\n",
" 0.8830000162124634,\n",
" 0.8823999762535095,\n",
" 0.8804000020027161,\n",
" 0.8804000020027161],\n",
" 'val_loss': [0.5706812143325806,\n",
" 0.4692782759666443,\n",
" 0.5804635882377625,\n",
" 0.4262789487838745,\n",
" 0.41319775581359863,\n",
" 0.40471693873405457,\n",
" 0.39456433057785034,\n",
" 0.4364040493965149,\n",
" 0.38927707076072693,\n",
" 0.38339054584503174,\n",
" 0.3802928626537323,\n",
" 0.3696516454219818,\n",
" 0.3684947192668915,\n",
" 0.3851543068885803,\n",
" 0.36293137073516846,\n",
" 0.34421873092651367,\n",
" 0.37950634956359863,\n",
" 0.3516555726528168,\n",
" 0.3396323621273041,\n",
" 0.36144763231277466,\n",
" 0.33416131138801575,\n",
" 0.32759419083595276,\n",
" 0.32912614941596985,\n",
" 0.337613046169281,\n",
" 0.3283555507659912,\n",
" 0.3310697674751282,\n",
" 0.32648715376853943,\n",
" 0.33457791805267334,\n",
" 0.33855119347572327,\n",
" 0.3380833864212036]}"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "F5_5u_BSw3CN",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 269
},
"outputId": "84222139-9154-43d5-fda4-681bd9ecd116"
},
"source": [
"# Plotting the data for visualizetion\n",
"pd.DataFrame(model_history.history).plot()\n",
"plt.grid(1)\n",
"plt.gca().set_ylim(0,1)\n",
"plt.show()"
],
"execution_count": 46,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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55/POeec06llE0K0TimFzWzEZjaSfOS/eggE5gmqdXlDnwaqnW4q6z1UNriDDw+VwRvLBRUNrC2ooqrBc9A3iA9kNxtDgX/bWf34ybD0oyvgYXTZUO+qxo8fz9KlS/n444/52c9+xl133cU111zD2rVrWbhwIf/85z95++23mTNnzokuqhDiKDS9KSRFtX/O/KZ7BrWu/a3/Az8NBG4YB7Zj7J33LW0J9UM488wzee6555g5cyYVFRUsXbqU2bNns3v3bnr06MGNN95IY2Mjq1at4rzzzsNisXDxxRczYMAArrrqqhNdfCHEcdT8nkFqzOG/TNaZJNQP4aKLLuLbb79l2LBhKKV4/PHHSU1N5eWXX2b27NmYzWYcDgevvPIKhYWFXHvttfj9gY9f/+///b8TXHohxMlKQv0ATWPUlVLMnj2b2bNntzg+c+ZMZs6cedDzVq1adVzKJ4QQbZFfoRVCiDAioS6EEGFEQl0IIcKIhLoQQoQRCXUhhAgjEupCCBFGJNSFECKMSKifIF6v90QXQQgRhrrul48+uReK17d6yO7zgvEoip6aA+f++bCnXXjhhRQUFOByubj99tu56aab+PTTT5k1axY+n4/ExES++OIL6urq+NWvfhWacveBBx7g4osvbvFDG++++y4fffQRc+fO5Wc/+xk2m43Vq1dz+umnc9lll3H77bfjcrmwWCy88sorDBgwAJ/Pxz333MOnn36KwWDgxhtvZMiQITz11FN88MEHAPz3v//lmWee4f333z/yv4MQImy1KxmVUlOBvwFG4EWt9Z8POH4XcAPgBUqB67TWuzu4rMfNnDlziI+Px+l0MmbMGKZNm8aNN97I0qVL6d27NxUVFQA88sgjxMTEsH594M2nsrLysNfes2cP33zzDUajkZqaGr766itMJhPz589n1qxZvPfeezz//PPs2rWLNWvWYDKZqKioIC4ujltuuYXS0lKSkpJ46aWXuO666zr17yCE6H4OG+pKKSPwNPAjYA+wXCk1X2u9sdlpq4HRWusGpdTNwOPAjGMqWRstamcnT7371FNPhVrABQUFPP/884wfP57evXsDEB8fD8Dnn3/OvHnzQs+Li4s77LUvueSS0A98VFdXM3PmTLZu3YrWGp/PF7ruL37xC0wmU4vXu/rqq3nttde49tpr+fbbb3nllVc6qMZCiHDRnj71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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "qSxfsfRBxMoz",
"colab_type": "code",
"colab": {}
},
"source": [
"#step 5: Evaluating on test dataset"
],
"execution_count": 47,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "ZGNzYYrRyAUO",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 53
},
"outputId": "e337f5e6-962e-44fb-f9ad-cbffcc07dd77"
},
"source": [
"model.evaluate(X_test, y_test)"
],
"execution_count": 48,
"outputs": [
{
"output_type": "stream",
"text": [
"313/313 [==============================] - 0s 1ms/step - loss: 0.3686 - accuracy: 0.8711\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[0.3686334788799286, 0.8711000084877014]"
]
},
"metadata": {
"tags": []
},
"execution_count": 48
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "17LUp8f7yFsB",
"colab_type": "code",
"colab": {}
},
"source": [
"#So we got the 87% accuracy"
],
"execution_count": 49,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "kbSpp19IyKxA",
"colab_type": "code",
"colab": {}
},
"source": [
"#step 6: Predictions"
],
"execution_count": 50,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "3ADgcegWzFxK",
"colab_type": "code",
"colab": {}
},
"source": [
"X_new = X_test[:5] #taking 5 records from test set to predict on"
],
"execution_count": 51,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "KSMoGs6LzQYw",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 125
},
"outputId": "a341c650-8fea-44fa-dac6-4cae636a9ac2"
},
"source": [
"probabilities = model.predict(X_new)\n",
"probabilities.round(2)"
],
"execution_count": 54,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[0. , 0. , 0. , 0. , 0. , 0.06, 0. , 0.06, 0. , 0.88],\n",
" [0. , 0. , 0.99, 0. , 0.01, 0. , 0. , 0. , 0. , 0. ],\n",
" [0. , 1. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],\n",
" [0. , 1. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ],\n",
" [0.44, 0. , 0.05, 0. , 0.01, 0. , 0.49, 0. , 0. , 0. ]],\n",
" dtype=float32)"
]
},
"metadata": {
"tags": []
},
"execution_count": 54
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Vt-QtP1Sza40",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 109
},
"outputId": "7509ca63-4683-40d1-b669-cff6066262f1"
},
"source": [
"y_pred = model.predict_classes(X_new)\n",
"y_pred"
],
"execution_count": 55,
"outputs": [
{
"output_type": "stream",
"text": [
"WARNING:tensorflow:From <ipython-input-55-81ace37e545f>:1: Sequential.predict_classes (from tensorflow.python.keras.engine.sequential) is deprecated and will be removed after 2021-01-01.\n",
"Instructions for updating:\n",
"Please use instead:* `np.argmax(model.predict(x), axis=-1)`, if your model does multi-class classification (e.g. if it uses a `softmax` last-layer activation).* `(model.predict(x) > 0.5).astype(\"int32\")`, if your model does binary classification (e.g. if it uses a `sigmoid` last-layer activation).\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([9, 2, 1, 1, 6])"
]
},
"metadata": {
"tags": []
},
"execution_count": 55
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "NYJEOMh9zpZ2",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 53
},
"outputId": "3a8e14ad-3a86-47a0-c04d-59069679837a"
},
"source": [
"np.array(class_names)[y_pred]"
],
"execution_count": 56,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array(['Ankle_boot', 'Pullover', 'Trouser', 'Trouser', 'Shirt'],\n",
" dtype='<U11')"
]
},
"metadata": {
"tags": []
},
"execution_count": 56
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "o2nPwarDzu3m",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"outputId": "1b00529f-f43a-429d-cace-fed55a56b9a8"
},
"source": [
"plt.imshow(X_test[0])"
],
"execution_count": 57,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f4a8a12a860>"
]
},
"metadata": {
"tags": []
},
"execution_count": 57
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "zeJg_uF1z1GP",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"outputId": "19ca0feb-8b05-4634-d011-876c997983f0"
},
"source": [
"plt.imshow(X_test[1])"
],
"execution_count": 58,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f4a8eae8f60>"
]
},
"metadata": {
"tags": []
},
"execution_count": 58
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "exqjFw8mz4rF",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"outputId": "753ecc03-3377-4edc-a1c5-73f27b65fdd9"
},
"source": [
"plt.imshow(X_test[2])"
],
"execution_count": 59,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f4a8a0599e8>"
]
},
"metadata": {
"tags": []
},
"execution_count": 59
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "CrXUmjN5z98G",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"outputId": "ba104545-1242-47c9-8865-610f464ed567"
},
"source": [
"plt.imshow(X_test[3])"
],
"execution_count": 60,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f4a89fc4128>"
]
},
"metadata": {
"tags": []
},
"execution_count": 60
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ZXCk-pNx0BG7",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 283
},
"outputId": "548a9cd9-747a-4988-f8ef-9c7216ddeafd"
},
"source": [
"plt.imshow(X_test[4])"
],
"execution_count": 61,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f4a8a0027b8>"
]
},
"metadata": {
"tags": []
},
"execution_count": 61
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "m5tN3wPl0Flo",
"colab_type": "code",
"colab": {}
},
"source": [
"# So it did predict well right?"
],
"execution_count": 62,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Glh-Tg0p0LmE",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment