From 11bfde75d1ff3ea60be732a521c945a148e25a99 Mon Sep 17 00:00:00 2001
From: tanvibattu <43849158+tanvibattu@users.noreply.github.com>
Date: Tue, 10 Mar 2020 02:48:20 +0530
Subject: [PATCH 1/4] Created using Colaboratory
---
CNN-practice/CNN.ipynb | 400 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 400 insertions(+)
create mode 100644 CNN-practice/CNN.ipynb
diff --git a/CNN-practice/CNN.ipynb b/CNN-practice/CNN.ipynb
new file mode 100644
index 0000000..1514410
--- /dev/null
+++ b/CNN-practice/CNN.ipynb
@@ -0,0 +1,400 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "name": "CNN.ipynb",
+ "provenance": [],
+ "collapsed_sections": [],
+ "authorship_tag": "ABX9TyMyW/mQW5eRn80nw8IlTm8T",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "accelerator": "GPU"
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ "
"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "VWMog0eH8s3J",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "import tensorflow as tf\n",
+ "import keras\n",
+ "from keras.models import Sequential\n",
+ "from keras.datasets import mnist\n",
+ "from keras.layers import Dense, Dropout, Conv2D, MaxPool2D, Flatten\n",
+ "from keras.datasets import mnist\n",
+ "from keras.optimizers import RMSprop, adam"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "kQ820FbfPcqT",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "bGO_tNS5PnYd",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34
+ },
+ "outputId": "3dbbf55b-1058-4f4b-da54-e8c93ff996fc"
+ },
+ "source": [
+ "x_train.shape"
+ ],
+ "execution_count": 17,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(60000, 28, 28)"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 17
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "owOL3pkCPoK4",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 69
+ },
+ "outputId": "b1d66ba1-81a5-4b14-a3b3-dacc8ecb1947"
+ },
+ "source": [
+ "#Reshaping the array to 4-dims so that it can work with the Keras API\n",
+ "x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)\n",
+ "x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)\n",
+ "input_shape = (28, 28, 1)\n",
+ "# Making sure that the values are float so that we can get decimal points after division\n",
+ "x_train = x_train.astype('float32')\n",
+ "x_test = x_test.astype('float32')\n",
+ "# Normalizing the RGB codes by dividing it to the max RGB value.\n",
+ "x_train /= 255\n",
+ "x_test /= 255\n",
+ "print('x_train shape:', x_train.shape)\n",
+ "print('Number of images in x_train', x_train.shape[0])\n",
+ "print('Number of images in x_test', x_test.shape[0])"
+ ],
+ "execution_count": 18,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "x_train shape: (60000, 28, 28, 1)\n",
+ "Number of images in x_train 60000\n",
+ "Number of images in x_test 10000\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "_VJjHQ0jQQLJ",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "#convert 0-9 labels into \"one-hot\" format \n",
+ "train_labels = keras.utils.to_categorical(x_train, 10)\n",
+ "test_labels = keras.utils.to_categorical(y_train, 10)"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "cUUz_ALHQblA",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 298
+ },
+ "outputId": "b95fc0de-051a-454d-e7ad-02ad85eb1b4a"
+ },
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "def display_sample(num):\n",
+ " print(y_train[num])\n",
+ " label = y_train[num].argmax(axis=0)\n",
+ " image = x_train[num].reshape([28,28])\n",
+ " plt.title('sample: %d label: %d' %(num,label))\n",
+ " plt.imshow(image, cmap=plt.get_cmap('gray'))\n",
+ " plt.show()\n",
+ "display_sample(1270)"
+ ],
+ "execution_count": 20,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "2\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n3SwR/w/BLO21cZDfKAAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "RN66oIEzQbqQ",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "model = Sequential()\n",
+ "model.add(Conv2D(32, kernel_size=(3,3), activation = 'relu', input_shape=input_shape))\n",
+ "model.add(Conv2D(64, kernel_size=(3,3), activation = 'relu'))\n",
+ "model.add(MaxPool2D(pool_size=(2, 2)))\n",
+ "model.add(Dropout(0.2))\n",
+ "model.add(Flatten()) # Flattening the 2D arrays for fully connected layers\n",
+ "model.add(Dense(128, activation='relu'))\n",
+ "model.add(Dropout(0.5))\n",
+ "model.add(Dense(10,activation='softmax'))"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "u_fHpsDiRu9T",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 434
+ },
+ "outputId": "3794bd67-b724-48fd-835a-297b812c9af8"
+ },
+ "source": [
+ "model.summary()"
+ ],
+ "execution_count": 22,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Model: \"sequential_4\"\n",
+ "_________________________________________________________________\n",
+ "Layer (type) Output Shape Param # \n",
+ "=================================================================\n",
+ "conv2d_7 (Conv2D) (None, 26, 26, 32) 320 \n",
+ "_________________________________________________________________\n",
+ "conv2d_8 (Conv2D) (None, 24, 24, 64) 18496 \n",
+ "_________________________________________________________________\n",
+ "max_pooling2d_4 (MaxPooling2 (None, 12, 12, 64) 0 \n",
+ "_________________________________________________________________\n",
+ "dropout_7 (Dropout) (None, 12, 12, 64) 0 \n",
+ "_________________________________________________________________\n",
+ "flatten_4 (Flatten) (None, 9216) 0 \n",
+ "_________________________________________________________________\n",
+ "dense_7 (Dense) (None, 128) 1179776 \n",
+ "_________________________________________________________________\n",
+ "dropout_8 (Dropout) (None, 128) 0 \n",
+ "_________________________________________________________________\n",
+ "dense_8 (Dense) (None, 10) 1290 \n",
+ "=================================================================\n",
+ "Total params: 1,199,882\n",
+ "Trainable params: 1,199,882\n",
+ "Non-trainable params: 0\n",
+ "_________________________________________________________________\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "lfzeAbT1RElh",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 382
+ },
+ "outputId": "1eba83b0-f198-4b17-9a98-2f0c2da5d7f7"
+ },
+ "source": [
+ "model.compile(optimizer='adam', \n",
+ " loss='sparse_categorical_crossentropy', \n",
+ " metrics=['accuracy'])\n",
+ "history = model.fit(x=x_train,y=y_train, batch_size =32, epochs=10,verbose = 2, validation_data=(x_test, y_test))"
+ ],
+ "execution_count": 25,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Train on 60000 samples, validate on 10000 samples\n",
+ "Epoch 1/10\n",
+ " - 12s - loss: 0.1047 - acc: 0.9688 - val_loss: 0.0405 - val_acc: 0.9873\n",
+ "Epoch 2/10\n",
+ " - 12s - loss: 0.0652 - acc: 0.9800 - val_loss: 0.0334 - val_acc: 0.9894\n",
+ "Epoch 3/10\n",
+ " - 12s - loss: 0.0513 - acc: 0.9844 - val_loss: 0.0374 - val_acc: 0.9884\n",
+ "Epoch 4/10\n",
+ " - 12s - loss: 0.0435 - acc: 0.9865 - val_loss: 0.0409 - val_acc: 0.9875\n",
+ "Epoch 5/10\n",
+ " - 12s - loss: 0.0375 - acc: 0.9887 - val_loss: 0.0330 - val_acc: 0.9900\n",
+ "Epoch 6/10\n",
+ " - 12s - loss: 0.0328 - acc: 0.9898 - val_loss: 0.0323 - val_acc: 0.9911\n",
+ "Epoch 7/10\n",
+ " - 12s - loss: 0.0281 - acc: 0.9916 - val_loss: 0.0281 - val_acc: 0.9920\n",
+ "Epoch 8/10\n",
+ " - 12s - loss: 0.0249 - acc: 0.9918 - val_loss: 0.0322 - val_acc: 0.9914\n",
+ "Epoch 9/10\n",
+ " - 12s - loss: 0.0249 - acc: 0.9923 - val_loss: 0.0384 - val_acc: 0.9907\n",
+ "Epoch 10/10\n",
+ " - 12s - loss: 0.0220 - acc: 0.9923 - val_loss: 0.0313 - val_acc: 0.9918\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "lfIkrsbIUfiE",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 86
+ },
+ "outputId": "725df237-8175-4bd3-ae3f-c862bf9b856c"
+ },
+ "source": [
+ "score = model.evaluate(x_test, y_test, verbose=0)\n",
+ "print(\"Loss: %.2f\"%(score[0]*100))\n",
+ "print(\"Accuracy: %.2f\"%(score[1]*100))\n",
+ "print(\"Training loss: %.2f\"%(history.history['loss'][9]*100))\n",
+ "print(\"Validation loss: %.2f\"%(history.history['val_loss'][9]*100))"
+ ],
+ "execution_count": 26,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Loss: 3.13\n",
+ "Accuracy: 99.18\n",
+ "Training loss: 2.20\n",
+ "Validation loss: 3.13\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "Nr1zHdyCUglM",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 545
+ },
+ "outputId": "17e1e8b8-a7a7-4a1f-f4cd-4af1ec1b9b78"
+ },
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "loss = history.history['loss']\n",
+ "val_loss = history.history['val_loss']\n",
+ "epochs = range(1,len(loss)+1)\n",
+ "plt.title(\"Training and Validation loss\")\n",
+ "plt.plot(epochs,loss,'y',label='Training Loss')\n",
+ "plt.plot(epochs,val_loss,'r',label='Validation Loss')\n",
+ "plt.legend()\n",
+ "plt.show()\n",
+ "\n",
+ "acc = history.history['acc']\n",
+ "val_acc = history.history['val_acc']\n",
+ "epochs = range(1,len(loss)+1)\n",
+ "plt.title(\"Training and Validation Accuracy\")\n",
+ "plt.plot(epochs,acc,'y',label='Training Accuracy')\n",
+ "plt.plot(epochs,val_acc,'r',label='Validation Accuracy')\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ],
+ "execution_count": 27,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n3DoADL8AAAAASUVORK5CYII=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
From d3a94e784a4c35da87b88f0aae8e76b4160be3af Mon Sep 17 00:00:00 2001
From: tanvibattu <43849158+tanvibattu@users.noreply.github.com>
Date: Mon, 9 Mar 2020 21:18:44 +0000
Subject: [PATCH 2/4] Delete CNN.ipynb
---
CNN-practice/CNN.ipynb | 400 -----------------------------------------
1 file changed, 400 deletions(-)
delete mode 100644 CNN-practice/CNN.ipynb
diff --git a/CNN-practice/CNN.ipynb b/CNN-practice/CNN.ipynb
deleted file mode 100644
index 1514410..0000000
--- a/CNN-practice/CNN.ipynb
+++ /dev/null
@@ -1,400 +0,0 @@
-{
- "nbformat": 4,
- "nbformat_minor": 0,
- "metadata": {
- "colab": {
- "name": "CNN.ipynb",
- "provenance": [],
- "collapsed_sections": [],
- "authorship_tag": "ABX9TyMyW/mQW5eRn80nw8IlTm8T",
- "include_colab_link": true
- },
- "kernelspec": {
- "name": "python3",
- "display_name": "Python 3"
- },
- "accelerator": "GPU"
- },
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "view-in-github",
- "colab_type": "text"
- },
- "source": [
- "
"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "VWMog0eH8s3J",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "import tensorflow as tf\n",
- "import keras\n",
- "from keras.models import Sequential\n",
- "from keras.datasets import mnist\n",
- "from keras.layers import Dense, Dropout, Conv2D, MaxPool2D, Flatten\n",
- "from keras.datasets import mnist\n",
- "from keras.optimizers import RMSprop, adam"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "kQ820FbfPcqT",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "bGO_tNS5PnYd",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 34
- },
- "outputId": "3dbbf55b-1058-4f4b-da54-e8c93ff996fc"
- },
- "source": [
- "x_train.shape"
- ],
- "execution_count": 17,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- "(60000, 28, 28)"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 17
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "owOL3pkCPoK4",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 69
- },
- "outputId": "b1d66ba1-81a5-4b14-a3b3-dacc8ecb1947"
- },
- "source": [
- "#Reshaping the array to 4-dims so that it can work with the Keras API\n",
- "x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)\n",
- "x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)\n",
- "input_shape = (28, 28, 1)\n",
- "# Making sure that the values are float so that we can get decimal points after division\n",
- "x_train = x_train.astype('float32')\n",
- "x_test = x_test.astype('float32')\n",
- "# Normalizing the RGB codes by dividing it to the max RGB value.\n",
- "x_train /= 255\n",
- "x_test /= 255\n",
- "print('x_train shape:', x_train.shape)\n",
- "print('Number of images in x_train', x_train.shape[0])\n",
- "print('Number of images in x_test', x_test.shape[0])"
- ],
- "execution_count": 18,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "x_train shape: (60000, 28, 28, 1)\n",
- "Number of images in x_train 60000\n",
- "Number of images in x_test 10000\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "_VJjHQ0jQQLJ",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "#convert 0-9 labels into \"one-hot\" format \n",
- "train_labels = keras.utils.to_categorical(x_train, 10)\n",
- "test_labels = keras.utils.to_categorical(y_train, 10)"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "cUUz_ALHQblA",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 298
- },
- "outputId": "b95fc0de-051a-454d-e7ad-02ad85eb1b4a"
- },
- "source": [
- "import matplotlib.pyplot as plt\n",
- "def display_sample(num):\n",
- " print(y_train[num])\n",
- " label = y_train[num].argmax(axis=0)\n",
- " image = x_train[num].reshape([28,28])\n",
- " plt.title('sample: %d label: %d' %(num,label))\n",
- " plt.imshow(image, cmap=plt.get_cmap('gray'))\n",
- " plt.show()\n",
- "display_sample(1270)"
- ],
- "execution_count": 20,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "2\n"
- ],
- "name": "stdout"
- },
- {
- "output_type": "display_data",
- "data": {
- "image/png": "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\n3SwR/w/BLO21cZDfKAAAAABJRU5ErkJggg==\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "tags": []
- }
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "RN66oIEzQbqQ",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "model = Sequential()\n",
- "model.add(Conv2D(32, kernel_size=(3,3), activation = 'relu', input_shape=input_shape))\n",
- "model.add(Conv2D(64, kernel_size=(3,3), activation = 'relu'))\n",
- "model.add(MaxPool2D(pool_size=(2, 2)))\n",
- "model.add(Dropout(0.2))\n",
- "model.add(Flatten()) # Flattening the 2D arrays for fully connected layers\n",
- "model.add(Dense(128, activation='relu'))\n",
- "model.add(Dropout(0.5))\n",
- "model.add(Dense(10,activation='softmax'))"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "u_fHpsDiRu9T",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 434
- },
- "outputId": "3794bd67-b724-48fd-835a-297b812c9af8"
- },
- "source": [
- "model.summary()"
- ],
- "execution_count": 22,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "Model: \"sequential_4\"\n",
- "_________________________________________________________________\n",
- "Layer (type) Output Shape Param # \n",
- "=================================================================\n",
- "conv2d_7 (Conv2D) (None, 26, 26, 32) 320 \n",
- "_________________________________________________________________\n",
- "conv2d_8 (Conv2D) (None, 24, 24, 64) 18496 \n",
- "_________________________________________________________________\n",
- "max_pooling2d_4 (MaxPooling2 (None, 12, 12, 64) 0 \n",
- "_________________________________________________________________\n",
- "dropout_7 (Dropout) (None, 12, 12, 64) 0 \n",
- "_________________________________________________________________\n",
- "flatten_4 (Flatten) (None, 9216) 0 \n",
- "_________________________________________________________________\n",
- "dense_7 (Dense) (None, 128) 1179776 \n",
- "_________________________________________________________________\n",
- "dropout_8 (Dropout) (None, 128) 0 \n",
- "_________________________________________________________________\n",
- "dense_8 (Dense) (None, 10) 1290 \n",
- "=================================================================\n",
- "Total params: 1,199,882\n",
- "Trainable params: 1,199,882\n",
- "Non-trainable params: 0\n",
- "_________________________________________________________________\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "lfzeAbT1RElh",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 382
- },
- "outputId": "1eba83b0-f198-4b17-9a98-2f0c2da5d7f7"
- },
- "source": [
- "model.compile(optimizer='adam', \n",
- " loss='sparse_categorical_crossentropy', \n",
- " metrics=['accuracy'])\n",
- "history = model.fit(x=x_train,y=y_train, batch_size =32, epochs=10,verbose = 2, validation_data=(x_test, y_test))"
- ],
- "execution_count": 25,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "Train on 60000 samples, validate on 10000 samples\n",
- "Epoch 1/10\n",
- " - 12s - loss: 0.1047 - acc: 0.9688 - val_loss: 0.0405 - val_acc: 0.9873\n",
- "Epoch 2/10\n",
- " - 12s - loss: 0.0652 - acc: 0.9800 - val_loss: 0.0334 - val_acc: 0.9894\n",
- "Epoch 3/10\n",
- " - 12s - loss: 0.0513 - acc: 0.9844 - val_loss: 0.0374 - val_acc: 0.9884\n",
- "Epoch 4/10\n",
- " - 12s - loss: 0.0435 - acc: 0.9865 - val_loss: 0.0409 - val_acc: 0.9875\n",
- "Epoch 5/10\n",
- " - 12s - loss: 0.0375 - acc: 0.9887 - val_loss: 0.0330 - val_acc: 0.9900\n",
- "Epoch 6/10\n",
- " - 12s - loss: 0.0328 - acc: 0.9898 - val_loss: 0.0323 - val_acc: 0.9911\n",
- "Epoch 7/10\n",
- " - 12s - loss: 0.0281 - acc: 0.9916 - val_loss: 0.0281 - val_acc: 0.9920\n",
- "Epoch 8/10\n",
- " - 12s - loss: 0.0249 - acc: 0.9918 - val_loss: 0.0322 - val_acc: 0.9914\n",
- "Epoch 9/10\n",
- " - 12s - loss: 0.0249 - acc: 0.9923 - val_loss: 0.0384 - val_acc: 0.9907\n",
- "Epoch 10/10\n",
- " - 12s - loss: 0.0220 - acc: 0.9923 - val_loss: 0.0313 - val_acc: 0.9918\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "lfIkrsbIUfiE",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 86
- },
- "outputId": "725df237-8175-4bd3-ae3f-c862bf9b856c"
- },
- "source": [
- "score = model.evaluate(x_test, y_test, verbose=0)\n",
- "print(\"Loss: %.2f\"%(score[0]*100))\n",
- "print(\"Accuracy: %.2f\"%(score[1]*100))\n",
- "print(\"Training loss: %.2f\"%(history.history['loss'][9]*100))\n",
- "print(\"Validation loss: %.2f\"%(history.history['val_loss'][9]*100))"
- ],
- "execution_count": 26,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "Loss: 3.13\n",
- "Accuracy: 99.18\n",
- "Training loss: 2.20\n",
- "Validation loss: 3.13\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "Nr1zHdyCUglM",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 545
- },
- "outputId": "17e1e8b8-a7a7-4a1f-f4cd-4af1ec1b9b78"
- },
- "source": [
- "import matplotlib.pyplot as plt\n",
- "\n",
- "loss = history.history['loss']\n",
- "val_loss = history.history['val_loss']\n",
- "epochs = range(1,len(loss)+1)\n",
- "plt.title(\"Training and Validation loss\")\n",
- "plt.plot(epochs,loss,'y',label='Training Loss')\n",
- "plt.plot(epochs,val_loss,'r',label='Validation Loss')\n",
- "plt.legend()\n",
- "plt.show()\n",
- "\n",
- "acc = history.history['acc']\n",
- "val_acc = history.history['val_acc']\n",
- "epochs = range(1,len(loss)+1)\n",
- "plt.title(\"Training and Validation Accuracy\")\n",
- "plt.plot(epochs,acc,'y',label='Training Accuracy')\n",
- "plt.plot(epochs,val_acc,'r',label='Validation Accuracy')\n",
- "plt.legend()\n",
- "plt.show()"
- ],
- "execution_count": 27,
- "outputs": [
- {
- "output_type": "display_data",
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEICAYAAABRSj9aAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXxU5dn/8c+VnaxANnbCDmEVwqai\notYKBSmKioJVq8XHR1utS6U+Vqm1T631Udu6t9W6gohaUUDrT3EtsssSkB0hAZIQICQBQpK5fn+c\nSQgxyySZ5CST6/16zYtZzpxzzRnyPffc5557RFUxxhgTuILcLsAYY0zjsqA3xpgAZ0FvjDEBzoLe\nGGMCnAW9McYEOAt6Y4wJcBb0pk5EJFhECkSkmz+XdZOI9BaRRhlnXHndIvJvEZnRGHWIyG9E5Nn6\nPr+G9d4oIp/6e72m6VjQBzhv0JZdPCJyvMLtKgOnJqpaqqrRqrrHn8s2VyLy/0Tk/iruv0xEMkUk\nuC7rU9WLVPU1P9R1oYjsrrTu36nqfzV03SbwWNAHOG/QRqtqNLAHmFzhvu8FjoiENH2VzdpLwDVV\n3H8N8KqqljZxPcbUmQV9KyciD4nIGyIyV0TygZkiMlZEvhaRIyKyX0T+IiKh3uVDRERFJMV7+1Xv\n40tEJF9ElolIj7ou6318gohsFZE8EfmriHwlItdVU7cvNd4kIttF5LCI/KXCc4NF5HERyRWRncDF\nNeyit4EOInJmhefHAxOBl723LxGRb0TkqIjsEZHf1LC/vyx7TbXV4e0y2ezdVztE5Ebv/XHAe0C3\nCp/Okrzv5T8rPH+qiKR799EnItKvwmMZInKHiGzw7u+5IhJew36oWNfZIrLK+7wVIjK6wmM3iMhu\nb807RWS69/6+IvK59zkHReR1X7Zl/ERV7dJKLsBu4MJK9z0EnAQm4xz42wAjgdFACNAT2Arc6l0+\nBFAgxXv7VeAgkAaEAm/gtHTrumwSkA9M8T52B1AMXFfNa/GlxneBOCAFOFT22oFbgXSgCxAPfO78\nKVS7314Enq1w+xZgVYXb5wMDvftvqPc1TvI+1rviuoEvy15TbXV435OegHi3cRwY4n3sQmB3Fe/l\nP73XBwAF3ueFAvcCW4BQ7+MZwNdAB++2twI3VvP6bwQ+9V5PAPKAq7z7+RogF2gHxHof6+NdtiOQ\n6r3+JnCPdx9FAGe5/ffQmi7WojcAX6rqe6rqUdXjqrpSVZeraomq7gSeB86t4fkLVHWVqhYDrwHD\n6rHsJOAbVX3X+9jjOIFZJR9r/IOq5qnqbuDTCtu6AnhcVTNUNRd4uIZ6wem+uaJCi/cn3vvKavlE\nVdO9+28dMK+KWqpSYx3e92SnOj4BPgbG+bBegOnAQm9txd51x+EcHMs8oaoHvNt+n5rftzKTgXRV\nnevd968AO4EflZUNDBKRCFXdr6qbvPcX4xxwO6rqCVX9ysfXYfzAgt4A7K14Q0T6i8giETkgIkeB\nB3FactU5UOH6MSC6Hst2qliHqipOq7NKPtbo07aA72qoF+Az4CgwWUT6AmcAcyvUMlZEPhWRHBHJ\nw2kB17S/ytRYh4hMEpHlInJIRI4AF/m43rJ1l69PVT04+7NzhWXq8r5Vud4KdXdW1aM4Lf1bgAMi\n8r53fwHcifPJYpW3u+haH1+H8QMLegNOK6yi54CNQG9VjQXux+k+aEz7cbowABAR4fRQqqwhNe4H\nula4XePwT+9B52Wclvw1wGJVrfhpYx7wFtBVVeOAv/tYS7V1iEgbYAHwByBZVdsC/66w3tqGYe4D\nuldYXxDO/s30oS6f1+vVrWy9qrpEVS/E6bbZjvM+4W3d36iqHXEOBM9XPD9jGpcFvalKDE5fa6GI\nDABuaoJtvg8MF5HJ4oz8uQ1IbKQa5wO3i0hn74nVe3x4zss4J0t/SoVumwq1HFLVEyIyBqfbpKF1\nhANhQA5QKiKTgAsqPJ4FJIhITA3rvkREzvOepL4b5xzIch9rq877wEARudJ70vtqnPMQi0Sko/f9\ni8Q571MIeABE5AoRKTtwH8E5UNmIpSZiQW+qcidwLU4wPIdz0rRRqWoWcCXwGM7JvV7AWqCoEWp8\nBqe/ewOwEqflXFt924EVOAG8qNLDNwN/EGfU0r04IdugOlT1CPBL4B2cE8nTcEK27PGNOJ8idntH\n1SRVqjcdZ/88g3OwuBi4xNtfX2+qmgNcgnNQyvXWOElVDwPBOAeU/d7HzsRpvYNzbmCliBTijGS6\nRVvw9ytaGnE+lRrTvIjzRaR9wDRV/cLteoxpyaxFb5oNEblYRNp6R7f8BmekxgqXyzKmxbOgN83J\n2ThD9XKAHwJTVbW6rhtjjI+s68YYYwKcteiNMSbANbsJrBISEjQlJcXtMowxpkVZvXr1QVWtckhy\nswv6lJQUVq1a5XYZxhjToohItd/wtq4bY4wJcBb0xhgT4CzojTEmwDW7PnpjTNMoLi4mIyODEydO\nuF2KqYOIiAi6dOlCaGioz8+xoDemlcrIyCAmJoaUlBScyUJNc6eq5ObmkpGRQY8evk/+aV03xrRS\nJ06cID4+3kK+BRER4uPj6/wpzILemFbMQr7lqc97FjBBf+LEXnbs+BUnT2a5XYoxxjQrARP0paX5\n7N37J7KzG33qdGOMH+Tm5jJs2DCGDRtGhw4d6Ny5c/ntkydP+rSO66+/ni1bttS4zFNPPcVrr73m\nj5I5++yz+eabb/yyrqYUMCdjo6JSiY4+g6ysV+nS5Rdul2OMqUV8fHx5aM6ZM4fo6Gjuuuuu05ZR\nVVSVoKCq26Qvvvhirdu55ZZbal0m0AVMix4gOXkm+fkrOXZsq9ulGGPqafv27aSmpjJjxgwGDhzI\n/v37mTVrFmlpaQwcOJAHH3ywfNmyFnZJSQlt27Zl9uzZDB06lLFjx5KdnQ3AfffdxxNPPFG+/OzZ\nsxk1ahT9+vXjP//5DwCFhYVcdtllpKamMm3aNNLS0nxuuR8/fpxrr72WwYMHM3z4cD7//HMANmzY\nwMiRIxk2bBhDhgxh586d5OfnM2HCBIYOHcqgQYNYsKDWHzfzi4Bp0QMkJU1nx467ycp6jR49fut2\nOca0GNu23U5BgX+7JKKjh9GnzxP1eu63337Lyy+/TFpaGgAPP/ww7du3p6SkhPHjxzNt2jRSU1NP\ne05eXh7nnnsuDz/8MHfccQcvvPACs2fP/t66VZUVK1awcOFCHnzwQT744AP++te/0qFDB9566y3W\nrVvH8OHDfa71L3/5C+Hh4WzYsIH09HQmTpzItm3bePrpp7nrrru48sorKSoqQlV59913SUlJYcmS\nJeU1N4WAatGHh3eiXbsLyMp6FZtn35iWq1evXuUhDzB37lyGDx/O8OHD2bx5M5s2bfrec9q0acOE\nCRMAGDFiBLt3765y3Zdeeun3lvnyyy+ZPt35TfehQ4cycOBAn2v98ssvmTlzJgADBw6kU6dObN++\nnTPPPJOHHnqIRx55hL179xIREcGQIUP44IMPmD17Nl999RVxcXE+b6chAqpFD5CcPINvv72Oo0e/\nJi5urNvlGNMi1Lfl3ViioqLKr2/bto0///nPrFixgrZt2zJz5swqx5GHhYWVXw8ODqakpKTKdYeH\nh9e6jD9cc801jB07lkWLFnHxxRfzwgsvcM4557Bq1SoWL17M7NmzmTBhAvfee2+j1VAmoFr0AAkJ\nUwkKakNW1qtul2KM8YOjR48SExNDbGws+/fv58MPP/T7Ns466yzmz58POH3rVX1iqM64cePKR/Vs\n3ryZ/fv307t3b3bu3Env3r257bbbmDRpEuvXryczM5Po6GiuueYa7rzzTtasWeP311KVgGvRh4TE\nkpAwhezsN+jd+wmCgnyfD8IY0/wMHz6c1NRU+vfvT/fu3TnrrLP8vo2f//zn/OQnPyE1NbX8Ul23\nyg9/+MPyeWbGjRvHCy+8wE033cTgwYMJDQ3l5ZdfJiwsjNdff525c+cSGhpKp06dmDNnDv/5z3+Y\nPXs2QUFBhIWF8eyzz/r9tVSpbPhSTRfgYmALsB2YXcXj5wBrgBJgWqXHrgW2eS/X1ratESNGaEMd\nPPi+Ll2K5uS81+B1GROoNm3a5HYJzUZxcbEeP35cVVW3bt2qKSkpWlxc7HJV1avqvQNWaTW5WmuL\nXkSCgaeAHwAZwEoRWaiqFT/b7AGuA+6q9Nz2wANAGqDAau9zD9fvsOSbdu0uIjQ0gaysV0lImNSY\nmzLGBICCggIuuOACSkpKUFWee+45QkICp8PDl1cyCtiuqjsBRGQeMAUoD3pV3e19zFPpuT8EPlLV\nQ97HP8L5dDC3wZXXICgolMTEKzlw4B+UlBwlJCS2MTdnjGnh2rZty+rVq90uo9H4cjK2M7C3wu0M\n732+8Om5IjJLRFaJyKqcnBwfV12z5OSZeDwnOHjwHb+szxhjWqpmMepGVZ9X1TRVTUtMrPJHzOss\nNnY0ERG9bPSNMabV8yXoM4GuFW538d7ni4Y8t0FEhOTkGRw+/DFFRfuaYpPGGNMs+RL0K4E+ItJD\nRMKA6cBCH9f/IXCRiLQTkXbARd77mkRy8gxAyc5u1FMCxhjTrNUa9KpaAtyKE9Cbgfmqmi4iD4rI\nJQAiMlJEMoDLgedEJN373EPA73AOFiuBB8tOzDaFyMi+xMSMIivLP1OUGmP8Z/z48d/78tMTTzzB\nzTffXOPzoqOjAdi3bx/Tpk2rcpnzzjuPVatW1bieJ554gmPHjpXfnjhxIkeOHPGl9BrNmTOHRx99\ntMHr8Sef+uhVdbGq9lXVXqr6e+9996vqQu/1laraRVWjVDVeVQdWeO4Lqtrbe6l9TlE/S06eSUHB\nWgoL05t608aYGlx11VXMmzfvtPvmzZvHVVdd5dPzO3Xq1KDZHysH/eLFi2nbtm2919ecNYuTsY0p\nKelKINha9cY0M9OmTWPRokXlPzKye/du9u3bx7hx48rHtQ8fPpzBgwfz7rvvfu/5u3fvZtCgQYAz\nVfD06dMZMGAAU6dO5fjx4+XL3XzzzeVTHD/wwAOAM+Pkvn37GD9+POPHjwcgJSWFgwcPAvDYY48x\naNAgBg0aVD7F8e7duxkwYAA/+9nPGDhwIBdddNFp26lNVessLCzkRz/6Ufm0xW+84fxw0uzZs0lN\nTWXIkCHfm6O/PgLnGwHVCAtLon37i7xTFz+ESMAf24ypu9tvB3//ctKwYfBE9ZOltW/fnlGjRrFk\nyRKmTJnCvHnzuOKKKxARIiIieOedd4iNjeXgwYOMGTOGSy65pNrfS33mmWeIjIxk8+bNrF+//rRp\nhn//+9/Tvn17SktLueCCC1i/fj2/+MUveOyxx1i6dCkJCQmnrWv16tW8+OKLLF++HFVl9OjRnHvu\nubRr145t27Yxd+5c/va3v3HFFVfw1ltvlc9cWZPq1rlz5046derEokWLAGfa4tzcXN555x2+/fZb\nRMQv3UmtIvWSk2dSVLSHvLyv3C7FGFNBxe6bit02qsq9997LkCFDuPDCC8nMzCQrq/rfg/7888/L\nA3fIkCEMGTKk/LH58+czfPhwzjjjDNLT02udsOzLL79k6tSpREVFER0dzaWXXsoXX3wBQI8ePRg2\nbBhQ81TIvq5z8ODBfPTRR9xzzz188cUXxMXFERcXR0REBDfccANvv/02kZGRPm2jJgHfogdISJhC\nUFAUWVmv0rbtOLfLMab5qaHl3ZimTJnCL3/5S9asWcOxY8cYMWIEAK+99ho5OTmsXr2a0NBQUlJS\nqpyauDa7du3i0UcfZeXKlbRr147rrruuXuspUzbFMTjTHNel66Yqffv2Zc2aNSxevJj77ruPCy64\ngPvvv58VK1bw8ccfs2DBAp588kk++eSTBm2nVbTog4OjSEycSk7OfDyeIrfLMcZ4RUdHM378eH76\n05+edhI2Ly+PpKQkQkNDWbp0Kd99912N6znnnHN4/fXXAdi4cSPr168HnCmOo6KiiIuLIysrq/yX\nnQBiYmLIz8//3rrGjRvHv/71L44dO0ZhYSHvvPMO48Y1rIFY3Tr37dtHZGQkM2fO5O6772bNmjUU\nFBSQl5fHxIkTefzxx1m3bl2Dtg2tpEUPTvdNVtar5OYuJjFxqtvlGGO8rrrqKqZOnXraCJwZM2Yw\nefJkBg8eTFpaGv37969xHTfffDPXX389AwYMYMCAAeWfDIYOHcoZZ5xB//796dq162lTHM+aNYuL\nL76YTp06sXTp0vL7hw8fznXXXceoUaMAuPHGGznjjDN87qYBeOihh8pPuAJkZGRUuc4PP/yQu+++\nm6CgIEJDQ3nmmWfIz89nypQpnDhxAlXlscce83m71RFtZj+5l5aWprWNf60Pj6eEZcu6EBd3NoMG\nNc0P8hrTnG3evJkBAwa4XYaph6reOxFZrappVS3fKrpuAIKCQkhOvorc3PcoLm74WWxjjGkpWk3Q\nAyQlzUD1JDk51qI3xrQerSroY2JG0KZNP5vR0hiv5tZ1a2pXn/esVQW9M6PlTPLyPuPEiT1ul2OM\nqyIiIsjNzbWwb0FUldzcXCIiIur0vFYz6qZMcvLV7N79G7Kz59Kt2z1ul2OMa7p06UJGRgb++rEf\n0zQiIiLo0qVLnZ7T6oK+TZuexMaeyYEDr9C166+q/Uq1MYEuNDSUHj16uF2GaQKtquumTHLyTI4d\nS6ewcL3bpRhjTKNrlUGflHQFIiE2o6UxplVolUEfGhpP+/YTycp6HdVSt8sxxphG1SqDHpyfGTx5\nMpMjRz5zuxRjjGlUrTbo4+MnExwcY2PqjTEBr9UGfXBwGxITp5GT8xalpQ2batQYY5qzVhv04Iy+\nKS09Sm7u+26XYowxjaZVB33btucSFtbJum+MMQGtVQe9SDDJyVdz6NBiiotz3S7HGGMaRasOenC6\nb1RLyM5+0+1SjDGmUbT6oI+KGkJU1CDrvjHGBKxWH/QiQlLSDI4e/Yrjx3e6XY4xxvhdqw96cGa0\nBMjKet3lSowxxv8s6IGIiG7ExZ1LdvZrNje3MSbgWNB7OTNafktBwRq3SzHGGL+yoPdKTJyGSJid\nlDXGBBwLeq/Q0LbEx08iK2suHk+J2+UYY4zfWNBXkJw8k+LiLI4c+cTtUowxxm8s6CuIj59ISEhb\n674xxgQUC/oKgoLCSUy8nJyctyktLXS7HGOM8QsL+kqSk2fi8RRy8OC7bpdijDF+YUFfSVzc2YSH\nd7PfkzXGBAwL+kpEgkhOnsGhQx9y8mS22+UYY0yDWdBXITl5BlBKdvYbbpdijDENZkFfhaiogURH\nD7PRN8aYgGBBX43k5Jnk56/g2LFtbpdijDEN4lPQi8jFIrJFRLaLyOwqHg8XkTe8jy8XkRTv/aEi\n8pKIbBCRzSLya/+W33iSkq4CxE7KGmNavFqDXkSCgaeACUAqcJWIpFZa7AbgsKr2Bh4H/ui9/3Ig\nXFUHAyOAm8oOAs1deHgn2rY9n6ysV21GS2NMi+ZLi34UsF1Vd6rqSWAeMKXSMlOAl7zXFwAXiIgA\nCkSJSAjQBjgJHPVL5U0gOXkmJ07s4OjR5W6XYowx9eZL0HcG9la4neG9r8plVLUEyAPicUK/ENgP\n7AEeVdVDlTcgIrNEZJWIrMrJyanzi2gsiYmXEhQUQXa2dd8YY1quxj4ZOwooBToBPYA7RaRn5YVU\n9XlVTVPVtMTExEYuyXchIbHEx08hO3seHk+x2+UYY0y9+BL0mUDXCre7eO+rchlvN00ckAtcDXyg\nqsWqmg18BaQ1tOimlJw8g+Ligxw+/G+3SzHGmHrxJehXAn1EpIeIhAHTgYWVllkIXOu9Pg34RJ0z\nmHuA8wFEJAoYA3zrj8KbSvv2PyQkJN7G1BtjWqxag97b534r8CGwGZivquki8qCIXOJd7B9AvIhs\nB+4AyoZgPgVEi0g6zgHjRVVd7+8X0ZiCgsJISrqSgwffpaQk3+1yjDGmzqS5DR1MS0vTVatWuV3G\nafLylrF27Zn07/8SHTr8xO1yjDHme0RktapW2TVu34z1QWzsGCIielr3jTGmRbKg94GIkJw8g8OH\nP6aoaL/b5RhjTJ1Y0PvImdHSQ3b2PLdLMcaYOrGg91FkZD9iYkZa940xpsWxoK+D5OQZFBSsobBw\nk9ulGGOMzyzo6yApaToQbDNaGmNaFAv6OggLS6Z9+x+Qnf06qh63yzHGGJ9Y0NeRM6PlbvLy/uN2\nKcYY4xML+jqKj59CUFCknZQ1xrQYFvR1FBISTULCVHJy5uPxnHS7HGOMqZUFfT0kJ8+kpOQwhw4t\ncbsUY4yplQV9PbRrdyGhoUnWfWOMaREs6OshKCiEpKTpHDz4HsXFR9wuxxhjamRBX0/JyTNRLeLg\nwbfcLsUYY2pkQV9PMTFptGnT1748ZYxp9izo68mZ0XImR458yokTe2t/gjHGuMSCvgGSk68GlOzs\nuW6XYowx1bKgb4A2bXoRGzvWRt8YY5o1C/oGSk6eSWHhBgoKWtRP4RpjWhEL+gZKTLwCkRA7KWuM\nabYs6BsoLCyB9u0vJivrNZvR0hjTLFnQ+0Fy8kxOnszkyJHP3C7FGGO+x4LeD+LjJxMcHGPdN8aY\nZsmC3g+CgyNJTLyMnJw3KS094XY5xhhzGgt6P0lKmkFp6VFyc993uxRjjDmNBb2ftGs3nrCwjjam\n3hjT7FjQ+4lIMElJV3Po0GKKiw+5XY4xxpSzoPcjZ0bLYnJy3nS7FGOMKWdB70fR0UOJjEy17htj\nTLNiQe9HzoyW15CX9yVZWfPcLscYYwALer/r0uXnxMWdy+bNM2xcvTGmWbCg97Pg4CiGDFlE27bn\nsnnzNRw48JLbJRljWjkL+kYQHBzF4MHv067dBXz77fXs3/+C2yUZY1oxC/pGEhwcyaBBC2nX7gds\n2XID+/b9ze2SjDGtlAV9IwoObsOgQe/Svv0Etm6dRWbms26XZIxphSzoG1lwcASDBr1DfPwktm27\nmczMp9wuyRjTyljQN4GgoHAGDlxAfPwUtm27lYyMP7tdkjGmFbGgbyJO2M8nIeFStm+/nb17H3O7\nJGNMK2FB34SCgsJITZ1HYuLl7NhxJ3v2/MntkowxrYBPQS8iF4vIFhHZLiKzq3g8XETe8D6+XERS\nKjw2RESWiUi6iGwQkQj/ld/yBAWFMmDA6yQlTWfnzl/x3Xd/cLskY0yAC6ltAREJBp4CfgBkACtF\nZKGqbqqw2A3AYVXtLSLTgT8CV4pICPAqcI2qrhOReKDY76+ihQkKCqF//1eAIHbtuhfVUlJS7nO7\nLGNMgKo16IFRwHZV3QkgIvOAKUDFoJ8CzPFeXwA8KSICXASsV9V1AKqa66e6W7ygoBAGDHgZkWB2\n7/4NUEpKygNul2WMCUC+BH1nYG+F2xnA6OqWUdUSEckD4oG+gIrIh0AiME9VH6m8ARGZBcwC6Nat\nW11fQ4slEkz//i96w36Ot2X/W5xjpDHG+IcvQd/Q9Z8NjASOAR+LyGpV/bjiQqr6PPA8QFpamjZy\nTc2KSDD9+v0DkRC+++53qJbQo8fvLeyNMX7jS9BnAl0r3O7iva+qZTK8/fJxQC5O6/9zVT0IICKL\ngeHAx5hyIkH07fscEMyePX9AtYSePf9oYW+M8QtfRt2sBPqISA8RCQOmAwsrLbMQuNZ7fRrwiaoq\n8CEwWEQivQeAczm9b994OWH/DJ06/Td79/6JHTvuwtmFxhjTMLW26L197rfihHYw8IKqpovIg8Aq\nVV0I/AN4RUS2A4dwDgao6mEReQznYKHAYlVd1EivpcUTEfr0eRKREDIyHkO1lN69H7eWvTGmQXzq\no1fVxcDiSvfdX+H6CeDyap77Ks4QS+MDEaF37ycQCSYj43FUS+jT568W9saYemvsk7GmHkSEXr3+\nD5Fg9u59FCilT5+nELEvMhtj6s6CvpkSEXr2fASREPbseRjVEvr2fc7C3hhTZxb0zZiI0KPH/+KM\nxvk9qqX06/c3nC8rG2OMbyzomzkn7H/nHWf/W1RL6d//BQt7Y4zPLOhbACfs53i/QXu/N+z/SVCQ\nvX3GmNpZUrQgKSm/QSSYXbv+Byilf/9XLOyNMbWylGhhune/F5EQdu68B9VSBgx4jaCgULfLMsY0\nYxb0LVC3br9CJNj77dlSUlPnEhQU5nZZxphmysbqtVBdu95Jr16Pc/Dg26SnX4HHc9LtkowxzZQF\nfQvWtevt9O79V3Jz3yU9fRoeT5HbJRljmiEL+hauS5db6dPnaXJz32PjxkspLT3hdknGmGbGgj4A\ndO58M337PsehQ4vZuPHHlJYed7skY0wzYkEfIDp1mkW/fv/g8OF/s3HjFEpLj7ldkjGmmbCgDyAd\nO/6U/v1f5PDh/8eGDZMpLS10uyRjTDNgQR9gOnS4lv79X+bIkU9Zt+5C8vO/cbskY4zLLOgDUIcO\nM0lNncexY1tZvXo4mzdfy4kTe2t/ojEmIFnQB6ikpMsZPXoHXbveRXb2G6xY0ZedO++lpCTP7dKM\nMU3Mgj6AhYa2pVevRxg9egsJCZexZ88fWL68NxkZT+LxFLtdnjGmiVjQtwIREd1JTX2V4cNXEhU1\niO3bf87KlQPJyXnbfoDcmFbAgr4ViY1NY+jQTxg8+H1EQkhPv4y1a8eRl/e126UZYxqRBX0rIyLE\nx/+ItLT19O37HMePb2ft2rGkp1/B8eM73C7PGNMILOhbqaCgEDp1msXo0dvp3v0BcnMXsWLFALZt\nu53i4ly3yzPG+JEFfSsXEhJNjx5zGD16Ox06XEdm5l/5+ute7NnzJ5s3x5gAYUFvAAgP70i/fs8z\ncuR64uLOYufOX7FiRX+ysl5D1eN2ecaYBrCgN6eJihrIkCGLGDr0Y0JD27N580xWrx7J4cNL3S7N\nGFNPFvSmSu3anc+IEavo3/8ViosPsm7d+axfP4nCwk1ul2aMqSMLelMtkSA6dJjJqFHf0rPnw+Tl\nfcHKlYPZsuUmiooOuF2eMcZHFvSmVsHBbejW7R5Gj95B5863cuDACyxf3pvdu39rM2Qa0wJY0Buf\nhYUl0KfPnxk5cjPx8RPYvXsOy5f3Yd++v6Na6nZ5xphqWNCbOouM7M3AgW9yxhlfERGRwtatP2Pl\nyqHk5i62KRWMaYYs6E29xXhl9LQAABZiSURBVMWdyRlnfMXAgQtQLWLDhh9558Bf43ZpxpgKLOhN\ng4gIiYmXMXJkOr17/4WCgnWsXj2CzZuv4cSJPW6XZ4zBgt74SVBQGF26/JwxY3bQrdtscnIWsHx5\nX3bsmE1x8RG3yzOmVbOgN34VEhJHz55/YNSoLSQlXcHevY/w9ddd2br1FhuDb4xLLOhNo4iI6MaA\nAS+TlraWhITL2L//H6xcOZBvvjmfnJy38XhK3C7RmFbDgt40qujooQwY8E/Gjs2gZ8+HOX58B+np\nl7F8eQ++++73nDyZ5XaJxgQ8C3rTJMLCEujW7R7GjNnJoEHvEhk5gF277mPZsq5s2jSTvLxlNjTT\nmEYS4nYBpnURCSYh4RISEi7h2LEtZGY+zYED/yQ7+zWio4fTufOtJCVNJzi4jdulGhMwrEVvXBMZ\n2Y8+ff7M2LGZ9OnzDB5PEVu2/JRly7qwY8evOH58l9slGhMQfAp6EblYRLaIyHYRmV3F4+Ei8ob3\n8eUiklLp8W4iUiAid/mn7GocPNioqzc+UIVdu+Cf/4Trr4feveHss+GLL6p9SkhINJ07/xcjR25g\n2LBPadfufPbufYzly3uxYcNkcnM/sDnxjWmAWoNeRIKBp4AJQCpwlYikVlrsBuCwqvYGHgf+WOnx\nx4AlDS+3Bhs2QOfO8LOfOUFjmoYqbN0Kf/sbzJwJ3btDz55OyL/3HgwaBLt3wznnwKWXOstWQ0Ro\n2/ZcBg58kzFjdtO9+30cPbqSDRsmsGJFP/bufdzG5BtTD7606EcB21V1p6qeBOYBUyotMwV4yXt9\nAXCBiAiAiPwY2AWk+6fkaiQkwKxZ8Mor0Lcv3HAD7NzZqJtslVRh0yZ45hmYPt05uPbr5+z7jz6C\nMWPgySedA292NvzrX064P/SQ8/jAgXDbbbV++oqI6EKPHg8yduweBgx4ndDQJHbsuINlyzqzZctN\nFBSsb6IXbEwAUNUaL8A04O8Vbl8DPFlpmY1Alwq3dwAJQDSwzPvvHOCuarYxC1gFrOrWrZs2SEaG\n6s9/rhoerhocrHr99arbtzdsna1ZaanqN9+o/vnPqpdeqpqQoOrEvWrnzqpXX6363HOqmzerejw1\nr2v/ftWbblINClKNi1P9059Ujx/3uZSjR9fo5s036GeftdGlS9E1a8ZpVtY8LS092cAXaUzLB6zS\nanJctJYhbSIyDbhYVW/03r4GGK2qt1ZYZqN3mQzv7R3AaGA2sEJV54vIHKBAVR+taXtpaWm6atUq\nX45RNdu3Dx55BJ57DoqLnW6F++5z+oxN9UpL4Ztv4LPPnMsXX8Dhw85j3bvDueeeuvTsCc4Ht7rZ\ntAnuvhsWL4aUFPjDH+DKK31eV3HxIQ4ceJHMzKc5cWInYWEd6dhxFp06zSI8vFPd6zEmAIjIalVN\nq/LB6o4Aeqq1PRb4sMLtXwO/rrTMh8BY7/UQ4CAgwBfAbu/lCHAIuLWm7Y0YMcK/h7l9+1Rvv101\nIsJpSf7kJ6pbt/p3Gy3ZyZOqy5apPvyw6oQJqrGxp1rsvXur3nCD6ssvq+7e7f9tf/SR6tChzrZG\nj1b94os6Pd3jKdWDBxfpunUTdOlS0U8/DdGNG6/Uw4c/V09tny6MCTDU0KL3JehDgJ1ADyAMWAcM\nrLTMLcCz3uvTgflVrGcO1XTdVLz4PejL7N+vescdqm3aOIE/c6bqt982zraasxMnnEB96CHVH/xA\nNSrqVLAPGOB0rbz+umpmZtPUU1Ki+uKLqp06OTVceqnqtm11Xk1h4Tbdtu0O/eKLtrp0KbpixRDN\nzHxOS0oK/F+zCQx5eaqPP67ao4dqcrLq//2famGh21XVW4OC3nk+E4GtOH3v/+O970HgEu/1COBN\nYDuwAuhZxTrcDfoyBw6o3nWXamSkE/hXX+30LweqY8dUP/lE9YEHVM87z/lkUxbsgwer3nqr6ptv\nqmZluVtnQYHqgw86B57QUNXbblM9eLDOqykpKdTMzL/pihVDdelS9PPP43Tbttu1sNA+xRmvHTuc\nT/kxMc7fwdlnq55/vnO9Qwcn/I8dc7vKOmtw0DflpdGDvkxWlurddzuBL6J61VWqmzY1zbYbU0mJ\n0xXzwAPOf+CwMOdtDgpSHT5c9Ze/VH3nnXqFaJPYv1911iyn3rZtVR991PkUUkcej0ePHPlS09Ov\n0k8/DfGevD1HMzKe1BMn9jdC4aZZ83hUP/tMdepU5/9WSIjqjBmqK1eeWuazz1THj3f+Xjp2dAYg\n1GGwgNss6GuSna16zz1OS1JE9corVTdubNoaGiozU/WFF1SvuEK1XTvnbRVRHTnSOZi9/77qkSNu\nV1k3GzY45wzA+Wj9xhu1j+qpxokT+3XXrt/p8uUDdelSdOlS0TVrzrXQbw2KilRfecVp5IBq+/aq\nv/61MzqvOkuXqp5zjrN8p06qTz5Zr8ZGU7Og90VOjvMfIDraCcnLL3fCpjk6cUL144+dEB88WMu7\nYjp2dIaTzpvXfFvsdfXvf6sOGeK8vjFjVL/6qkGrKyhI11275ujy5amVQv8pC/1AkpPjnIfq2NH5\nv9O/v+qzz/reB+/xOH9jZ5/tPL9LF9Wnn27WgW9BXxcHD6ree++p/rtp01TXr3e3JlXnBOWTT6pO\nmuR0N4HTl33++aqPPKK6bl29W7zNXkmJ84ml7I922jS/fDeioGCj7tz5gC5fPsAb+kG6du15mpHx\nlBYVHfBD4abJbdyo+rOfnToXddFFqkuWON8HqQ+PxxkdduaZzvq6dnUOGEVF/q3bDyzo6yM3V/W+\n+04NN7z0UueLQ00lP1914ULVW25R7dXrVKu9Vy/nvvfec5ZpTQoKVH/721MnbH/5S+d98suqqwv9\npy30m7vSUifML7rI+RuJiHDO8/izC9bjUf3wQ+dTJah27676/PPO8ORmwoK+IQ4dUr3//lOBP3Wq\n6tq1/t+Ox+O0yh95xGmlh4Y624uKclrxTz5Zr2GHAWnfPtUbb3ROqrVrp/rYY377SO3xeDQ/f4Pu\n3Hm/Ll/ev0Loj9eMjGe0qMjl0UnmlMJCp3Xdv7+Wd10+9JDTbdNYPB7noDJqlLPNlBTVv/+9WQS+\nBb0/HDrkjGSJi3N225QpqqtXN2ydublOf/r1158aRw5On/Tddzt9hM24T9B169er/vCHzj7r2dMZ\nJurH7qvqQ/98C303ZWQ459Pat3fe++HDnROuTdmd4vGoLlqkmpZ26v/fCy+oFhc3XQ2VWND70+HD\nTvdB27bO7ps8WXXVKt+eW3Ho4+jRTosUnFbplVc6/1Ga6otKgeSDD06dlB47VvU///H7JpzQX687\nd/5Gv/6632mhn5n5rBYVZft9m6aSFSuc772EhDgDJqZOVf38c3fPTXk8Thdr2aieXr1UX3rJlcC3\noG8MR46o/u53p4YzTpp0+pjcMlUNfQwKcvr65sxxgr+kpOnrDzQlJc5H6A4dnH18xRXOF2MawanQ\nv0+//rpvhdC/wELf34qLVRcsUD3rLOd9jYlxvuzUSO9tvXk8qv/6l+qwYU6dffo4nzKa8G/bgr4x\n5eU5/YJlHyMnTlSdP7/6oY9vvOG3E4imCvn5ziemyEjny2J33ul0uzUSJ/TXVQr9YG/oP2ehX19H\njjhTEnTvruXfpXj8cefvrTnzeFTffvvUkOB+/VRfe61JAt+CvikcPar6v/+rGh+v3xv6uH594A59\nbK4yM1V/+lPnI367dk5I7N7tHGQbqS/XCf1vdMeO/9Gvv+5THvrffHOhZmY+r0VFjXiSMFBs3676\ni18432cB54tLb7/d8j71lpY6n0QGDdLyeaTmzm3U11FT0Nc6TXFT89s0xW7Jz4e1a2H4cIiOdrsa\ns3493HWX86MnFYWFOe9PTMypfyter+3fyvdFRp42zbKqUli4nuzsN8nJmc/x49uAYNq1G09i4uUk\nJPyYsLCkpt0XzZWqMyX2E0/AwoUQEuJMW3377TBihNvVNYzHA2+9Bb/9LaSnQ2oqPPAATJsGQf79\nye6apim2oDetw5dfOr90VVDgHIzL/q14vap/i4p8W79ItQcFjY6mOOIkx4IzKJDt5PY7xJEhQlzS\neSQmTiMh4VLCwzs07utvjo4dgwUL4PHHnd9AiI+H//ov+O//hk4B9rsCHg+8+aYT+Js3Oz+x+cAD\nzs9r+inwLeiNqa/i4rofHGpatqAAAE9kKEdGhpM9soBDY6BNz3NITJxGYuKlhId3dvlFNxL1/r7w\nkiXO5bPPnANpaqrTep85E9q0cbvKxlVaCvPnO4G/ZQsMGeIE/o9/3ODAt6A3prk4dgyWLoVFi+D9\n92HvXgAK+7chZ9RxcseAjBxLYvLlJCZeRkREN5cLbqCy11sW7mW/49y/P0yYAJMnw3nn1e+Xylqy\n0lKYOxcefBC2bYNhw2DOHLjkknrvCwt6Y5ojVdi40Qn8RYvQZcsQj4fi9iEcHFVC7hgoPm8E8T2u\nJDHxMtq06el2xbVTdYJr8eLTW+2RkXD++U64T5gAPXq4XWnzUFICr78Ov/sdbN8Ol1/utPjrwYLe\nmJYgNxc++MAJ/SWLkCNH8YQIeUOU3DFw/PxUYtNmkph4GZGRfd2u9pTqWu39+sHEiU6wjxsHERHu\n1tmclZTAq69C+/ZOq74eLOiNaWlKSmDZMnj/fTzv/4ugTVsBONYFcsdA4Xk9iPjBNSR2nk5U1ICm\nra2s1b5kidNyt1Z7s2BBb0xLt3s3LFpE6XtvEfTpF0hRCSWRcDgN8s/pRPDk6cSnXkdU1CCkMfq7\na2q1T5jgtNyt1e4qC3pjAklhIXzyCaXvzodF7xN84AgAR/vD0bPjYdIlxJ13C9Gxw+sf+hVb7UuW\nwKefWqu9mbOgNyZQqcK6dZQsfAPPu28QunYXolDUHvLOisEz4QIiL7mNmE7n1h76x445gV7WJWOt\n9hbFgt6Y1iInh5L3F1D8zouEfbqW4PwSPKFwdFgExReNIWLafxM99DJEvGO2K46QsVZ7i2ZBb0xr\nVFxMyWcfUPT2MwR/8AURu5wvax3rFkLJGb2IWpdH8O4DzrJlrfYJE+Ccc6zV3gLVFPQhTV2MMaaJ\nhIYScuFkQi6cDEDJ1nUce/MxZPEHRHy6hcOpcGgKFJ7TlYgBo4iL609sbCeiwsNoZV9fCnjWojem\nFfJ4TpKfv4ajR78iL8+5FBdnAxAS0pbY2LHExZ1FbOyZxMaOIjg4yuWKTW2sRW+MOU1QUBhxcWOI\nixtD1653oqqcOLGzPPTz8r7i0KElAIiEEB09jNjYs4iLcy7h4QE26ViAsxa9MaZKxcWHOXp0WXnw\n5+evwOM5DkBERMppwR8VNRCRYJcrbt2sRW+MqbPQ0HbEx08kPn4iAB5PMQUFa8uD/8iRj8nOfg2A\n4OBYb3fPmcTFnUVMzGhCQuz3GJoLa9EbY+rF6e7ZRV7eVxw9+h/y8r6isHAjoEAw0dFDy1v8sbFn\nERHRxe2SA5oNrzTGNIni4iMcPfp1+Uneo0eX4/EcAyA8vNtpwR8dPdi6e/zIum6MMU0iNLQt8fEX\nEx9/MVDW3bOuPPiPHPmM7Oy5AAQHx3jn5qkcQ5UHd35/sOf3v+Vbt9uVnx8SEk9MzAhiYkYSEzOc\nkJDYql9gC2UtemNMk3G6e74rD/5jx7bgdPWUL/G95Sutoaq11njbl3UUFWVSVPRd+e02bfoRE5NG\nTEwasbEjiY4e1uyHmFqL3hjTLIgIbdqk0KZNCsnJM9wu5zQnTx4kP39V+eXIkU/LTzZDEFFRqeXh\nHxOTRlTUUIKDW8Y3iC3ojTEGCAtLOK3bCaCoaD/5+avJz19Jfv4qcnMXceDAPwHn+wVRUYMrhf8g\ngoLCXHoF1bOgN8aYaoSHdyQ8fBIJCZMApxuoqCjD2+p3wj8nZwH79/8NAJFwoqOHnhb+kZEDCApy\nN2ot6I0xxkciQkREVyIiupKYOBU4Ncz0VLfPSrKyXmHfvqcBCAqKJDr6jErh3/fUDKJNUbedjDXG\nGP9S9XD8+LbT+vzz89eUDzUNDo4hOno4sbEjy8M/IqJng34dzE7GGmNMExIJIjKyH5GR/cpPOquW\nUli4+bTwz8j4K6pFAISEtKNDh+vp3fv//F6PBb0xxjQBkWCiowcRHT2Ijh2vA5zvGRQWppf390dE\ndGuUbVvQG2OMS4KCQomJGUZMzDDgZ423HV8WEpGLRWSLiGwXkdlVPB4uIm94H18uIine+38gIqtF\nZIP33/P9W74xxpja1Br04kxG8RQwAUgFrhKR1EqL3QAcVtXewOPAH733HwQmq+pg4FrgFX8Vbowx\nxje+tOhHAdtVdaeqngTmAVMqLTMFeMl7fQFwgYiIqq5V1X3e+9OBNiIS7o/CjTHG+MaXoO8M7K1w\nO8N7X5XLqGoJkAfEV1rmMmCNlp1irkBEZonIKhFZlZOT42vtxhhjfNAkI/ZFZCBOd85NVT2uqs+r\napqqpiUmJjZFScYY02r4EvSZQNcKt7t476tyGXHmHI0Dcr23uwDvAD9R1R0NLdgYY0zd+BL0K4E+\nItJDRMKA6cDCSsssxDnZCjAN+ERVVUTaAouA2ar6lb+KNsYY47tag97b534r8CGwGZivquki8qCI\nXOJd7B9AvIhsB+4AyoZg3gr0Bu4XkW+8lyS/vwpjjDHVanZz3YhIDvBdrQs2bwk4Q0uNw/bH6Wx/\nnGL74nQN2R/dVbXKk5zNLugDgYisqm5yodbI9sfpbH+cYvvidI21P5punkxjjDGusKA3xpgAZ0Hf\nOJ53u4BmxvbH6Wx/nGL74nSNsj+sj94YYwKcteiNMSbAWdAbY0yAs6D3IxHpKiJLRWSTiKSLyG1u\n1+Q2EQkWkbUi8r7btbhNRNqKyAIR+VZENovIWLdrcpOI/NL7d7JRROaKSITbNTUlEXlBRLJFZGOF\n+9qLyEciss37bzt/bMuC3r9KgDtVNRUYA9xSxdz9rc1tON+oNvBn4ANV7Q8MpRXvFxHpDPwCSFPV\nQUAwzvQqrck/gYsr3Tcb+FhV+wAfc2qWgQaxoPcjVd2vqmu81/Nx/pArT+ncangntPsR8He3a3Gb\niMQB5+BMF4KqnlTVI+5W5boQnN+oCAEigX21LB9QVPVz4FCluyv+tsdLwI/9sS0L+kbi/TnFM4Dl\n7lbiqieAXwEetwtpBnoAOcCL3q6sv4tIlNtFuUVVM4FHgT3AfiBPVf/tblXNQrKq7vdePwAk+2Ol\nFvSNQESigbeA21X1qNv1uEFEJgHZqrra7VqaiRBgOPCMqp4BFOKnj+UtkbfveQrOAbATECUiM92t\nqnlRZ+y7X8a/W9D7mYiE4oT8a6r6ttv1uOgs4BIR2Y3z85Pni8ir7pbkqgwgQ1XLPuEtwAn+1upC\nYJeq5qhqMfA2cKbLNTUHWSLSEcD7b7Y/VmpB70ciIjh9sJtV9TG363GTqv5aVbuoagrOSbZPVLXV\ntthU9QCwV0T6ee+6ANjkYklu2wOMEZFI79/NBbTik9MVVPxtj2uBd/2xUgt6/zoLuAan9Vo2//5E\nt4syzcbPgddEZD0wDPhfl+txjfeTzQJgDbABJ4ta1XQIIjIXWAb0E5EMEbkBeBj4gYhsw/nU87Bf\ntmVTIBhjTGCzFr0xxgQ4C3pjjAlwFvTGGBPgLOiNMSbAWdAbY0yAs6A3xpgAZ0FvjDEB7v8DONzb\n3DoADL8AAAAASUVORK5CYII=\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "tags": []
- }
- },
- {
- "output_type": "display_data",
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "tags": []
- }
- }
- ]
- }
- ]
-}
\ No newline at end of file
From e81c3b6dc56f8ade076bd0a95e0b4d92ddc5cd9d Mon Sep 17 00:00:00 2001
From: tanvibattu <43849158+tanvibattu@users.noreply.github.com>
Date: Tue, 10 Mar 2020 02:49:53 +0530
Subject: [PATCH 3/4] Created using Colaboratory
---
CNN-practice/CNN-mnist.ipynb | 400 +++++++++++++++++++++++++++++++++++
1 file changed, 400 insertions(+)
create mode 100644 CNN-practice/CNN-mnist.ipynb
diff --git a/CNN-practice/CNN-mnist.ipynb b/CNN-practice/CNN-mnist.ipynb
new file mode 100644
index 0000000..090f7ac
--- /dev/null
+++ b/CNN-practice/CNN-mnist.ipynb
@@ -0,0 +1,400 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "name": "CNN.ipynb",
+ "provenance": [],
+ "collapsed_sections": [],
+ "authorship_tag": "ABX9TyMyW/mQW5eRn80nw8IlTm8T",
+ "include_colab_link": true
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "accelerator": "GPU"
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ "
"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "VWMog0eH8s3J",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "import tensorflow as tf\n",
+ "import keras\n",
+ "from keras.models import Sequential\n",
+ "from keras.datasets import mnist\n",
+ "from keras.layers import Dense, Dropout, Conv2D, MaxPool2D, Flatten\n",
+ "from keras.datasets import mnist\n",
+ "from keras.optimizers import RMSprop, adam"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "kQ820FbfPcqT",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "bGO_tNS5PnYd",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 34
+ },
+ "outputId": "3dbbf55b-1058-4f4b-da54-e8c93ff996fc"
+ },
+ "source": [
+ "x_train.shape"
+ ],
+ "execution_count": 17,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(60000, 28, 28)"
+ ]
+ },
+ "metadata": {
+ "tags": []
+ },
+ "execution_count": 17
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "owOL3pkCPoK4",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 69
+ },
+ "outputId": "b1d66ba1-81a5-4b14-a3b3-dacc8ecb1947"
+ },
+ "source": [
+ "#Reshaping the array to 4-dims so that it can work with the Keras API\n",
+ "x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)\n",
+ "x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)\n",
+ "input_shape = (28, 28, 1)\n",
+ "# Making sure that the values are float so that we can get decimal points after division\n",
+ "x_train = x_train.astype('float32')\n",
+ "x_test = x_test.astype('float32')\n",
+ "# Normalizing the RGB codes by dividing it to the max RGB value.\n",
+ "x_train /= 255\n",
+ "x_test /= 255\n",
+ "print('x_train shape:', x_train.shape)\n",
+ "print('Number of images in x_train', x_train.shape[0])\n",
+ "print('Number of images in x_test', x_test.shape[0])"
+ ],
+ "execution_count": 18,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "x_train shape: (60000, 28, 28, 1)\n",
+ "Number of images in x_train 60000\n",
+ "Number of images in x_test 10000\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "_VJjHQ0jQQLJ",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "#convert 0-9 labels into \"one-hot\" format \n",
+ "train_labels = keras.utils.to_categorical(x_train, 10)\n",
+ "test_labels = keras.utils.to_categorical(y_train, 10)"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "cUUz_ALHQblA",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 298
+ },
+ "outputId": "b95fc0de-051a-454d-e7ad-02ad85eb1b4a"
+ },
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "def display_sample(num):\n",
+ " print(y_train[num])\n",
+ " label = y_train[num].argmax(axis=0)\n",
+ " image = x_train[num].reshape([28,28])\n",
+ " plt.title('sample: %d label: %d' %(num,label))\n",
+ " plt.imshow(image, cmap=plt.get_cmap('gray'))\n",
+ " plt.show()\n",
+ "display_sample(1270)"
+ ],
+ "execution_count": 20,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "2\n"
+ ],
+ "name": "stdout"
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n3SwR/w/BLO21cZDfKAAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "RN66oIEzQbqQ",
+ "colab_type": "code",
+ "colab": {}
+ },
+ "source": [
+ "model = Sequential()\n",
+ "model.add(Conv2D(32, kernel_size=(3,3), activation = 'relu', input_shape=input_shape))\n",
+ "model.add(Conv2D(64, kernel_size=(3,3), activation = 'relu'))\n",
+ "model.add(MaxPool2D(pool_size=(2, 2)))\n",
+ "model.add(Dropout(0.2))\n",
+ "model.add(Flatten()) # Flattening the 2D arrays for fully connected layers\n",
+ "model.add(Dense(128, activation='relu'))\n",
+ "model.add(Dropout(0.5))\n",
+ "model.add(Dense(10,activation='softmax'))"
+ ],
+ "execution_count": 0,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "u_fHpsDiRu9T",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 434
+ },
+ "outputId": "3794bd67-b724-48fd-835a-297b812c9af8"
+ },
+ "source": [
+ "model.summary()"
+ ],
+ "execution_count": 22,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Model: \"sequential_4\"\n",
+ "_________________________________________________________________\n",
+ "Layer (type) Output Shape Param # \n",
+ "=================================================================\n",
+ "conv2d_7 (Conv2D) (None, 26, 26, 32) 320 \n",
+ "_________________________________________________________________\n",
+ "conv2d_8 (Conv2D) (None, 24, 24, 64) 18496 \n",
+ "_________________________________________________________________\n",
+ "max_pooling2d_4 (MaxPooling2 (None, 12, 12, 64) 0 \n",
+ "_________________________________________________________________\n",
+ "dropout_7 (Dropout) (None, 12, 12, 64) 0 \n",
+ "_________________________________________________________________\n",
+ "flatten_4 (Flatten) (None, 9216) 0 \n",
+ "_________________________________________________________________\n",
+ "dense_7 (Dense) (None, 128) 1179776 \n",
+ "_________________________________________________________________\n",
+ "dropout_8 (Dropout) (None, 128) 0 \n",
+ "_________________________________________________________________\n",
+ "dense_8 (Dense) (None, 10) 1290 \n",
+ "=================================================================\n",
+ "Total params: 1,199,882\n",
+ "Trainable params: 1,199,882\n",
+ "Non-trainable params: 0\n",
+ "_________________________________________________________________\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "lfzeAbT1RElh",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 382
+ },
+ "outputId": "1eba83b0-f198-4b17-9a98-2f0c2da5d7f7"
+ },
+ "source": [
+ "model.compile(optimizer='adam', \n",
+ " loss='sparse_categorical_crossentropy', \n",
+ " metrics=['accuracy'])\n",
+ "history = model.fit(x=x_train,y=y_train, batch_size =32, epochs=10,verbose = 2, validation_data=(x_test, y_test))"
+ ],
+ "execution_count": 25,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Train on 60000 samples, validate on 10000 samples\n",
+ "Epoch 1/10\n",
+ " - 12s - loss: 0.1047 - acc: 0.9688 - val_loss: 0.0405 - val_acc: 0.9873\n",
+ "Epoch 2/10\n",
+ " - 12s - loss: 0.0652 - acc: 0.9800 - val_loss: 0.0334 - val_acc: 0.9894\n",
+ "Epoch 3/10\n",
+ " - 12s - loss: 0.0513 - acc: 0.9844 - val_loss: 0.0374 - val_acc: 0.9884\n",
+ "Epoch 4/10\n",
+ " - 12s - loss: 0.0435 - acc: 0.9865 - val_loss: 0.0409 - val_acc: 0.9875\n",
+ "Epoch 5/10\n",
+ " - 12s - loss: 0.0375 - acc: 0.9887 - val_loss: 0.0330 - val_acc: 0.9900\n",
+ "Epoch 6/10\n",
+ " - 12s - loss: 0.0328 - acc: 0.9898 - val_loss: 0.0323 - val_acc: 0.9911\n",
+ "Epoch 7/10\n",
+ " - 12s - loss: 0.0281 - acc: 0.9916 - val_loss: 0.0281 - val_acc: 0.9920\n",
+ "Epoch 8/10\n",
+ " - 12s - loss: 0.0249 - acc: 0.9918 - val_loss: 0.0322 - val_acc: 0.9914\n",
+ "Epoch 9/10\n",
+ " - 12s - loss: 0.0249 - acc: 0.9923 - val_loss: 0.0384 - val_acc: 0.9907\n",
+ "Epoch 10/10\n",
+ " - 12s - loss: 0.0220 - acc: 0.9923 - val_loss: 0.0313 - val_acc: 0.9918\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "lfIkrsbIUfiE",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 86
+ },
+ "outputId": "725df237-8175-4bd3-ae3f-c862bf9b856c"
+ },
+ "source": [
+ "score = model.evaluate(x_test, y_test, verbose=0)\n",
+ "print(\"Loss: %.2f\"%(score[0]*100))\n",
+ "print(\"Accuracy: %.2f\"%(score[1]*100))\n",
+ "print(\"Training loss: %.2f\"%(history.history['loss'][9]*100))\n",
+ "print(\"Validation loss: %.2f\"%(history.history['val_loss'][9]*100))"
+ ],
+ "execution_count": 26,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "text": [
+ "Loss: 3.13\n",
+ "Accuracy: 99.18\n",
+ "Training loss: 2.20\n",
+ "Validation loss: 3.13\n"
+ ],
+ "name": "stdout"
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "metadata": {
+ "id": "Nr1zHdyCUglM",
+ "colab_type": "code",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 545
+ },
+ "outputId": "17e1e8b8-a7a7-4a1f-f4cd-4af1ec1b9b78"
+ },
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "\n",
+ "loss = history.history['loss']\n",
+ "val_loss = history.history['val_loss']\n",
+ "epochs = range(1,len(loss)+1)\n",
+ "plt.title(\"Training and Validation loss\")\n",
+ "plt.plot(epochs,loss,'y',label='Training Loss')\n",
+ "plt.plot(epochs,val_loss,'r',label='Validation Loss')\n",
+ "plt.legend()\n",
+ "plt.show()\n",
+ "\n",
+ "acc = history.history['acc']\n",
+ "val_acc = history.history['val_acc']\n",
+ "epochs = range(1,len(loss)+1)\n",
+ "plt.title(\"Training and Validation Accuracy\")\n",
+ "plt.plot(epochs,acc,'y',label='Training Accuracy')\n",
+ "plt.plot(epochs,val_acc,'r',label='Validation Accuracy')\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ],
+ "execution_count": 27,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n3DoADL8AAAAASUVORK5CYII=\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEICAYAAABWJCMKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXxU1fn48c+TnZBAEkICJEAioOwE\npCi4sIlStSiIigtuta271GrVutWtautXrejPpSouIIhal1ZxYROsKyg7skdIAtkTsiczc35/3Jtk\nEpMwIZNMknner9e8mLnrM3fCee4959xzxRiDUkop/xPg6wCUUkr5hiYApZTyU5oAlFLKT2kCUEop\nP6UJQCml/JQmAKWU8lOaABQAIhIoIsUi0s+by/qSiAwUkVbp51x/2yLymYhc0hpxiMg9IvL80a6v\nVGM0AXRQdgFc/XKJSJnb5wYLoqYYY5zGmAhjzH5vLtteichyEbm3genniUi6iAQ2Z3vGmNONMYu8\nENdpIpJab9sPGmOuaem2j7BPIyJ/aq19qPZJE0AHZRfAEcaYCGA/8Bu3ab8oiEQkqO2jbNdeA+Y2\nMH0usNAY42zjeHzpciAPuKytd6x/l76lCaCTEpGHROQtEVksIkXApSIyXkS+EZECETkoIk+LSLC9\nfJB9Fphkf15oz18mIkUi8rWIJDd3WXv+r0Vkp4gUish8EfmfiFzRSNyexPgHEdktIvki8rTbuoEi\n8qSI5IrIXmB6E4fo30AvEZngtn4P4EzgdfvzDBHZICKHRWS/iNzTxPH+svo7HSkOEblaRLbbx2qP\niFxtT+8O/Afo53Y1F2f/lq+6rT9TRLbax2iliBznNi9NRG4Rkc328V4sIqFNxB0JzAKuA4aKSEq9\n+afav0ehiBwQkbn29HD7O+63560RkdCGrmDsmCbZ75v1d2mvM8K+YssTkUMi8mcRSRCRUhGJcltu\nnD1fk4qnjDH66uAvIBU4rd60h4BK4DdYib4L8CvgBCAIOAbYCdxgLx8EGCDJ/rwQyAHGAsHAW1hn\nxs1dNg4oAs6x590CVAFXNPJdPInxA6A7kIR15nqaPf8GYCuQCPQA1lh/4o0etwXA826frwfWuX2e\nAgyzj98o+zuebc8b6L5t4Mvq73SkOOzf5BhA7H2UASPteacBqQ38lq/a74cAxfZ6wcBfgB1AsD0/\nDfgG6GXveydwdRPH4Ep7nQBgGfCk27xke18X2Mc+Fkix570ArAB6A4HAyXY8DcWfBkw6yr/L7kAm\ncDMQCnQDxtnzPgN+57af+e7x68uDssPXAejLCz9i4wlg5RHWuxV4237fUKHuXjjOALYcxbJXAWvd\n5glwkEYSgIcxnug2/9/Arfb7Ne6FHdbZvGli25OwEkio/flb4MYmln8G+If9vqkE0Nw4/gtcb78/\nUgK4H3jTbV4AcAg42f6cBsxxm/8E8EwT+14NPG6/n2sXtkH253uqj329dQKBCmBYA/M8SQDN+buc\nC3zfyHKXAF+4/W1kA2O8/f+rM7+0CqhzO+D+QUQGi8hH9mXyYeABrLO6xhxye18KRBzFsn3c4zDW\n/9a0xjbiYYwe7Qv4uYl4Ab4ADgO/EZFjgdHAYrdYxovIahHJFpFC4OoGYmlIk3GIyNki8q1dpVEA\nnO7hdqu3XbM9Y4wL63gmuC3j0e9mV+GdClS3Gb1nL1tdZdUX2NPAqvFASCPzPNGcv8vGYqiOd5RY\nvdGmA1nGmB+OMia/pAmgc6vf9fAFYAsw0BjTDbgX64y8NR3EqgoBQESEuoVVfS2J8SBWgVGtyW6q\ndjJ6Havxcy7wsTEmx22RJcC7QF9jTHfgJQ9jaTQOEekCvAM8AsQbY6KwqjKqt3uk7qIZQH+37QVg\nHd90D+Kq7zJ7v8tE5BCwG6tgv9yefwAY0MB6mVjVOA3NKwHC3eILwqqKctecv8vGYsAYU4r1+1yC\n9fu90dByqnGaAPxLJFAIlIjIEOAPbbDP/wJjROQ3dmFwM9CzlWJcCsyzGwh7ALd7sM7rWGePV2H1\nDKofS54xplxETgTmeCGOUKxCNhtwisjZwFS3+ZlArN0429i2Z4jIJLuh9DasNpZvPYzN3WVYhW2K\n2+tCrCuiaKyqvelidY0NEpFYERllrB5SrwJPiUgvu9H7JDuen4BIETnD/nwfVttAU5r6zT/EahS/\nwW5k7iYi49zmv471251lx6uaQROAf/kT1tldEdZZ11utvUNjTCZWofIEkIt1NvcjVh2yt2N8Dqth\ncjPwPdaZ9pHi2w18h1Uwf1Rv9rXAI3Zvlb9gFb4tisMYUwD8Eav6Ig+YjZUkq+dvwTqrTbV7xcTV\ni3cr1vF5DiuJTAdmGGOqPIwNABE5Gas66VljzKHqlx1XKnChMWYfVmPt7XasPwAj7E38EdgOrLfn\n/Q0QY0w+cCNWMk2357lXSTWk0d/cGFMITAPOw0qOO4GJbuuuwar//9YY02jVomqY2A0oSrUJsW6w\nygBmG2PW+joe1fGJyBrgFWPMq76OpaPRKwDV6kRkuohE2f3R78HqBvqdj8NSnYBdNTcceNvXsXRE\nmgBUWzgZ2ItVZXEGMNMY01gVkFIeEZFFwCfAzcaYEl/H0xFpFZBSSvkpvQJQSik/1aHGzIiNjTVJ\nSUm+DkMppTqU9evX5xhjftH9ukMlgKSkJNatW+frMJRSqkMRkQbvitcqIKWU8lOaAJRSyk9pAlBK\nKT+lCUAppfyUJgCllPJTmgCUUspPaQJQSik/1aHuA1BKqbZijMHhyMflKscYJ9ZjEJwY46j5XDut\n7vSmp9VOP/I0azo4SUi4mZAQTx8c5xlNAEopv+VwFFJWto/y8tqX9TmV8vJ9uFylvg7RJsTFXawJ\nQCmlPOV0ltUU5rWFe20B73Dk11k+MDCSsLBkunQZSEzMNEJD+xEYGA4EIlL9CsJ6rMWRplnTPZlm\nfQ5qYlrrPLlVE4BSCoqK4Lvv4JtvwOGAY4+tfUU29nRK33O5qqioONBg4V5evo/KyroPIxMJJSws\niS5dkunW7QTCwpLtlzUtKCim1Qrb9kgTgFL+xhjYvRu+/hq++sr6d8sWcLms+SLWMtV6966bEI49\nFo47DpKTISSklUN1UVl5sF41TWpNgV9RcQBwua0RSFhYP8LCkoiJOdM+m0+uKehDQuIR6YB9X1wu\nCPB+3JoAlOrsSkrg++9rC/tvvoGcHGtet25w4okwcyaMHw8nnAChobBnD+zcWff1/vuQnV273cBA\nKwnUTwzHHgt9+kBAAMYYXK5ynM7DOBxF9r+H3f6tP636cyEVFWmUl/9M/WcHhYT0ISwsmaioUwgL\nS3I7i08mNDSRgIBOUqylpsLnn8Nnn8HKlbBtG8THe3UXneRIKaUA68x93766Z/ebNoHTac0fPBh+\n8xursJ8wAYYMafDM0jV0MM7jEnA6j69TOLtyMmDXbgJ2pxK4J53AvYcI3vctIas+JaDMWbO+M0wo\nSwygNNFFaV9DWSKUJkJZX3A0WKMUSFBQNwIDu9n/RhIRMYrY2HNrCvkuXZIJDe1PYGBY6xw7Xysq\nglWrrAL/88+tpAuQkADnngvl5V7fpSYApTqysjJYt65ugZ+VZc2LiLDO6O+80yrwTzwRYmIa3IzL\nVUlW1lLS0+dTUrIZl6us8X1GACnWKyCgq1VgywC65HchPE3okmYI219J2M+lRO87TM+1hYiztprG\n1aM7ZmB/zKCBMHgIctwwAo4bjgwcCF26eO/YtHdOJ6xfbxX4n31m/XYOB4SHw6RJcN11cPrpVtLW\nRmCl/JwxsH9/3cJ+wwar0AAYNAimT7cK+/HjYfhwq5qmCVVVeWRkvEB6+jNUVmYQHj6YPn2uJSio\nu9vZeDeCgiLrfe5GYGCE3VvlCCorrasSuyopoLpKacXXsPDftcuJQL9+tVVJQ4bAiBHW94iObsGB\na0f2768t8Jcvh3y7F9KYMXDrrVaBP2GCVQ3XBjrUM4HHjh1r9IEwym+Ul8MPP9QW9l9/DQcPWvPC\nw2HcuNrC/sQToecvHvjUqNLSnaSlPcWhQ6/hcpUSHX0aiYm3EBNzRts2khYVwa5dddsaduywXkVF\ntcslJFiJYMSI2qQwZEj7v2IoLobVq2sL/R07rOl9+liF/emnw2mnNeu3Oxoist4YM7b+dL0CUKq9\nSEurW9j/8ANUVVnzkpNhypTaAn/kSAhq3n9fYwwFBatIS3uS3Nz/IhJCfPylJCbOIyJiRCt8IQ9E\nRlpnv2PG1A/WOh5btsDmzbX/rl4NFXajcEAADBxYmxCq/x048IhXPq3G6YQff6wt8L/6yvoNu3Sx\nqnWuucYq9IcMabVqnebQKwClfKWgoLbR77PPYO9ea3pYGIwda1UFVJ/d9+p11LtxuSrIylrCgQNP\nUlKykeDgnvTpcx0JCdcSEuLdXiWtzuGwurDWTwy7d9d2XQ0NhaFD6yaFESOsq4jWKHQPHKj9DVes\ngNxca/ro0bVn+RMmWL+rjzR2BaAJQKm24nBY3TGrC4tvv7XOGCMiYPJkmDrVKihGjfJK//rKyhwy\nMp4nI+NZKisPER4+jL59/0hc3CWdrydNaSls3/7LxJCRUbtMVNQvk8LRtC8UF8MXX9T+jj/9ZE3v\n3btutU5cnPe+XwtpAlDKF/burS0oVq6EwkLrLPRXv6otLE48EYKDvbbLkpJtpKU9RWbmG7hc5cTE\nTCcx8Y9ER0/zq7tcAcjLs5JB/cRQWFi7jHv7QvW/7u0LLlfdap3//c+q1gkLg4kTa3/HYcPaRbVO\nQzQBKNUWCgvrVuvs2WNN79evtqCYMgV69PDqbo0x5OcvJy3tCfLyPiEgIIz4+LkkJs6ja9ehXt1X\nh2cMpKdbicA9KWzf/sv2haQkq6tmdbVOSgpMm2b9jief7NNqnebQBKBUa3A4rH741QX+N99Y1Tpd\nu1oFfXVhceyxrXJ26HSWk5W1iLS0pygp2UJwcDwJCdfTp881hIS0bs+STqeh9oU9e6wquepqHS/f\nidtWNAEo5S379tXeor9ihdWYK2I13LpX67TiODmVlZmkpz9HRsb/o6oqm65dR9K37y3Exc0hIKBt\n+pCrjkO7gSp1tA4frluts3u3Nb1vXzjvPKvAnzrV69U6DSku3kJa2pNkZi7EmEpiYs6ib99biIqa\n7H/1+6rFPEoAIjId+CcQCLxkjHm03vz+wCtATyAPuNQYk2bPeww4y170QWPMW/b0ZGAJ0ANYD8w1\nxlS2+Bsp1VJOZ91qna+/rq3WmTQJbrzRKvSPO65NGv2McZGX9ylpaU+Sn/85AQFd6N37tyQm3kx4\n+HGtvn/VeR0xAYh1r/ezwDQgDfheRD40xmxzW+xx4HVjzGsiMgV4BJgrImcBY7BGDgkFVovIMmPM\nYeAx4EljzBIReR74LfCcN7+cUh5zH3lx+fLaap3jj4fbb7cK/PHjW334Y3dOZxmZmW+QlvYUpaXb\nCQnpTXLy3+jT5/cEB7f+1Ybq/Dy5AhgH7DbG7AUQkSXAOYB7AhgK3GK/XwW87zZ9jbEeaukQkU3A\ndBF5G5gCXGwv9xrwVzQBqLbkcsHLL8Pjj9eOvJiYCLNm1VbrxHr3EXyeqKg4REbGs2RkPE9VVQ4R\nEWMYPPgN4uIuICCg7RKQ6vw8SQAJwAG3z2nACfWW2QjMwqommglEikgPe/p9IvJ/QDgwGStx9AAK\n7MRQvc2EhnYuIr8Hfg/Qr18/D8JVygNbtli35f/vf9aZ/VNPtfrIi0dSXLyRAweeJCvrTYxx0KPH\nDPr2/SPdu5+q9fuqVXirEfhW4BkRuQJYA6QDTmPMZyLyK+ArIBv4GnA2upUGGGNeBF4EqxeQl+JV\n/qq0FB54AP7v/6w7Q197DebO9Umh73SWUli4lvz85eTnL6e4eAMBAV3p0+cPJCTcTHj4wDaPSfkX\nTxJAOtDX7XOiPa2GMSYD6woAEYkAzjPGFNjzHgYetue9CewEcoEoEQmyrwJ+sU2lvO7jj+H66636\n/quugr//vU167lRzuRwUFa0jP385BQUrKCz8CmMqEQmhe/eTGDDgcXr1uorg4E4y9LFq9zxJAN8D\ng+xeO+nAHGrr7gEQkVggzxjjAu7E6hFU3YAcZYzJFZGRwEjgM2OMEZFVwGysnkCXAx946TspVVd6\nOsybB++8Yw0StmYNnHJKq+/WGENp6Y6aM/yCglU4nYcBiIgYTWLizURHn0b37icTGBje6vEoVd8R\nE4AxxiEiNwCfYnUDfcUYs1VEHgDWGWM+BCYBj4iIwaoCut5ePRhYa9dfHsbqHlpd7387sEREHgJ+\nBF723tdqh/bssRobXS6rK+HEidaY4Kr1OJ3w7LNw993W2C1/+xv86U+t2pOnoiKD/PwVdqG/gspK\n68I2LOwY4uLmEB19GlFRkwkJafvGZaXq0zuBW1t6Ojz4oNXbJCjIGvSr+kEXgwbVJoNJk6xBqZR3\nrF8Pf/iD9e/06VYiOOYYr+/G4ThMQcEXNWf5paVW57jg4FiioqYQHX0a0dFT6dLF+/tWylN6J3Bb\ny86GRx+1Ch6XyyqM7rrLevLPhg3WcLKrV8Nbb8G//mWtM3BgbTKYONG601Q1z+HDcM898Mwz1nC8\nb70F55/vtUZel6uSw4e/qSnwDx/+DnASENCF7t1PpVevK4mOPo2IiJFt+2QtpY6CXgF4W2Gh1cPk\nySetHieXXQb33WeNKtgQpxM2brSSwRdfWPXTBQXWvGOOqXuFoN1gG2cM/PvfcNNN1mMTr7sOHn4Y\nundv4WZdlJRsrqnSKSj4AperFAigW7dx9hn+aXTrdqKOwaPaLR0MrrWVlsL8+fDYY9aDns8/H+6/\n3xpXvDmcTti0qfYKYc2a2gdHJyVZiaA6KTSWVPxNairccAN89JE1XO8LL1jPyz1KZWWpFBTU1uNX\nVWUDEB4+uKbA7959IsHBUV76Akq1Lk0AraWiwqrCefhhOHQIzjwTHnrIehycN7hc1tC01Qnhiy+s\nh1wA9O9fe3UwaZKVEPzphqGqKutK6/77re/94IPWOD3NfFZuVVUu+fmraqp1ysutMfxDQnrXFPjR\n0VMJDdU2GtUxaQLwNocD3njDKnx+/hlOPdXqZXLSSa27X5cLtm6tTQZffAE5Oda8vn3rVhkdc0zn\nTQhffWXdybt5M5x7Ljz9dLPbTMrK9rBv391kZb0FGAIDI4mKmkx09FSio08jPHyI3oGrOgVNAN7i\ncln9ye+9F3bssMaAf/hh68EfvigsXC7rSUarV9cmhWyryoLExLqNygMHdvyEkJ8Pd9wBL75oFfjP\nPAMzZjRrE5WV2fz884NkZDyPSBAJCTcQGzuTyMhfERCg/SJU56MJoKWMse4kvftuqxfP0KFWVc+5\n57avQtUYKyG4VxllZlrz+vSpTQgnnWS1TwR0kJ4qxsCbb8Itt1iP55s3D/76V+uB6h5yOks4cOAJ\nDhz4B05nKb17/5akpPsIDdX7MVTnpt1AW2L1aqsL51dfWdUqb7wBF10EgYG+juyXRKzkNHQoXHut\nVXDu2FGbDFatgsWLrWW7d7eeXDV+vPU64YQW95ppFTt3Wr16VqywGnc//dRq7PWQy+Xg0KGXSU39\nK5WVh4iNPZfk5Efo2nVwKwatVPunVwBN+f57q+D//HPrJq177rHGkAkObrsYvM0Y2LXLSmZff229\ntmyxpovAsGG1CWH8+DZ76EmDKiqsXlV/+xuEhsIjj1j3U3iYeI0x5OS8z969d1JWtoNu3SYwYMDf\n6d69ldtplGpntAqoObZssQr799+3Bgv7y1+ss+kuXVp/375QWAjffVebEL75pvZehJiYulcJ48ZB\nZGTrx7RqldXIu3MnzJkDTzwBvXt7vHph4f/Ys+fPHD78FeHhg0lOfoTY2HO0UVf5Ja0C8sTu3Va9\n8ptvWoXcAw9Ydc1tUeD5UvfuViP2tGnWZ5cLfvqpNiF8/bXV/gFWm8GIEbUJYcIEGDDAe1cJ2dnW\neD1vvGFVt33yCZxxhserl5RsZ+/eO8jN/ZCQkN4ce+yL9Op1pTbuKtUAvQIASEuz+pC/8opVvXPT\nTXDbbW06VHC7l58P335bmxC+/dYadgGsp2a5J4SxY63n5zaHy2Ud/z//GYqLrX/vusvjq66KigxS\nU+/j4MFXCAzsSr9+t5OYOI/AwGbGoVQnpFcADcnOtuqV/9//swqga66xqnuaUdXgN6KjrUHVpk+3\nPjudsG1b3auE//zHmhcYCKNG1U0KTd2ktnWrdey//NIapvn5561GbA84HIXs3/930tKexBgHCQk3\n0r//XYSE9Gz5d1aqk/PPK4CCgtrxesrK4PLLrX79OrRCy+TmWu0H7lcJJSXWvPj4ugnh+OOthucH\nH7SGye7WDf7xD7jiCo+6prpcFaSnP8fPPz+Ew5FLXNxFJCc/pKNuKtUAbQQGqzCaP996ElR+Plxw\ngXUn72DtDtgqHA6rQd39KmH3bmteUJDV9pCbaxX6//iHRw9gN8ZFVtYS9u27m/LyfURFTWXAgMeI\njDy+db+LUh2Yf1cBVVRYd44+/LB1U5S3x+tRDQsKsvrrp6RYvagAsrJqrxL27LH690+a5NHm8vKW\ns3fv7RQX/0DXrqMYOfJToqOnac8epY6SfySA6dOtG6EmToR332398XpU4+LirKEbmjF8Q1HRBvbu\nvZ38/M8IDe3P4MFvEB9/sY63r1QL+UcC+POfrcbd005rX8M2qCaVlaXag7UtIigohgED/o8+fa4j\nMDDM16Ep1Sn4RwL49a99HYFqhqqqXH7++WHS059FJIC+fW+nX787dPx9pbzMPxKA6hCczjLS0v7J\n/v2P4nQW0avXFSQl3U9YWKKvQ1OqU9IEoHzOGCeHDr3Kvn33UVmZTo8eZ5Oc/AgREcN9HZpSnZom\nAOUzxhhyc//L3r13UFq6jcjIExg69E2iok71dWhK+QVNAMonCgv/x969f6GwcA1dugxi2LB3iI2d\npV06lWpDmgBUmyoqWs++fXeTl/cJwcHxDBr0/+jd+2oCAjrwENtKdVCaAFSbKC7eQmrqveTkvEdQ\nUAzHHPMYCQnX62BtSvmQJgDVqkpLd5Ga+leyshYTGBhBUtJfSUycR1BQO3zymFJ+RhOAahXl5ftJ\nTX2AQ4deJSAghL59/0y/frcRHKxDbCvVXmgCUF5VUXGQ/fv/RkbGiwAkJFxPv353Ehray8eRKaXq\n0wSgvKKqKpf9+x8jPf0ZXK5Keve+iv797yEsrK+vQ1NKNUITgGoRh6OQAweeIC3tSZzOYuLjL6F/\n//sIDx/o69CUUkegCUAdFaezhLS0+Rw48HccjnxiY88jOfkBunb17EleSinf0wSgmsXpLOfgwRf4\n+ee/UVWVRUzMmSQnP0hk5Bhfh6aUaiZNAMojLlcVhw4t4OefH6SiIo2oqMkkJ79H9+4TfB2aUuoo\nefREDRGZLiI7RGS3iNzRwPz+IrJCRDaJyGoRSXSb93cR2Soi20XkabHv9beX2yEiG+xXnPe+lvIW\na6C2N/juu8Hs3PkHQkMTGTVqBSkpK7XwV6qDO+IVgIgEAs8C04A04HsR+dAYs81tsceB140xr4nI\nFOARYK6ITABOAkbay30JTARW258vMcZ44SnvytuMcZGd/W9SU++ltHQ7EREpjBjxX2JiztTxepTq\nJDypAhoH7DbG7AUQkSXAOYB7AhgK3GK/XwW8b783QBgQAggQDGS2PGzVWowx5OV9zL59d1NcvIHw\n8CEMHfo2PXvO0kcwKtXJePI/OgE44PY5zZ7mbiMwy34/E4gUkR7GmK+xEsJB+/WpMWa723oL7Oqf\ne6SR00oR+b2IrBORddnZ2R6Eq45Wfv5KfvzxJDZvPhuH4zCDB7/Or361mbi42Vr4K9UJeet/9a3A\nRBH5EauKJx1wishAYAiQiJU0pojIKfY6lxhjRgCn2K+5DW3YGPOiMWasMWZsz549vRSucldY+BUb\nNkxh48apVFQc4NhjX2DcuJ/o1WsuVg2gUqoz8qQKKB1wv50z0Z5WwxiTgX0FICIRwHnGmAIR+R3w\njTGm2J63DBgPrDXGpNvrFonIm1hVTa+38PuoZigq+oF9++4hL+9jgoPjGDjwKXr3/oM+dF0pP+HJ\nFcD3wCARSRaREGAO8KH7AiISK7V1BHcCr9jv92NdGQSJSDDW1cF2+3OsvW4wcDawpeVfR3mipGQb\nW7bMZv364zl8+GuSkx/hxBP3kph4sxb+SvmRI14BGGMcInID8CkQCLxijNkqIg8A64wxHwKTgEdE\nxABrgOvt1d8BpgCbsRqEPzHG/EdEugKf2oV/ILAc+Jd3v5pqSF7eZ2zefDYBAaH0738viYl/JDg4\nytdhKaV8QIwxvo7BY2PHjjXr1mmv0aN1+PC3bNgwlS5dBjBq1OeEhOitF0r5AxFZb4wZW3+6du3w\nEyUl29m06SxCQuIZOfITLfyVUpoA/EF5+QE2bToDkSBGjfqM0NDevg5JKdUO6FhAnVxVVS6bNp2B\nw1FISspqunQZ4OuQlFLthCaATszhKGbTprMoK9vLyJGfEBk52tchKaXaEU0AnZTLVcnWrbMpKvqe\nYcPeJTp6kq9DUkq1M5oAOiFjXPz00xXk53/Kcce9RM+e5/o6JKVUO6SNwJ2MMYbdu+eRlbWY5ORH\n6N37t74OSSnVTmkC6GR+/vlh0tPnk5j4R/r1u93X4Sil2jFNAJ1IRsYLpKbeQ3z8XAYMeFzH7VdK\nNUkTQCeRlfUOO3deS0zMmRx33Ms6fLNS6oi0lOgE8vNXsn37JXTrNp5hw94mICDY1yEppToATQAd\nXFHRerZsOYcuXQYxYsR/CAwM93VISqkOQhNAB1ZaupNNm35NUFAPRo36lODgGF+HpJTqQDQBdFAV\nFRls3Hg6YOzxfeo/pVMppZqmN4J1QFVV+fb4PrmkpKwmPPxYX4eklOqANAF0ME5nKZs3/4bS0p2M\nHLmMyMjjfR2SUqqD0gTQgbhcVWzdegGHD3/F0KFLiY6e4uuQlFIdmCaADsIYFzt2/Ja8vI8YNOg5\n4uJm+zokpVQHp43AHYAxhj17biMz8w2Skh4gIeEaX4eklOoENAF0AAcO/IO0tCdISLiR/v3v9nU4\nSqlOQhNAO3fw4Cvs3Xs7ceNSlP0AAByISURBVHEXMXDgUzq+j1LKazQBtGPZ2e+zY8fviI4+g8GD\nX9XxfZRSXqUlSjtVULCGbdvmEBn5K4YPf5eAgBBfh6SU6mQ0AbRDxcUb2bz5N3TpcgwjR35EYGBX\nX4eklOqENAG0M2Vle9m48QyCgroxcuSnBAf38HVISqlOSu8DaEcqKg6xceM0jHEwcuQqwsL6+jok\npVQnpgmgnXA4Ctm0aTqVlZmkpKyka9chvg5JKdXJaQJoB5zOcjZvnkFp6TZGjPgv3bqN83VISik/\noAnAx1wuB9u3X0Rh4VqGDFlETMzpvg5JKeUnNAH4kDGGnTuvISfnfQYOnE98/EW+Dkkp5Ue0F5AP\n7dv3Fw4depn+/e8lMfEGX4ejlPIzmgB85MCBJ9i//1H69LmGpKS/+jocpZQf0gTgA4cOvcGePX+i\nZ8/ZDBr0jI7vo5TyCY8SgIhMF5EdIrJbRO5oYH5/EVkhIptEZLWIJLrN+7uIbBWR7SLytNilnYgc\nLyKb7W3WTO/scnM/4qefriQqaipDhixEJNDXISml/NQRE4BYJdSzwK+BocBFIjK03mKPA68bY0YC\nDwCP2OtOAE4CRgLDgV8BE+11ngN+BwyyX9Nb+mXau8LC/7F16/lERKQwfPh7BASE+jokpZQf8+QK\nYByw2xiz1xhTCSwBzqm3zFBgpf1+ldt8A4QBIUAoEAxkikhvoJsx5htjjAFeB85t0Tdp51wuB1u3\nXkhoaCIjRy4jKCjS1yEppfycJwkgATjg9jnNnuZuIzDLfj8TiBSRHsaYr7ESwkH79akxZru9ftoR\ntgmAiPxeRNaJyLrs7GwPwm2fCgpWUlmZzjHHPEZISE9fh6OUUl5rBL4VmCgiP2JV8aQDThEZCAwB\nErEK+CkickpzNmyMedEYM9YYM7Znz45bcGZmLiQoKIoePc70dShKKQV4lgDSAfdRyRLtaTWMMRnG\nmFnGmNHAXfa0AqyrgW+MMcXGmGJgGTDeXj+xqW12Jk5nCTk579Gz5/la76+Uajc8SQDfA4NEJFlE\nQoA5wIfuC4hIrNQ+rupO4BX7/X6sK4MgEQnGujrYbow5CBwWkRPt3j+XAR944fu0Szk5H+J0FhMf\nf6mvQ1FKqRpHTADGGAdwA/ApsB1YaozZKiIPiMgMe7FJwA4R2QnEAw/b098B9gCbsdoJNhpj/mPP\nuw54CdhtL7PMK9+oHcrMXEhoaD+6dz/Z16EopVQNsTrhdAxjx44169at83UYzVJZmcVXX/WhX7/b\nOOaYR3wdjlLKD4nIemPM2PrT9U7gVpaVtRRwavWPUqrd0QTQyjIzFxIRkULXrsN8HYpSStWhCaAV\nlZbuoqjoWz37V0q1S5oAWlFm5iJAiIub4+tQlFLqFzQBtBJjDFlZi4iKmkJoaIM3OSullE9pAmgl\nRUXfUVa2W6t/lFLtliaAVpKZuZCAgDB69px15IWVUsoHNAG0AperiqysJfToMYOgoG6+DkcppRqk\nCaAV5Od/TlVVjlb/KKXaNU0ArcAa+bMHMTFn+DoUpZRqlCYAL3M4isjJeZ+4uAsJCAjxdThKKdUo\nTQBelpPzHi5XGfHxl/g6FKWUapImAC/LzFxEWFgy3bqN93UoSinVJE0AXlRRcZD8/OXEx1+K9ZgD\npZRqvzQBeFFW1hLApdU/SqkOQROAF2VmLiQycizh4cf5OhSllDoiTQBeUlKyneLiH7Tvv1Kqw9AE\n4CXWyJ+BOvKnUqrD0ATgBca4yMpaREzMNEJC4n0djlJKeUQTgBcUFn5FeXkqcXHa+KuU6jg0AXhB\nVtYiAgLCiY0919ehKKWUxzQBtJDLVUlW1lvExs4kKCjC1+EopZTHNAG0UF7eMhyOfO39o5TqcDQB\ntFBm5kKCg+OIjj7N16EopVSzaAJoAYejkJyc/xAXN4eAgCBfh6OUUs2iCaAFsrPfxZgKrf5RSnVI\nmgBaIDNzIV26HEtk5Fhfh6KUUs2mCeAolZenUVCwmvj4S3TkT6VUh6QJ4ChlZS0GjI78qZTqsDQB\nHKXMzIV06zaeLl0G+DoUpZQ6KpoAjkJx8SZKSjZp469SqkPTBHAUMjMXIRJEz54X+DoUpZQ6apoA\nmska+fNNYmKmExIS6+twlFLqqHmUAERkuojsEJHdInJHA/P7i8gKEdkkIqtFJNGePllENri9ykXk\nXHveqyKyz21eine/WusoKFhDRUWaVv8opTq8I96+KiKBwLPANCAN+F5EPjTGbHNb7HHgdWPMayIy\nBXgEmGuMWQWk2NuJAXYDn7mtd5sx5h3vfJW2kZm5kMDASHr0+I2vQ1FKqRbx5ApgHLDbGLPXGFMJ\nLAHOqbfMUGCl/X5VA/MBZgPLjDGlRxusrzmd5WRnv01s7CwCA8N9HY5SSrWIJwkgATjg9jnNnuZu\nIzDLfj8TiBSRHvWWmQMsrjftYbva6EkRCW1o5yLyexFZJyLrsrOzPQi39eTlfYTTeVirf5RSnYK3\nGoFvBSaKyI/ARCAdcFbPFJHewAjgU7d17gQGA78CYoDbG9qwMeZFY8xYY8zYnj17einco5OZuZCQ\nkN5ER0/2aRxKKeUNniSAdKCv2+dEe1oNY0yGMWaWMWY0cJc9rcBtkQuA94wxVW7rHDSWCmABVlVT\nu1VVlUdu7kfExV2M1SyilFIdmycJ4HtgkIgki0gIVlXOh+4LiEisiFRv607glXrbuIh61T/2VQFi\nDaRzLrCl+eG3nezstzGmSod+UEp1GkdMAMYYB3ADVvXNdmCpMWariDwgIjPsxSYBO0RkJxAPPFy9\nvogkYV1BfFFv04tEZDOwGYgFHmrRN2llmZmLCA8fSkREh+itqpRSR+TRU0yMMR8DH9ebdq/b+3eA\nBrtzGmNS+WWjMcaYKc0J1JfKylIpLFxLcvLfdORPpVSnoXcCeyAr600A4uMv9nEkSinlPZoAjsAY\nQ2bmQrp3P4WwsP6+DkcppbxGE8ARFBdvoLR0u/b9V0p1OpoAjiAzcyEiIfTseb6vQ1FKKa/SBNAE\nY5xkZb1Jjx5nERwc7etwlFLKqzQBNCE/fyWVlYe0779SqlPSBNCEzMxFBAZ2JybmLF+HopRSXqcJ\noBFOZyk5Oe8SF3c+gYFhvg5HKaW8ThNAI3JyPsTpLNbeP0qpTksTQCMyMxcSGtqX7t1P8XUoSinV\nKjQBNKCyMpv8/E/tkT/1ECmlOict3RqQnb0UYxxa/aOU6tQ0ATQgM3MhXbuOJCJiuK9DUUqpVqMJ\noJ7S0t0cPvyNnv0rpTo9TQD1WCN/CnFxF/k6FKWUalWaANxUj/wZFTWZsLBEX4ejlFKtShOAm6Ki\n7ykr26VDPyil/IImADfWyJ+h9Ox5nq9DUUqpVufRIyH9gctVRVbWEmJjZxAU1N3X4SjVqKqqKtLS\n0igvL/d1KKqdCQsLIzExkeDgYI+W1wRgy89fTlVVtvb+Ue1eWloakZGRJCUl6TOqVQ1jDLm5uaSl\npZGcnOzROloFZMvMXEhQUAwxMdN9HYpSTSovL6dHjx5a+Ks6RIQePXo068pQEwDgcBSTk/M+cXEX\nEBAQ4utwlDoiLfxVQ5r7d6EJAMjJeR+Xq1Srf5RSfkUTAFb1T1hYEt26TfB1KEq1e7m5uaSkpJCS\nkkKvXr1ISEio+VxZWenRNq688kp27NjR5DLPPvssixYt8kbIAGRmZhIUFMRLL73ktW12dH7fCFxR\ncYj8/M/p1+9OvaxWygM9evRgw4YNAPz1r38lIiKCW2+9tc4yxhiMMQQENHyOuWDBgiPu5/rrr295\nsG6WLl3K+PHjWbx4MVdffbVXt+3O4XAQFNQxitaOEWUryspaArj05i/VIe3aNY/i4g1e3WZERAqD\nBj3V7PV2797NjBkzGD16ND/++COff/45999/Pz/88ANlZWVceOGF3HvvvQCcfPLJPPPMMwwfPpzY\n2FiuueYali1bRnh4OB988AFxcXHcfffdxMbGMm/ePE4++WROPvlkVq5cSWFhIQsWLGDChAmUlJRw\n2WWXsX37doYOHUpqaiovvfQSKSkpv4hv8eLFzJ8/n9mzZ3Pw4EF69+4NwEcffcQ999yD0+kkPj6e\nzz77jKKiIm644QZ+/PFHAB544AHOPvtsYmNjKSgoAGDJkiUsX76cl156iUsvvZTIyEjWr1/PpEmT\nmDVrFn/84x8pLy8nPDycV199lUGDBuFwOLjtttv4/PPPCQgI4JprrmHgwIG8+OKLvPPOOwAsW7aM\nV155hbfffvuofr/m0ASQtYiIiOPp2nWIr0NRqsP76aefeP311xk7diwAjz76KDExMTgcDiZPnszs\n2bMZOnRonXUKCwuZOHEijz76KLfccguvvPIKd9xxxy+2bYzhu+++48MPP+SBBx7gk08+Yf78+fTq\n1Yt3332XjRs3MmbMmAbjSk1NJS8vj+OPP57zzz+fpUuXcvPNN3Po0CGuvfZa1q5dS//+/cnLywOs\nK5uePXuyadMmjDE1hX5TDh48yDfffENAQACFhYWsXbuWoKAgPvnkE+6++27eeustnnvuOTIyMti4\ncSOBgYHk5eURFRXFDTfcQG5uLj169GDBggVcddVVzT30R8WvE0BJyU8UFa1jwIAnfR2KUkflaM7U\nW9OAAQNqCn+wzrpffvllHA4HGRkZbNu27RcJoEuXLvz6178G4Pjjj2ft2rUNbnvWrFk1y6SmpgLw\n5ZdfcvvttwMwatQohg0b1uC6S5Ys4cILLwRgzpw5XHfdddx88818/fXXTJ48mf79+wMQExMDwPLl\ny3n//fcBq2dNdHQ0Doejye9+/vnn11R5FRQUcNlll7Fnz546yyxfvpx58+YRGBhYZ3+XXHIJb775\nJpdccgnr169n8eLFTe7LW/w6AWRlLQICiIub4+tQlOoUunbtWvN+165d/POf/+S7774jKiqKSy+9\ntME+6iEhtV2vAwMDGy1oQ0NDj7hMYxYvXkxOTg6vvfYaABkZGezdu7dZ2wgICMAYU/O5/ndx/+53\n3XUXZ5xxBtdddx27d+9m+vSm7y+66qqrOO88awiaCy+8sCZBtDa/7QVkjfy5iOjo0wgN7eXrcJTq\ndA4fPkxkZCTdunXj4MGDfPrpp17fx0knncTSpUsB2Lx5M9u2bfvFMtu2bcPhcJCenk5qaiqpqanc\ndtttLFmyhAkTJrBq1Sp+/vlngJoqoGnTpvHss88CVlmRn59PQEAA0dHR7Nq1C5fLxXvvvddoXIWF\nhSQkJADw6quv1kyfNm0azz//PE6ns87++vbtS2xsLI8++ihXXHFFyw5KM/htAjh8+GvKy/dp33+l\nWsmYMWMYOnQogwcP5rLLLuOkk07y+j5uvPFG0tPTGTp0KPfffz9Dhw6le/e6Y3ktXryYmTNn1pl2\n3nnnsXjxYuLj43nuuec455xzGDVqFJdcYnUGue+++8jMzGT48OGkpKTUVEs99thjnHHGGUyYMIHE\nxMaHjL/99tu57bbbGDNmTJ2rhj/84Q/06tWLkSNHMmrUqJrkBXDxxReTnJzMscce2+Lj4ilxD669\nGzt2rFm3bp1XtrVz53UcOvQaEyZkEhQU4ZVtKtUWtm/fzpAh2mkBrC6XDoeDsLAwdu3axemnn86u\nXbs6TDdMd9dccw3jx4/n8ssvb9F2Gvr7EJH1xpix9ZfteEfJC1yuSrKy3iI29hwt/JXqwIqLi5k6\ndSoOhwNjDC+88EKHLPxTUlKIjo7m6aefbtP9enSkRGQ68E8gEHjJGPNovfn9gVeAnkAecKkxJk1E\nJgPuXWwGA3OMMe+LSDKwBOgBrAfmGmM8u42whfLyPsHhyNPqH6U6uKioKNavX+/rMFqs+sa6tnbE\nNgARCQSeBX4NDAUuEpGh9RZ7HHjdGDMSeAB4BMAYs8oYk2KMSQGmAKXAZ/Y6jwFPGmMGAvnAb73w\nfTySmbmI4OCeREdPa6tdKqVUu+NJI/A4YLcxZq99hr4EOKfeMkOBlfb7VQ3MB5gNLDPGlIo15sIU\n4B173mvAuc0N/mg4HIXk5n5IXNwcAgI8e2iCUkp1Rp4kgATggNvnNHuau43ALPv9TCBSRHrUW2YO\nUH13Qw+gwBhT3Zm3oW0CICK/F5F1IrIuOzvbg3Cblp39b1yuch36QSnl97zVDfRWYKKI/AhMBNIB\nZ/VMEekNjACa3RHYGPOiMWasMWZsz549WxxoZuZCunQZSGTkuBZvSymlOjJPEkA60Nftc6I9rYYx\nJsMYM8sYMxq4y57mPnjGBcB7xpgq+3MuECUi1Y3Qv9hma6ioSKegYBXx8ZfqyJ9KHaXJkyf/4qau\np556imuvvbbJ9SIirB53GRkZzJ49u8FlJk2axJG6ej/11FOUlpbWfD7zzDM9GqvHUykpKcyZ4x+j\nA3iSAL4HBolIsoiEYFXlfOi+gIjEikj1tu7E6hHk7iJqq38w1s0Hq7DaBQAuBz5ofvjNk5m5GDDE\nxWn1j1JH66KLLmLJkiV1pi1ZsoSLLrrIo/X79OlTM/Ll0aifAD7++GOioqKOenvutm/fjtPpZO3a\ntZSUlHhlmw1p7lAWreWICcCup78Bq/pmO7DUGLNVRB4QkRn2YpOAHSKyE4gHHq5eX0SSsK4gvqi3\n6duBW0RkN1abwMst+iYeyMxcSGTkCYSHD2ztXSnVNubNg0mTvPuaN6/JXc6ePZuPPvqo5uEvqamp\nZGRkcMopp9T0yx8zZgwjRozggw9+eV6XmprK8OHDASgrK2POnDkMGTKEmTNnUlZWVrPctddey9ix\nYxk2bBj33XcfAE8//TQZGRlMnjyZyZMnA5CUlEROTg4ATzzxBMOHD2f48OE89dRTNfsbMmQIv/vd\n7xg2bBinn356nf24W7x4MXPnzuX000+vE/vu3bs57bTTGDVqFGPGjKkZ5O2xxx5jxIgRjBo1qmYE\nU/ermJycHJKSkgBrSIgZM2YwZcoUpk6d2uSxev3112vuFp47dy5FRUUkJydTVWVVohw+fLjO56Pl\n0X0AxpiPgY/rTbvX7f071Pboqb9uKg008Bpj9mL1MGoTxcVbKCnZyMCB89tql0p1SjExMYwbN45l\ny5ZxzjnnsGTJEi644AJEhLCwMN577z26detGTk4OJ554IjNmzGi0yvW5554jPDyc7du3s2nTpjrD\nOT/88MPExMTgdDqZOnUqmzZt4qabbuKJJ55g1apVxMbG1tnW+vXrWbBgAd9++y3GGE444QQmTpxY\nM37P4sWL+de//sUFF1zAu+++y6WX/vI+oLfeeovPP/+cn376ifnz53PxxRcD1midd9xxBzNnzqS8\nvByXy8WyZcv44IMP+PbbbwkPD68Z16cpP/zwA5s2baoZIruhY7Vt2zYeeughvvrqK2JjY8nLyyMy\nMpJJkybx0Ucfce6557JkyRJmzZpFcHDLejJ2vFvmjpI18mcgcXEX+joUpbznKd8MB11dDVSdAF5+\n2bqAN8bwl7/8hTVr1hAQEEB6ejqZmZn06tXwgItr1qzhpptuAmDkyJGMHDmyZt7SpUt58cUXcTgc\nHDx4kG3bttWZX9+XX37JzJkza0blnDVrFmvXrmXGjBkkJyfXPCTGfThpd+vWrSM2NpZ+/fqRkJDA\nVVddRV5eHsHBwaSnp9eMJxQWFgZYQztfeeWVhIeHA7VDOzdl2rRpNcs1dqxWrlzJ+eefX5Pgqpe/\n+uqr+fvf/865557LggUL+Ne//nXE/R2JXwwGZ4yLzMxFxMRMJySk5T2JlPJ355xzDitWrOCHH36g\ntLSU448/HoBFixaRnZ3N+vXr2bBhA/Hx8Q0OAX0k+/bt4/HHH2fFihVs2rSJs84666i2U616KGlo\nfDjpxYsX89NPP5GUlMSAAQM4fPgw7777brP3FRQUhMvlApoeMrq5x+qkk04iNTWV1atX43Q6a6rR\nWsIvEkBh4VoqKg5o33+lvCQiIoLJkydz1VVX1Wn8LSwsJC4ujuDg4DrDLDfm1FNP5c033wRgy5Yt\nbNq0CbDquLt27Ur37t3JzMxk2bJlNetERkZSVFT0i22dcsopvP/++5SWllJSUsJ7773HKaec4tH3\ncblcLF26lM2bN9cMGf3BBx+wePFiIiMjSUxMrHlATEVFBaWlpUybNo0FCxbUNEhXVwElJSXVDE/R\nVGN3Y8dqypQpvP322+Tm5tbZLsBll13GxRdfzJVXXunR9zoSv0gAmZkLCQyMIDa2oRuUlVJH46KL\nLmLjxo11EsAll1zCunXrGDFiBK+//jqDBw9uchvXXnstxcXFDBkyhHvvvbfmSmLUqFGMHj2awYMH\nc/HFF9cZSvr3v/8906dPr2kErjZmzBiuuOIKxo0bxwknnMDVV1/N6NGjPfoua9euJSEhgT59+tRM\nO/XUU9m2bRsHDx7kjTfe4Omnn2bkyJFMmDCBQ4cOMX36dGbMmMHYsWNJSUnh8ccfB+DWW2/lueee\nY/To0TWN0w1p7FgNGzaMu+66i4kTJzJq1ChuueWWOuvk5+d73OPqSPxiOOj9+x/D4SjgmGMeaYWo\nlGpbOhy0/3rnnXf44IMPeOONNxpdRoeDrqdfv9t9HYJSSrXIjTfeyLJly/j444+PvLCH/CIBKKVU\nRzd/vve7sPtFG4BSnU1HqrpVbae5fxeaAJTqYMLCwsjNzdUkoOowxpCbm1tzn4IntApIqQ4mMTGR\ntLQ0vDE8uupcwsLCmnxYfX2aAJTqYIKDg0lOTvZ1GKoT0CogpZTyU5oAlFLKT2kCUEopP9Wh7gQW\nkWyg6cFF2r9YoPH7w/2LHou69HjUpcejVkuPRX9jzC9GwuxQCaAzEJF1Dd2S7Y/0WNSlx6MuPR61\nWutYaBWQUkr5KU0ASinlpzQBtL0XfR1AO6LHoi49HnXp8ajVKsdC2wCUUspP6RWAUkr5KU0ASinl\npzQBtAER6Ssiq0Rkm4hsFZGbfR1TeyAigSLyo4j819ex+JqIRInIOyLyk4hsF5Hxvo7JV0Tkj/b/\nky0islhEPB/eshMQkVdEJEtEtrhNixGRz0Vkl/1vtDf2pQmgbTiAPxljhgInAteLyFAfx9Qe3Axs\n93UQ7cQ/gU+MMYOBUfjpcRGRBOAmYKwxZjgQCMzxbVRt7lVger1pdwArjDGDgBX25xbTBNAGjDEH\njTE/2O+LsP5zJ/g2Kt8SkUTgLOAlX8fiayLSHTgVeBnAGFNpjCnwbVQ+FQR0EZEgIBzI8HE8bcoY\nswbIqzf5HOA1+/1rwLne2JcmgDYmIknAaOBb30bic08BfwZcvg6kHUgGsoEFdpXYSyLS1ddB+YIx\nJh14HNgPHAQKjTGf+TaqdiHeGHPQfn8IiPfGRjUBtCERiQDeBeYZYw77Oh5fEZGzgSxjzHpfx9JO\nBAFjgOeMMaOBErx0id/R2HXb52AlxT5AVxG51LdRtS/G6rvvlf77mgDaiIgEYxX+i4wx//Z1PD52\nEjBDRFKBJcAUEVno25B8Kg1IM8ZUXxW+g5UQ/NFpwD5jTLYxpgr4NzDBxzG1B5ki0hvA/jfLGxvV\nBNAGRESw6ne3G2Oe8HU8vmaMudMYk2iMScJq4FtpjPHbszxjzCHggIgcZ0+aCmzzYUi+tB84UUTC\n7f83U/HTBvF6PgQut99fDnzgjY1qAmgbJwFzsc50N9ivM30dlGpXbgQWicgmIAX4m4/j8Qn7Kugd\n4AdgM1YZ5VdDQojIYuBr4DgRSROR3wKPAtNEZBfWVdKjXtmXDgWhlFL+Sa8AlFLKT2kCUEopP6UJ\nQCml/JQmAKWU8lOaAJRSyk9pAlBKKT+lCUAppfzU/wcSNar1g5aymAAAAABJRU5ErkJggg==\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "tags": []
+ }
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
From 54cbc7144751b305c5f2f07551ce04f57f8eda8c Mon Sep 17 00:00:00 2001
From: tanvibattu <43849158+tanvibattu@users.noreply.github.com>
Date: Mon, 9 Mar 2020 21:20:12 +0000
Subject: [PATCH 4/4] Delete CNN-mnist.ipynb
---
CNN-practice/CNN-mnist.ipynb | 400 -----------------------------------
1 file changed, 400 deletions(-)
delete mode 100644 CNN-practice/CNN-mnist.ipynb
diff --git a/CNN-practice/CNN-mnist.ipynb b/CNN-practice/CNN-mnist.ipynb
deleted file mode 100644
index 090f7ac..0000000
--- a/CNN-practice/CNN-mnist.ipynb
+++ /dev/null
@@ -1,400 +0,0 @@
-{
- "nbformat": 4,
- "nbformat_minor": 0,
- "metadata": {
- "colab": {
- "name": "CNN.ipynb",
- "provenance": [],
- "collapsed_sections": [],
- "authorship_tag": "ABX9TyMyW/mQW5eRn80nw8IlTm8T",
- "include_colab_link": true
- },
- "kernelspec": {
- "name": "python3",
- "display_name": "Python 3"
- },
- "accelerator": "GPU"
- },
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {
- "id": "view-in-github",
- "colab_type": "text"
- },
- "source": [
- "
"
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "VWMog0eH8s3J",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "import tensorflow as tf\n",
- "import keras\n",
- "from keras.models import Sequential\n",
- "from keras.datasets import mnist\n",
- "from keras.layers import Dense, Dropout, Conv2D, MaxPool2D, Flatten\n",
- "from keras.datasets import mnist\n",
- "from keras.optimizers import RMSprop, adam"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "kQ820FbfPcqT",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "bGO_tNS5PnYd",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 34
- },
- "outputId": "3dbbf55b-1058-4f4b-da54-e8c93ff996fc"
- },
- "source": [
- "x_train.shape"
- ],
- "execution_count": 17,
- "outputs": [
- {
- "output_type": "execute_result",
- "data": {
- "text/plain": [
- "(60000, 28, 28)"
- ]
- },
- "metadata": {
- "tags": []
- },
- "execution_count": 17
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "owOL3pkCPoK4",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 69
- },
- "outputId": "b1d66ba1-81a5-4b14-a3b3-dacc8ecb1947"
- },
- "source": [
- "#Reshaping the array to 4-dims so that it can work with the Keras API\n",
- "x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)\n",
- "x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)\n",
- "input_shape = (28, 28, 1)\n",
- "# Making sure that the values are float so that we can get decimal points after division\n",
- "x_train = x_train.astype('float32')\n",
- "x_test = x_test.astype('float32')\n",
- "# Normalizing the RGB codes by dividing it to the max RGB value.\n",
- "x_train /= 255\n",
- "x_test /= 255\n",
- "print('x_train shape:', x_train.shape)\n",
- "print('Number of images in x_train', x_train.shape[0])\n",
- "print('Number of images in x_test', x_test.shape[0])"
- ],
- "execution_count": 18,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "x_train shape: (60000, 28, 28, 1)\n",
- "Number of images in x_train 60000\n",
- "Number of images in x_test 10000\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "_VJjHQ0jQQLJ",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "#convert 0-9 labels into \"one-hot\" format \n",
- "train_labels = keras.utils.to_categorical(x_train, 10)\n",
- "test_labels = keras.utils.to_categorical(y_train, 10)"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "cUUz_ALHQblA",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 298
- },
- "outputId": "b95fc0de-051a-454d-e7ad-02ad85eb1b4a"
- },
- "source": [
- "import matplotlib.pyplot as plt\n",
- "def display_sample(num):\n",
- " print(y_train[num])\n",
- " label = y_train[num].argmax(axis=0)\n",
- " image = x_train[num].reshape([28,28])\n",
- " plt.title('sample: %d label: %d' %(num,label))\n",
- " plt.imshow(image, cmap=plt.get_cmap('gray'))\n",
- " plt.show()\n",
- "display_sample(1270)"
- ],
- "execution_count": 20,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "2\n"
- ],
- "name": "stdout"
- },
- {
- "output_type": "display_data",
- "data": {
- "image/png": "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\n3SwR/w/BLO21cZDfKAAAAABJRU5ErkJggg==\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "tags": []
- }
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "RN66oIEzQbqQ",
- "colab_type": "code",
- "colab": {}
- },
- "source": [
- "model = Sequential()\n",
- "model.add(Conv2D(32, kernel_size=(3,3), activation = 'relu', input_shape=input_shape))\n",
- "model.add(Conv2D(64, kernel_size=(3,3), activation = 'relu'))\n",
- "model.add(MaxPool2D(pool_size=(2, 2)))\n",
- "model.add(Dropout(0.2))\n",
- "model.add(Flatten()) # Flattening the 2D arrays for fully connected layers\n",
- "model.add(Dense(128, activation='relu'))\n",
- "model.add(Dropout(0.5))\n",
- "model.add(Dense(10,activation='softmax'))"
- ],
- "execution_count": 0,
- "outputs": []
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "u_fHpsDiRu9T",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 434
- },
- "outputId": "3794bd67-b724-48fd-835a-297b812c9af8"
- },
- "source": [
- "model.summary()"
- ],
- "execution_count": 22,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "Model: \"sequential_4\"\n",
- "_________________________________________________________________\n",
- "Layer (type) Output Shape Param # \n",
- "=================================================================\n",
- "conv2d_7 (Conv2D) (None, 26, 26, 32) 320 \n",
- "_________________________________________________________________\n",
- "conv2d_8 (Conv2D) (None, 24, 24, 64) 18496 \n",
- "_________________________________________________________________\n",
- "max_pooling2d_4 (MaxPooling2 (None, 12, 12, 64) 0 \n",
- "_________________________________________________________________\n",
- "dropout_7 (Dropout) (None, 12, 12, 64) 0 \n",
- "_________________________________________________________________\n",
- "flatten_4 (Flatten) (None, 9216) 0 \n",
- "_________________________________________________________________\n",
- "dense_7 (Dense) (None, 128) 1179776 \n",
- "_________________________________________________________________\n",
- "dropout_8 (Dropout) (None, 128) 0 \n",
- "_________________________________________________________________\n",
- "dense_8 (Dense) (None, 10) 1290 \n",
- "=================================================================\n",
- "Total params: 1,199,882\n",
- "Trainable params: 1,199,882\n",
- "Non-trainable params: 0\n",
- "_________________________________________________________________\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "lfzeAbT1RElh",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 382
- },
- "outputId": "1eba83b0-f198-4b17-9a98-2f0c2da5d7f7"
- },
- "source": [
- "model.compile(optimizer='adam', \n",
- " loss='sparse_categorical_crossentropy', \n",
- " metrics=['accuracy'])\n",
- "history = model.fit(x=x_train,y=y_train, batch_size =32, epochs=10,verbose = 2, validation_data=(x_test, y_test))"
- ],
- "execution_count": 25,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "Train on 60000 samples, validate on 10000 samples\n",
- "Epoch 1/10\n",
- " - 12s - loss: 0.1047 - acc: 0.9688 - val_loss: 0.0405 - val_acc: 0.9873\n",
- "Epoch 2/10\n",
- " - 12s - loss: 0.0652 - acc: 0.9800 - val_loss: 0.0334 - val_acc: 0.9894\n",
- "Epoch 3/10\n",
- " - 12s - loss: 0.0513 - acc: 0.9844 - val_loss: 0.0374 - val_acc: 0.9884\n",
- "Epoch 4/10\n",
- " - 12s - loss: 0.0435 - acc: 0.9865 - val_loss: 0.0409 - val_acc: 0.9875\n",
- "Epoch 5/10\n",
- " - 12s - loss: 0.0375 - acc: 0.9887 - val_loss: 0.0330 - val_acc: 0.9900\n",
- "Epoch 6/10\n",
- " - 12s - loss: 0.0328 - acc: 0.9898 - val_loss: 0.0323 - val_acc: 0.9911\n",
- "Epoch 7/10\n",
- " - 12s - loss: 0.0281 - acc: 0.9916 - val_loss: 0.0281 - val_acc: 0.9920\n",
- "Epoch 8/10\n",
- " - 12s - loss: 0.0249 - acc: 0.9918 - val_loss: 0.0322 - val_acc: 0.9914\n",
- "Epoch 9/10\n",
- " - 12s - loss: 0.0249 - acc: 0.9923 - val_loss: 0.0384 - val_acc: 0.9907\n",
- "Epoch 10/10\n",
- " - 12s - loss: 0.0220 - acc: 0.9923 - val_loss: 0.0313 - val_acc: 0.9918\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "lfIkrsbIUfiE",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 86
- },
- "outputId": "725df237-8175-4bd3-ae3f-c862bf9b856c"
- },
- "source": [
- "score = model.evaluate(x_test, y_test, verbose=0)\n",
- "print(\"Loss: %.2f\"%(score[0]*100))\n",
- "print(\"Accuracy: %.2f\"%(score[1]*100))\n",
- "print(\"Training loss: %.2f\"%(history.history['loss'][9]*100))\n",
- "print(\"Validation loss: %.2f\"%(history.history['val_loss'][9]*100))"
- ],
- "execution_count": 26,
- "outputs": [
- {
- "output_type": "stream",
- "text": [
- "Loss: 3.13\n",
- "Accuracy: 99.18\n",
- "Training loss: 2.20\n",
- "Validation loss: 3.13\n"
- ],
- "name": "stdout"
- }
- ]
- },
- {
- "cell_type": "code",
- "metadata": {
- "id": "Nr1zHdyCUglM",
- "colab_type": "code",
- "colab": {
- "base_uri": "https://localhost:8080/",
- "height": 545
- },
- "outputId": "17e1e8b8-a7a7-4a1f-f4cd-4af1ec1b9b78"
- },
- "source": [
- "import matplotlib.pyplot as plt\n",
- "\n",
- "loss = history.history['loss']\n",
- "val_loss = history.history['val_loss']\n",
- "epochs = range(1,len(loss)+1)\n",
- "plt.title(\"Training and Validation loss\")\n",
- "plt.plot(epochs,loss,'y',label='Training Loss')\n",
- "plt.plot(epochs,val_loss,'r',label='Validation Loss')\n",
- "plt.legend()\n",
- "plt.show()\n",
- "\n",
- "acc = history.history['acc']\n",
- "val_acc = history.history['val_acc']\n",
- "epochs = range(1,len(loss)+1)\n",
- "plt.title(\"Training and Validation Accuracy\")\n",
- "plt.plot(epochs,acc,'y',label='Training Accuracy')\n",
- "plt.plot(epochs,val_acc,'r',label='Validation Accuracy')\n",
- "plt.legend()\n",
- "plt.show()"
- ],
- "execution_count": 27,
- "outputs": [
- {
- "output_type": "display_data",
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEICAYAAABRSj9aAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deXxU5dn/8c+VnaxANnbCDmEVwqai\notYKBSmKioJVq8XHR1utS6U+Vqm1T631Udu6t9W6gohaUUDrT3EtsssSkB0hAZIQICQBQpK5fn+c\nSQgxyySZ5CST6/16zYtZzpxzzRnyPffc5557RFUxxhgTuILcLsAYY0zjsqA3xpgAZ0FvjDEBzoLe\nGGMCnAW9McYEOAt6Y4wJcBb0pk5EJFhECkSkmz+XdZOI9BaRRhlnXHndIvJvEZnRGHWIyG9E5Nn6\nPr+G9d4oIp/6e72m6VjQBzhv0JZdPCJyvMLtKgOnJqpaqqrRqrrHn8s2VyLy/0Tk/iruv0xEMkUk\nuC7rU9WLVPU1P9R1oYjsrrTu36nqfzV03SbwWNAHOG/QRqtqNLAHmFzhvu8FjoiENH2VzdpLwDVV\n3H8N8KqqljZxPcbUmQV9KyciD4nIGyIyV0TygZkiMlZEvhaRIyKyX0T+IiKh3uVDRERFJMV7+1Xv\n40tEJF9ElolIj7ou6318gohsFZE8EfmriHwlItdVU7cvNd4kIttF5LCI/KXCc4NF5HERyRWRncDF\nNeyit4EOInJmhefHAxOBl723LxGRb0TkqIjsEZHf1LC/vyx7TbXV4e0y2ezdVztE5Ebv/XHAe0C3\nCp/Okrzv5T8rPH+qiKR799EnItKvwmMZInKHiGzw7u+5IhJew36oWNfZIrLK+7wVIjK6wmM3iMhu\nb807RWS69/6+IvK59zkHReR1X7Zl/ERV7dJKLsBu4MJK9z0EnAQm4xz42wAjgdFACNAT2Arc6l0+\nBFAgxXv7VeAgkAaEAm/gtHTrumwSkA9M8T52B1AMXFfNa/GlxneBOCAFOFT22oFbgXSgCxAPfO78\nKVS7314Enq1w+xZgVYXb5wMDvftvqPc1TvI+1rviuoEvy15TbXV435OegHi3cRwY4n3sQmB3Fe/l\nP73XBwAF3ueFAvcCW4BQ7+MZwNdAB++2twI3VvP6bwQ+9V5PAPKAq7z7+RogF2gHxHof6+NdtiOQ\n6r3+JnCPdx9FAGe5/ffQmi7WojcAX6rqe6rqUdXjqrpSVZeraomq7gSeB86t4fkLVHWVqhYDrwHD\n6rHsJOAbVX3X+9jjOIFZJR9r/IOq5qnqbuDTCtu6AnhcVTNUNRd4uIZ6wem+uaJCi/cn3vvKavlE\nVdO9+28dMK+KWqpSYx3e92SnOj4BPgbG+bBegOnAQm9txd51x+EcHMs8oaoHvNt+n5rftzKTgXRV\nnevd968AO4EflZUNDBKRCFXdr6qbvPcX4xxwO6rqCVX9ysfXYfzAgt4A7K14Q0T6i8giETkgIkeB\nB3FactU5UOH6MSC6Hst2qliHqipOq7NKPtbo07aA72qoF+Az4CgwWUT6AmcAcyvUMlZEPhWRHBHJ\nw2kB17S/ytRYh4hMEpHlInJIRI4AF/m43rJ1l69PVT04+7NzhWXq8r5Vud4KdXdW1aM4Lf1bgAMi\n8r53fwHcifPJYpW3u+haH1+H8QMLegNOK6yi54CNQG9VjQXux+k+aEz7cbowABAR4fRQqqwhNe4H\nula4XePwT+9B52Wclvw1wGJVrfhpYx7wFtBVVeOAv/tYS7V1iEgbYAHwByBZVdsC/66w3tqGYe4D\nuldYXxDO/s30oS6f1+vVrWy9qrpEVS/E6bbZjvM+4W3d36iqHXEOBM9XPD9jGpcFvalKDE5fa6GI\nDABuaoJtvg8MF5HJ4oz8uQ1IbKQa5wO3i0hn74nVe3x4zss4J0t/SoVumwq1HFLVEyIyBqfbpKF1\nhANhQA5QKiKTgAsqPJ4FJIhITA3rvkREzvOepL4b5xzIch9rq877wEARudJ70vtqnPMQi0Sko/f9\ni8Q571MIeABE5AoRKTtwH8E5UNmIpSZiQW+qcidwLU4wPIdz0rRRqWoWcCXwGM7JvV7AWqCoEWp8\nBqe/ewOwEqflXFt924EVOAG8qNLDNwN/EGfU0r04IdugOlT1CPBL4B2cE8nTcEK27PGNOJ8idntH\n1SRVqjcdZ/88g3OwuBi4xNtfX2+qmgNcgnNQyvXWOElVDwPBOAeU/d7HzsRpvYNzbmCliBTijGS6\nRVvw9ytaGnE+lRrTvIjzRaR9wDRV/cLteoxpyaxFb5oNEblYRNp6R7f8BmekxgqXyzKmxbOgN83J\n2ThD9XKAHwJTVbW6rhtjjI+s68YYYwKcteiNMSbANbsJrBISEjQlJcXtMowxpkVZvXr1QVWtckhy\nswv6lJQUVq1a5XYZxhjToohItd/wtq4bY4wJcBb0xhgT4CzojTEmwDW7PnpjTNMoLi4mIyODEydO\nuF2KqYOIiAi6dOlCaGioz8+xoDemlcrIyCAmJoaUlBScyUJNc6eq5ObmkpGRQY8evk/+aV03xrRS\nJ06cID4+3kK+BRER4uPj6/wpzILemFbMQr7lqc97FjBBf+LEXnbs+BUnT2a5XYoxxjQrARP0paX5\n7N37J7KzG33qdGOMH+Tm5jJs2DCGDRtGhw4d6Ny5c/ntkydP+rSO66+/ni1bttS4zFNPPcVrr73m\nj5I5++yz+eabb/yyrqYUMCdjo6JSiY4+g6ysV+nS5Rdul2OMqUV8fHx5aM6ZM4fo6Gjuuuuu05ZR\nVVSVoKCq26Qvvvhirdu55ZZbal0m0AVMix4gOXkm+fkrOXZsq9ulGGPqafv27aSmpjJjxgwGDhzI\n/v37mTVrFmlpaQwcOJAHH3ywfNmyFnZJSQlt27Zl9uzZDB06lLFjx5KdnQ3AfffdxxNPPFG+/OzZ\nsxk1ahT9+vXjP//5DwCFhYVcdtllpKamMm3aNNLS0nxuuR8/fpxrr72WwYMHM3z4cD7//HMANmzY\nwMiRIxk2bBhDhgxh586d5OfnM2HCBIYOHcqgQYNYsKDWHzfzi4Bp0QMkJU1nx467ycp6jR49fut2\nOca0GNu23U5BgX+7JKKjh9GnzxP1eu63337Lyy+/TFpaGgAPP/ww7du3p6SkhPHjxzNt2jRSU1NP\ne05eXh7nnnsuDz/8MHfccQcvvPACs2fP/t66VZUVK1awcOFCHnzwQT744AP++te/0qFDB9566y3W\nrVvH8OHDfa71L3/5C+Hh4WzYsIH09HQmTpzItm3bePrpp7nrrru48sorKSoqQlV59913SUlJYcmS\nJeU1N4WAatGHh3eiXbsLyMp6FZtn35iWq1evXuUhDzB37lyGDx/O8OHD2bx5M5s2bfrec9q0acOE\nCRMAGDFiBLt3765y3Zdeeun3lvnyyy+ZPt35TfehQ4cycOBAn2v98ssvmTlzJgADBw6kU6dObN++\nnTPPPJOHHnqIRx55hL179xIREcGQIUP44IMPmD17Nl999RVxcXE+b6chAqpFD5CcPINvv72Oo0e/\nJi5urNvlGNMi1Lfl3ViioqLKr2/bto0///nPrFixgrZt2zJz5swqx5GHhYWVXw8ODqakpKTKdYeH\nh9e6jD9cc801jB07lkWLFnHxxRfzwgsvcM4557Bq1SoWL17M7NmzmTBhAvfee2+j1VAmoFr0AAkJ\nUwkKakNW1qtul2KM8YOjR48SExNDbGws+/fv58MPP/T7Ns466yzmz58POH3rVX1iqM64cePKR/Vs\n3ryZ/fv307t3b3bu3Env3r257bbbmDRpEuvXryczM5Po6GiuueYa7rzzTtasWeP311KVgGvRh4TE\nkpAwhezsN+jd+wmCgnyfD8IY0/wMHz6c1NRU+vfvT/fu3TnrrLP8vo2f//zn/OQnPyE1NbX8Ul23\nyg9/+MPyeWbGjRvHCy+8wE033cTgwYMJDQ3l5ZdfJiwsjNdff525c+cSGhpKp06dmDNnDv/5z3+Y\nPXs2QUFBhIWF8eyzz/r9tVSpbPhSTRfgYmALsB2YXcXj5wBrgBJgWqXHrgW2eS/X1ratESNGaEMd\nPPi+Ll2K5uS81+B1GROoNm3a5HYJzUZxcbEeP35cVVW3bt2qKSkpWlxc7HJV1avqvQNWaTW5WmuL\nXkSCgaeAHwAZwEoRWaiqFT/b7AGuA+6q9Nz2wANAGqDAau9zD9fvsOSbdu0uIjQ0gaysV0lImNSY\nmzLGBICCggIuuOACSkpKUFWee+45QkICp8PDl1cyCtiuqjsBRGQeMAUoD3pV3e19zFPpuT8EPlLV\nQ97HP8L5dDC3wZXXICgolMTEKzlw4B+UlBwlJCS2MTdnjGnh2rZty+rVq90uo9H4cjK2M7C3wu0M\n732+8Om5IjJLRFaJyKqcnBwfV12z5OSZeDwnOHjwHb+szxhjWqpmMepGVZ9X1TRVTUtMrPJHzOss\nNnY0ERG9bPSNMabV8yXoM4GuFW538d7ni4Y8t0FEhOTkGRw+/DFFRfuaYpPGGNMs+RL0K4E+ItJD\nRMKA6cBCH9f/IXCRiLQTkXbARd77mkRy8gxAyc5u1FMCxhjTrNUa9KpaAtyKE9Cbgfmqmi4iD4rI\nJQAiMlJEMoDLgedEJN373EPA73AOFiuBB8tOzDaFyMi+xMSMIivLP1OUGmP8Z/z48d/78tMTTzzB\nzTffXOPzoqOjAdi3bx/Tpk2rcpnzzjuPVatW1bieJ554gmPHjpXfnjhxIkeOHPGl9BrNmTOHRx99\ntMHr8Sef+uhVdbGq9lXVXqr6e+9996vqQu/1laraRVWjVDVeVQdWeO4Lqtrbe6l9TlE/S06eSUHB\nWgoL05t608aYGlx11VXMmzfvtPvmzZvHVVdd5dPzO3Xq1KDZHysH/eLFi2nbtm2919ecNYuTsY0p\nKelKINha9cY0M9OmTWPRokXlPzKye/du9u3bx7hx48rHtQ8fPpzBgwfz7rvvfu/5u3fvZtCgQYAz\nVfD06dMZMGAAU6dO5fjx4+XL3XzzzeVTHD/wwAOAM+Pkvn37GD9+POPHjwcgJSWFgwcPAvDYY48x\naNAgBg0aVD7F8e7duxkwYAA/+9nPGDhwIBdddNFp26lNVessLCzkRz/6Ufm0xW+84fxw0uzZs0lN\nTWXIkCHfm6O/PgLnGwHVCAtLon37i7xTFz+ESMAf24ypu9tvB3//ctKwYfBE9ZOltW/fnlGjRrFk\nyRKmTJnCvHnzuOKKKxARIiIieOedd4iNjeXgwYOMGTOGSy65pNrfS33mmWeIjIxk8+bNrF+//rRp\nhn//+9/Tvn17SktLueCCC1i/fj2/+MUveOyxx1i6dCkJCQmnrWv16tW8+OKLLF++HFVl9OjRnHvu\nubRr145t27Yxd+5c/va3v3HFFVfw1ltvlc9cWZPq1rlz5046derEokWLAGfa4tzcXN555x2+/fZb\nRMQv3UmtIvWSk2dSVLSHvLyv3C7FGFNBxe6bit02qsq9997LkCFDuPDCC8nMzCQrq/rfg/7888/L\nA3fIkCEMGTKk/LH58+czfPhwzjjjDNLT02udsOzLL79k6tSpREVFER0dzaWXXsoXX3wBQI8ePRg2\nbBhQ81TIvq5z8ODBfPTRR9xzzz188cUXxMXFERcXR0REBDfccANvv/02kZGRPm2jJgHfogdISJhC\nUFAUWVmv0rbtOLfLMab5qaHl3ZimTJnCL3/5S9asWcOxY8cYMWIEAK+99ho5OTmsXr2a0NBQUlJS\nqpyauDa7du3i0UcfZeXKlbRr147rrruuXuspUzbFMTjTHNel66Yqffv2Zc2aNSxevJj77ruPCy64\ngPvvv58VK1bw8ccfs2DBAp588kk++eSTBm2nVbTog4OjSEycSk7OfDyeIrfLMcZ4RUdHM378eH76\n05+edhI2Ly+PpKQkQkNDWbp0Kd99912N6znnnHN4/fXXAdi4cSPr168HnCmOo6KiiIuLIysrq/yX\nnQBiYmLIz8//3rrGjRvHv/71L44dO0ZhYSHvvPMO48Y1rIFY3Tr37dtHZGQkM2fO5O6772bNmjUU\nFBSQl5fHxIkTefzxx1m3bl2Dtg2tpEUPTvdNVtar5OYuJjFxqtvlGGO8rrrqKqZOnXraCJwZM2Yw\nefJkBg8eTFpaGv37969xHTfffDPXX389AwYMYMCAAeWfDIYOHcoZZ5xB//796dq162lTHM+aNYuL\nL76YTp06sXTp0vL7hw8fznXXXceoUaMAuPHGGznjjDN87qYBeOihh8pPuAJkZGRUuc4PP/yQu+++\nm6CgIEJDQ3nmmWfIz89nypQpnDhxAlXlscce83m71RFtZj+5l5aWprWNf60Pj6eEZcu6EBd3NoMG\nNc0P8hrTnG3evJkBAwa4XYaph6reOxFZrappVS3fKrpuAIKCQkhOvorc3PcoLm74WWxjjGkpWk3Q\nAyQlzUD1JDk51qI3xrQerSroY2JG0KZNP5vR0hiv5tZ1a2pXn/esVQW9M6PlTPLyPuPEiT1ul2OM\nqyIiIsjNzbWwb0FUldzcXCIiIur0vFYz6qZMcvLV7N79G7Kz59Kt2z1ul2OMa7p06UJGRgb++rEf\n0zQiIiLo0qVLnZ7T6oK+TZuexMaeyYEDr9C166+q/Uq1MYEuNDSUHj16uF2GaQKtquumTHLyTI4d\nS6ewcL3bpRhjTKNrlUGflHQFIiE2o6UxplVolUEfGhpP+/YTycp6HdVSt8sxxphG1SqDHpyfGTx5\nMpMjRz5zuxRjjGlUrTbo4+MnExwcY2PqjTEBr9UGfXBwGxITp5GT8xalpQ2batQYY5qzVhv04Iy+\nKS09Sm7u+26XYowxjaZVB33btucSFtbJum+MMQGtVQe9SDDJyVdz6NBiiotz3S7HGGMaRasOenC6\nb1RLyM5+0+1SjDGmUbT6oI+KGkJU1CDrvjHGBKxWH/QiQlLSDI4e/Yrjx3e6XY4xxvhdqw96cGa0\nBMjKet3lSowxxv8s6IGIiG7ExZ1LdvZrNje3MSbgWNB7OTNafktBwRq3SzHGGL+yoPdKTJyGSJid\nlDXGBBwLeq/Q0LbEx08iK2suHk+J2+UYY4zfWNBXkJw8k+LiLI4c+cTtUowxxm8s6CuIj59ISEhb\n674xxgQUC/oKgoLCSUy8nJyctyktLXS7HGOM8QsL+kqSk2fi8RRy8OC7bpdijDF+YUFfSVzc2YSH\nd7PfkzXGBAwL+kpEgkhOnsGhQx9y8mS22+UYY0yDWdBXITl5BlBKdvYbbpdijDENZkFfhaiogURH\nD7PRN8aYgGBBX43k5Jnk56/g2LFtbpdijDEN4lPQi8jFIrJFRLaLyOwqHg8XkTe8jy8XkRTv/aEi\n8pKIbBCRzSLya/+W33iSkq4CxE7KGmNavFqDXkSCgaeACUAqcJWIpFZa7AbgsKr2Bh4H/ui9/3Ig\nXFUHAyOAm8oOAs1deHgn2rY9n6ysV21GS2NMi+ZLi34UsF1Vd6rqSWAeMKXSMlOAl7zXFwAXiIgA\nCkSJSAjQBjgJHPVL5U0gOXkmJ07s4OjR5W6XYowx9eZL0HcG9la4neG9r8plVLUEyAPicUK/ENgP\n7AEeVdVDlTcgIrNEZJWIrMrJyanzi2gsiYmXEhQUQXa2dd8YY1quxj4ZOwooBToBPYA7RaRn5YVU\n9XlVTVPVtMTExEYuyXchIbHEx08hO3seHk+x2+UYY0y9+BL0mUDXCre7eO+rchlvN00ckAtcDXyg\nqsWqmg18BaQ1tOimlJw8g+Ligxw+/G+3SzHGmHrxJehXAn1EpIeIhAHTgYWVllkIXOu9Pg34RJ0z\nmHuA8wFEJAoYA3zrj8KbSvv2PyQkJN7G1BtjWqxag97b534r8CGwGZivquki8qCIXOJd7B9AvIhs\nB+4AyoZgPgVEi0g6zgHjRVVd7+8X0ZiCgsJISrqSgwffpaQk3+1yjDGmzqS5DR1MS0vTVatWuV3G\nafLylrF27Zn07/8SHTr8xO1yjDHme0RktapW2TVu34z1QWzsGCIielr3jTGmRbKg94GIkJw8g8OH\nP6aoaL/b5RhjTJ1Y0PvImdHSQ3b2PLdLMcaYOrGg91FkZD9iYkZa940xpsWxoK+D5OQZFBSsobBw\nk9ulGGOMzyzo6yApaToQbDNaGmNaFAv6OggLS6Z9+x+Qnf06qh63yzHGGJ9Y0NeRM6PlbvLy/uN2\nKcYY4xML+jqKj59CUFCknZQ1xrQYFvR1FBISTULCVHJy5uPxnHS7HGOMqZUFfT0kJ8+kpOQwhw4t\ncbsUY4yplQV9PbRrdyGhoUnWfWOMaREs6OshKCiEpKTpHDz4HsXFR9wuxxhjamRBX0/JyTNRLeLg\nwbfcLsUYY2pkQV9PMTFptGnT1748ZYxp9izo68mZ0XImR458yokTe2t/gjHGuMSCvgGSk68GlOzs\nuW6XYowx1bKgb4A2bXoRGzvWRt8YY5o1C/oGSk6eSWHhBgoKWtRP4RpjWhEL+gZKTLwCkRA7KWuM\nabYs6BsoLCyB9u0vJivrNZvR0hjTLFnQ+0Fy8kxOnszkyJHP3C7FGGO+x4LeD+LjJxMcHGPdN8aY\nZsmC3g+CgyNJTLyMnJw3KS094XY5xhhzGgt6P0lKmkFp6VFyc993uxRjjDmNBb2ftGs3nrCwjjam\n3hjT7FjQ+4lIMElJV3Po0GKKiw+5XY4xxpSzoPcjZ0bLYnJy3nS7FGOMKWdB70fR0UOJjEy17htj\nTLNiQe9HzoyW15CX9yVZWfPcLscYYwALer/r0uXnxMWdy+bNM2xcvTGmWbCg97Pg4CiGDFlE27bn\nsnnzNRw48JLbJRljWjkL+kYQHBzF4MHv067dBXz77fXs3/+C2yUZY1oxC/pGEhwcyaBBC2nX7gds\n2XID+/b9ze2SjDGtlAV9IwoObsOgQe/Svv0Etm6dRWbms26XZIxphSzoG1lwcASDBr1DfPwktm27\nmczMp9wuyRjTyljQN4GgoHAGDlxAfPwUtm27lYyMP7tdkjGmFbGgbyJO2M8nIeFStm+/nb17H3O7\nJGNMK2FB34SCgsJITZ1HYuLl7NhxJ3v2/MntkowxrYBPQS8iF4vIFhHZLiKzq3g8XETe8D6+XERS\nKjw2RESWiUi6iGwQkQj/ld/yBAWFMmDA6yQlTWfnzl/x3Xd/cLskY0yAC6ltAREJBp4CfgBkACtF\nZKGqbqqw2A3AYVXtLSLTgT8CV4pICPAqcI2qrhOReKDY76+ihQkKCqF//1eAIHbtuhfVUlJS7nO7\nLGNMgKo16IFRwHZV3QkgIvOAKUDFoJ8CzPFeXwA8KSICXASsV9V1AKqa66e6W7ygoBAGDHgZkWB2\n7/4NUEpKygNul2WMCUC+BH1nYG+F2xnA6OqWUdUSEckD4oG+gIrIh0AiME9VH6m8ARGZBcwC6Nat\nW11fQ4slEkz//i96w36Ot2X/W5xjpDHG+IcvQd/Q9Z8NjASOAR+LyGpV/bjiQqr6PPA8QFpamjZy\nTc2KSDD9+v0DkRC+++53qJbQo8fvLeyNMX7jS9BnAl0r3O7iva+qZTK8/fJxQC5O6/9zVT0IICKL\ngeHAx5hyIkH07fscEMyePX9AtYSePf9oYW+M8QtfRt2sBPqISA8RCQOmAwsrLbMQuNZ7fRrwiaoq\n8CEwWEQivQeAczm9b994OWH/DJ06/Td79/6JHTvuwtmFxhjTMLW26L197rfihHYw8IKqpovIg8Aq\nVV0I/AN4RUS2A4dwDgao6mEReQznYKHAYlVd1EivpcUTEfr0eRKREDIyHkO1lN69H7eWvTGmQXzq\no1fVxcDiSvfdX+H6CeDyap77Ks4QS+MDEaF37ycQCSYj43FUS+jT568W9saYemvsk7GmHkSEXr3+\nD5Fg9u59FCilT5+nELEvMhtj6s6CvpkSEXr2fASREPbseRjVEvr2fc7C3hhTZxb0zZiI0KPH/+KM\nxvk9qqX06/c3nC8rG2OMbyzomzkn7H/nHWf/W1RL6d//BQt7Y4zPLOhbACfs53i/QXu/N+z/SVCQ\nvX3GmNpZUrQgKSm/QSSYXbv+Byilf/9XLOyNMbWylGhhune/F5EQdu68B9VSBgx4jaCgULfLMsY0\nYxb0LVC3br9CJNj77dlSUlPnEhQU5nZZxphmysbqtVBdu95Jr16Pc/Dg26SnX4HHc9LtkowxzZQF\nfQvWtevt9O79V3Jz3yU9fRoeT5HbJRljmiEL+hauS5db6dPnaXJz32PjxkspLT3hdknGmGbGgj4A\ndO58M337PsehQ4vZuPHHlJYed7skY0wzYkEfIDp1mkW/fv/g8OF/s3HjFEpLj7ldkjGmmbCgDyAd\nO/6U/v1f5PDh/8eGDZMpLS10uyRjTDNgQR9gOnS4lv79X+bIkU9Zt+5C8vO/cbskY4zLLOgDUIcO\nM0lNncexY1tZvXo4mzdfy4kTe2t/ojEmIFnQB6ikpMsZPXoHXbveRXb2G6xY0ZedO++lpCTP7dKM\nMU3Mgj6AhYa2pVevRxg9egsJCZexZ88fWL68NxkZT+LxFLtdnjGmiVjQtwIREd1JTX2V4cNXEhU1\niO3bf87KlQPJyXnbfoDcmFbAgr4ViY1NY+jQTxg8+H1EQkhPv4y1a8eRl/e126UZYxqRBX0rIyLE\nx/+ItLT19O37HMePb2ft2rGkp1/B8eM73C7PGNMILOhbqaCgEDp1msXo0dvp3v0BcnMXsWLFALZt\nu53i4ly3yzPG+JEFfSsXEhJNjx5zGD16Ox06XEdm5l/5+ute7NnzJ5s3x5gAYUFvAAgP70i/fs8z\ncuR64uLOYufOX7FiRX+ysl5D1eN2ecaYBrCgN6eJihrIkCGLGDr0Y0JD27N580xWrx7J4cNL3S7N\nGFNPFvSmSu3anc+IEavo3/8ViosPsm7d+axfP4nCwk1ul2aMqSMLelMtkSA6dJjJqFHf0rPnw+Tl\nfcHKlYPZsuUmiooOuF2eMcZHFvSmVsHBbejW7R5Gj95B5863cuDACyxf3pvdu39rM2Qa0wJY0Buf\nhYUl0KfPnxk5cjPx8RPYvXsOy5f3Yd++v6Na6nZ5xphqWNCbOouM7M3AgW9yxhlfERGRwtatP2Pl\nyqHk5i62KRWMaYYs6E29xXhl9LQAABZiSURBVMWdyRlnfMXAgQtQLWLDhh9558Bf43ZpxpgKLOhN\ng4gIiYmXMXJkOr17/4WCgnWsXj2CzZuv4cSJPW6XZ4zBgt74SVBQGF26/JwxY3bQrdtscnIWsHx5\nX3bsmE1x8RG3yzOmVbOgN34VEhJHz55/YNSoLSQlXcHevY/w9ddd2br1FhuDb4xLLOhNo4iI6MaA\nAS+TlraWhITL2L//H6xcOZBvvjmfnJy38XhK3C7RmFbDgt40qujooQwY8E/Gjs2gZ8+HOX58B+np\nl7F8eQ++++73nDyZ5XaJxgQ8C3rTJMLCEujW7R7GjNnJoEHvEhk5gF277mPZsq5s2jSTvLxlNjTT\nmEYS4nYBpnURCSYh4RISEi7h2LEtZGY+zYED/yQ7+zWio4fTufOtJCVNJzi4jdulGhMwrEVvXBMZ\n2Y8+ff7M2LGZ9OnzDB5PEVu2/JRly7qwY8evOH58l9slGhMQfAp6EblYRLaIyHYRmV3F4+Ei8ob3\n8eUiklLp8W4iUiAid/mn7GocPNioqzc+UIVdu+Cf/4Trr4feveHss+GLL6p9SkhINJ07/xcjR25g\n2LBPadfufPbufYzly3uxYcNkcnM/sDnxjWmAWoNeRIKBp4AJQCpwlYikVlrsBuCwqvYGHgf+WOnx\nx4AlDS+3Bhs2QOfO8LOfOUFjmoYqbN0Kf/sbzJwJ3btDz55OyL/3HgwaBLt3wznnwKWXOstWQ0Ro\n2/ZcBg58kzFjdtO9+30cPbqSDRsmsGJFP/bufdzG5BtTD7606EcB21V1p6qeBOYBUyotMwV4yXt9\nAXCBiAiAiPwY2AWk+6fkaiQkwKxZ8Mor0Lcv3HAD7NzZqJtslVRh0yZ45hmYPt05uPbr5+z7jz6C\nMWPgySedA292NvzrX064P/SQ8/jAgXDbbbV++oqI6EKPHg8yduweBgx4ndDQJHbsuINlyzqzZctN\nFBSsb6IXbEwAUNUaL8A04O8Vbl8DPFlpmY1Alwq3dwAJQDSwzPvvHOCuarYxC1gFrOrWrZs2SEaG\n6s9/rhoerhocrHr99arbtzdsna1ZaanqN9+o/vnPqpdeqpqQoOrEvWrnzqpXX6363HOqmzerejw1\nr2v/ftWbblINClKNi1P9059Ujx/3uZSjR9fo5s036GeftdGlS9E1a8ZpVtY8LS092cAXaUzLB6zS\nanJctJYhbSIyDbhYVW/03r4GGK2qt1ZYZqN3mQzv7R3AaGA2sEJV54vIHKBAVR+taXtpaWm6atUq\nX45RNdu3Dx55BJ57DoqLnW6F++5z+oxN9UpL4Ztv4LPPnMsXX8Dhw85j3bvDueeeuvTsCc4Ht7rZ\ntAnuvhsWL4aUFPjDH+DKK31eV3HxIQ4ceJHMzKc5cWInYWEd6dhxFp06zSI8vFPd6zEmAIjIalVN\nq/LB6o4Aeqq1PRb4sMLtXwO/rrTMh8BY7/UQ4CAgwBfAbu/lCHAIuLWm7Y0YMcK/h7l9+1Rvv101\nIsJpSf7kJ6pbt/p3Gy3ZyZOqy5apPvyw6oQJqrGxp1rsvXur3nCD6ssvq+7e7f9tf/SR6tChzrZG\nj1b94os6Pd3jKdWDBxfpunUTdOlS0U8/DdGNG6/Uw4c/V09tny6MCTDU0KL3JehDgJ1ADyAMWAcM\nrLTMLcCz3uvTgflVrGcO1XTdVLz4PejL7N+vescdqm3aOIE/c6bqt982zraasxMnnEB96CHVH/xA\nNSrqVLAPGOB0rbz+umpmZtPUU1Ki+uKLqp06OTVceqnqtm11Xk1h4Tbdtu0O/eKLtrp0KbpixRDN\nzHxOS0oK/F+zCQx5eaqPP67ao4dqcrLq//2famGh21XVW4OC3nk+E4GtOH3v/+O970HgEu/1COBN\nYDuwAuhZxTrcDfoyBw6o3nWXamSkE/hXX+30LweqY8dUP/lE9YEHVM87z/lkUxbsgwer3nqr6ptv\nqmZluVtnQYHqgw86B57QUNXbblM9eLDOqykpKdTMzL/pihVDdelS9PPP43Tbttu1sNA+xRmvHTuc\nT/kxMc7fwdlnq55/vnO9Qwcn/I8dc7vKOmtw0DflpdGDvkxWlurddzuBL6J61VWqmzY1zbYbU0mJ\n0xXzwAPOf+CwMOdtDgpSHT5c9Ze/VH3nnXqFaJPYv1911iyn3rZtVR991PkUUkcej0ePHPlS09Ov\n0k8/DfGevD1HMzKe1BMn9jdC4aZZ83hUP/tMdepU5/9WSIjqjBmqK1eeWuazz1THj3f+Xjp2dAYg\n1GGwgNss6GuSna16zz1OS1JE9corVTdubNoaGiozU/WFF1SvuEK1XTvnbRVRHTnSOZi9/77qkSNu\nV1k3GzY45wzA+Wj9xhu1j+qpxokT+3XXrt/p8uUDdelSdOlS0TVrzrXQbw2KilRfecVp5IBq+/aq\nv/61MzqvOkuXqp5zjrN8p06qTz5Zr8ZGU7Og90VOjvMfIDraCcnLL3fCpjk6cUL144+dEB88WMu7\nYjp2dIaTzpvXfFvsdfXvf6sOGeK8vjFjVL/6qkGrKyhI11275ujy5amVQv8pC/1AkpPjnIfq2NH5\nv9O/v+qzz/reB+/xOH9jZ5/tPL9LF9Wnn27WgW9BXxcHD6ree++p/rtp01TXr3e3JlXnBOWTT6pO\nmuR0N4HTl33++aqPPKK6bl29W7zNXkmJ84ml7I922jS/fDeioGCj7tz5gC5fPsAb+kG6du15mpHx\nlBYVHfBD4abJbdyo+rOfnToXddFFqkuWON8HqQ+PxxkdduaZzvq6dnUOGEVF/q3bDyzo6yM3V/W+\n+04NN7z0UueLQ00lP1914ULVW25R7dXrVKu9Vy/nvvfec5ZpTQoKVH/721MnbH/5S+d98suqqwv9\npy30m7vSUifML7rI+RuJiHDO8/izC9bjUf3wQ+dTJah27676/PPO8ORmwoK+IQ4dUr3//lOBP3Wq\n6tq1/t+Ox+O0yh95xGmlh4Y624uKclrxTz5Zr2GHAWnfPtUbb3ROqrVrp/rYY377SO3xeDQ/f4Pu\n3Hm/Ll/ev0Loj9eMjGe0qMjl0UnmlMJCp3Xdv7+Wd10+9JDTbdNYPB7noDJqlLPNlBTVv/+9WQS+\nBb0/HDrkjGSJi3N225QpqqtXN2ydublOf/r1158aRw5On/Tddzt9hM24T9B169er/vCHzj7r2dMZ\nJurH7qvqQ/98C303ZWQ459Pat3fe++HDnROuTdmd4vGoLlqkmpZ26v/fCy+oFhc3XQ2VWND70+HD\nTvdB27bO7ps8WXXVKt+eW3Ho4+jRTosUnFbplVc6/1Ga6otKgeSDD06dlB47VvU///H7JpzQX687\nd/5Gv/6632mhn5n5rBYVZft9m6aSFSuc772EhDgDJqZOVf38c3fPTXk8Thdr2aieXr1UX3rJlcC3\noG8MR46o/u53p4YzTpp0+pjcMlUNfQwKcvr65sxxgr+kpOnrDzQlJc5H6A4dnH18xRXOF2MawanQ\nv0+//rpvhdC/wELf34qLVRcsUD3rLOd9jYlxvuzUSO9tvXk8qv/6l+qwYU6dffo4nzKa8G/bgr4x\n5eU5/YJlHyMnTlSdP7/6oY9vvOG3E4imCvn5ziemyEjny2J33ul0uzUSJ/TXVQr9YG/oP2ehX19H\njjhTEnTvruXfpXj8cefvrTnzeFTffvvUkOB+/VRfe61JAt+CvikcPar6v/+rGh+v3xv6uH594A59\nbK4yM1V/+lPnI367dk5I7N7tHGQbqS/XCf1vdMeO/9Gvv+5THvrffHOhZmY+r0VFjXiSMFBs3676\ni18432cB54tLb7/d8j71lpY6n0QGDdLyeaTmzm3U11FT0Nc6TXFT89s0xW7Jz4e1a2H4cIiOdrsa\ns3493HWX86MnFYWFOe9PTMypfyter+3fyvdFRp42zbKqUli4nuzsN8nJmc/x49uAYNq1G09i4uUk\nJPyYsLCkpt0XzZWqMyX2E0/AwoUQEuJMW3377TBihNvVNYzHA2+9Bb/9LaSnQ2oqPPAATJsGQf79\nye6apim2oDetw5dfOr90VVDgHIzL/q14vap/i4p8W79ItQcFjY6mOOIkx4IzKJDt5PY7xJEhQlzS\neSQmTiMh4VLCwzs07utvjo4dgwUL4PHHnd9AiI+H//ov+O//hk4B9rsCHg+8+aYT+Js3Oz+x+cAD\nzs9r+inwLeiNqa/i4rofHGpatqAAAE9kKEdGhpM9soBDY6BNz3NITJxGYuKlhId3dvlFNxL1/r7w\nkiXO5bPPnANpaqrTep85E9q0cbvKxlVaCvPnO4G/ZQsMGeIE/o9/3ODAt6A3prk4dgyWLoVFi+D9\n92HvXgAK+7chZ9RxcseAjBxLYvLlJCZeRkREN5cLbqCy11sW7mW/49y/P0yYAJMnw3nn1e+Xylqy\n0lKYOxcefBC2bYNhw2DOHLjkknrvCwt6Y5ojVdi40Qn8RYvQZcsQj4fi9iEcHFVC7hgoPm8E8T2u\nJDHxMtq06el2xbVTdYJr8eLTW+2RkXD++U64T5gAPXq4XWnzUFICr78Ov/sdbN8Ol1/utPjrwYLe\nmJYgNxc++MAJ/SWLkCNH8YQIeUOU3DFw/PxUYtNmkph4GZGRfd2u9pTqWu39+sHEiU6wjxsHERHu\n1tmclZTAq69C+/ZOq74eLOiNaWlKSmDZMnj/fTzv/4ugTVsBONYFcsdA4Xk9iPjBNSR2nk5U1ICm\nra2s1b5kidNyt1Z7s2BBb0xLt3s3LFpE6XtvEfTpF0hRCSWRcDgN8s/pRPDk6cSnXkdU1CCkMfq7\na2q1T5jgtNyt1e4qC3pjAklhIXzyCaXvzodF7xN84AgAR/vD0bPjYdIlxJ13C9Gxw+sf+hVb7UuW\nwKefWqu9mbOgNyZQqcK6dZQsfAPPu28QunYXolDUHvLOisEz4QIiL7mNmE7n1h76x445gV7WJWOt\n9hbFgt6Y1iInh5L3F1D8zouEfbqW4PwSPKFwdFgExReNIWLafxM99DJEvGO2K46QsVZ7i2ZBb0xr\nVFxMyWcfUPT2MwR/8AURu5wvax3rFkLJGb2IWpdH8O4DzrJlrfYJE+Ccc6zV3gLVFPQhTV2MMaaJ\nhIYScuFkQi6cDEDJ1nUce/MxZPEHRHy6hcOpcGgKFJ7TlYgBo4iL609sbCeiwsNoZV9fCnjWojem\nFfJ4TpKfv4ajR78iL8+5FBdnAxAS0pbY2LHExZ1FbOyZxMaOIjg4yuWKTW2sRW+MOU1QUBhxcWOI\nixtD1653oqqcOLGzPPTz8r7i0KElAIiEEB09jNjYs4iLcy7h4QE26ViAsxa9MaZKxcWHOXp0WXnw\n5+evwOM5DkBERMppwR8VNRCRYJcrbt2sRW+MqbPQ0HbEx08kPn4iAB5PMQUFa8uD/8iRj8nOfg2A\n4OBYb3fPmcTFnUVMzGhCQuz3GJoLa9EbY+rF6e7ZRV7eVxw9+h/y8r6isHAjoEAw0dFDy1v8sbFn\nERHRxe2SA5oNrzTGNIni4iMcPfp1+Uneo0eX4/EcAyA8vNtpwR8dPdi6e/zIum6MMU0iNLQt8fEX\nEx9/MVDW3bOuPPiPHPmM7Oy5AAQHx3jn5qkcQ5UHd35/sOf3v+Vbt9uVnx8SEk9MzAhiYkYSEzOc\nkJDYql9gC2UtemNMk3G6e74rD/5jx7bgdPWUL/G95Sutoaq11njbl3UUFWVSVPRd+e02bfoRE5NG\nTEwasbEjiY4e1uyHmFqL3hjTLIgIbdqk0KZNCsnJM9wu5zQnTx4kP39V+eXIkU/LTzZDEFFRqeXh\nHxOTRlTUUIKDW8Y3iC3ojTEGCAtLOK3bCaCoaD/5+avJz19Jfv4qcnMXceDAPwHn+wVRUYMrhf8g\ngoLCXHoF1bOgN8aYaoSHdyQ8fBIJCZMApxuoqCjD2+p3wj8nZwH79/8NAJFwoqOHnhb+kZEDCApy\nN2ot6I0xxkciQkREVyIiupKYOBU4Ncz0VLfPSrKyXmHfvqcBCAqKJDr6jErh3/fUDKJNUbedjDXG\nGP9S9XD8+LbT+vzz89eUDzUNDo4hOno4sbEjy8M/IqJng34dzE7GGmNMExIJIjKyH5GR/cpPOquW\nUli4+bTwz8j4K6pFAISEtKNDh+vp3fv//F6PBb0xxjQBkWCiowcRHT2Ijh2vA5zvGRQWppf390dE\ndGuUbVvQG2OMS4KCQomJGUZMzDDgZ423HV8WEpGLRWSLiGwXkdlVPB4uIm94H18uIine+38gIqtF\nZIP33/P9W74xxpja1Br04kxG8RQwAUgFrhKR1EqL3QAcVtXewOPAH733HwQmq+pg4FrgFX8Vbowx\nxje+tOhHAdtVdaeqngTmAVMqLTMFeMl7fQFwgYiIqq5V1X3e+9OBNiIS7o/CjTHG+MaXoO8M7K1w\nO8N7X5XLqGoJkAfEV1rmMmCNlp1irkBEZonIKhFZlZOT42vtxhhjfNAkI/ZFZCBOd85NVT2uqs+r\napqqpiUmJjZFScYY02r4EvSZQNcKt7t476tyGXHmHI0Dcr23uwDvAD9R1R0NLdgYY0zd+BL0K4E+\nItJDRMKA6cDCSsssxDnZCjAN+ERVVUTaAouA2ar6lb+KNsYY47tag97b534r8CGwGZivquki8qCI\nXOJd7B9AvIhsB+4AyoZg3gr0Bu4XkW+8lyS/vwpjjDHVanZz3YhIDvBdrQs2bwk4Q0uNw/bH6Wx/\nnGL74nQN2R/dVbXKk5zNLugDgYisqm5yodbI9sfpbH+cYvvidI21P5punkxjjDGusKA3xpgAZ0Hf\nOJ53u4BmxvbH6Wx/nGL74nSNsj+sj94YYwKcteiNMSbAWdAbY0yAs6D3IxHpKiJLRWSTiKSLyG1u\n1+Q2EQkWkbUi8r7btbhNRNqKyAIR+VZENovIWLdrcpOI/NL7d7JRROaKSITbNTUlEXlBRLJFZGOF\n+9qLyEciss37bzt/bMuC3r9KgDtVNRUYA9xSxdz9rc1tON+oNvBn4ANV7Q8MpRXvFxHpDPwCSFPV\nQUAwzvQqrck/gYsr3Tcb+FhV+wAfc2qWgQaxoPcjVd2vqmu81/Nx/pArT+ncangntPsR8He3a3Gb\niMQB5+BMF4KqnlTVI+5W5boQnN+oCAEigX21LB9QVPVz4FCluyv+tsdLwI/9sS0L+kbi/TnFM4Dl\n7lbiqieAXwEetwtpBnoAOcCL3q6sv4tIlNtFuUVVM4FHgT3AfiBPVf/tblXNQrKq7vdePwAk+2Ol\nFvSNQESigbeA21X1qNv1uEFEJgHZqrra7VqaiRBgOPCMqp4BFOKnj+UtkbfveQrOAbATECUiM92t\nqnlRZ+y7X8a/W9D7mYiE4oT8a6r6ttv1uOgs4BIR2Y3z85Pni8ir7pbkqgwgQ1XLPuEtwAn+1upC\nYJeq5qhqMfA2cKbLNTUHWSLSEcD7b7Y/VmpB70ciIjh9sJtV9TG363GTqv5aVbuoagrOSbZPVLXV\ntthU9QCwV0T6ee+6ANjkYklu2wOMEZFI79/NBbTik9MVVPxtj2uBd/2xUgt6/zoLuAan9Vo2//5E\nt4syzcbPgddEZD0wDPhfl+txjfeTzQJgDbABJ4ta1XQIIjIXWAb0E5EMEbkBeBj4gYhsw/nU87Bf\ntmVTIBhjTGCzFr0xxgQ4C3pjjAlwFvTGGBPgLOiNMSbAWdAbY0yAs6A3xpgAZ0FvjDEB7v8DONzb\n3DoADL8AAAAASUVORK5CYII=\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "tags": []
- }
- },
- {
- "output_type": "display_data",
- "data": {
- "image/png": "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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "tags": []
- }
- }
- ]
- }
- ]
-}
\ No newline at end of file