diff --git a/your-project/CNN_Models_Weights/Links_to_Datasets.md b/your-project/CNN_Models_Weights/Links_to_Datasets.md new file mode 100644 index 00000000..eaeb210c --- /dev/null +++ b/your-project/CNN_Models_Weights/Links_to_Datasets.md @@ -0,0 +1,3 @@ +## Dataset +* These models and weights are also quite large so I've provided a link to a Google Drive where folder where you can download them. +[GoogleDrive](https://drive.google.com/drive/folders/1e8LTtOGAbw-qvxBggcZUs1M5p9QNZ_U-?usp=sharing) diff --git a/your-project/Dataset/Links_to_Datasets.md b/your-project/Dataset/Links_to_Datasets.md new file mode 100644 index 00000000..94d46f59 --- /dev/null +++ b/your-project/Dataset/Links_to_Datasets.md @@ -0,0 +1,7 @@ +## Dataset +* The filesize of the Kaggle dataset is roughly 1.2GB, thus I can't upload it to GitHub. You can access it here. +* [Kaggle](https://www.kaggle.com/paultimothymooney/chest-xray-pneumonia) - large Kaggle dataset. +* You can find the forked repo for the COVID CT scans here. +* [GitHub](https://github.com/peiriant/covid-chestxray-dataset) - COVID ChestXRAY data, public open dataset of X-Ray and CT images of patients of suspected and positive COVID-19 / pneumonias. +* [GitHub](https://github.com/peiriant/COVID19) - images extracted from various radiology sources. + diff --git a/your-project/Notebooks/.ipynb_checkpoints/01 Image Processing_CNN Model_Pneumonia-checkpoint.ipynb b/your-project/Notebooks/.ipynb_checkpoints/01 Image Processing_CNN Model_Pneumonia-checkpoint.ipynb new file mode 100644 index 00000000..2e4a31c1 --- /dev/null +++ b/your-project/Notebooks/.ipynb_checkpoints/01 Image Processing_CNN Model_Pneumonia-checkpoint.ipynb @@ -0,0 +1,1628 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Final Project: Pneumonia and COVID-19 Detection by Image Classification using Convolutional Neural Networks

\n", + "

Gareth Hughes

\n", + "

Data Analytics March 2020

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This notebook describes the series of steps I took in order to train a convolutional neural network to try to detect the presence of Pneumonia in lungs. This was achieved by looking at computerized tomography (CT) scans of lungs of patients whole have normal lungs and those suffering from pneumonia. In order to better train the model, all images utilised are from an Anterior Posterior (AP) viewpoint. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The use of machine learning to assist doctors and radiologists in determining the presence of pneumonia would be beneficial in reducing mis-diagnosis, reducing work loads and potentially providing a second opinion." + ] + }, + { + "attachments": { + "300px-Chest_radiograph_in_influensa_and_H_influenzae,_posteroanterior,_annotated.jpg": { + "image/jpeg": "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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![300px-Chest_radiograph_in_influensa_and_H_influenzae,_posteroanterior,_annotated.jpg](attachment:300px-Chest_radiograph_in_influensa_and_H_influenzae,_posteroanterior,_annotated.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Pneumonia is characterised as inflammation of the lungs which affects the alveoli. Pneumonia can be caused by viruses (COVID-19), bacteria, medications or autoimmune diseases." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using TensorFlow backend.\n" + ] + } + ], + "source": [ + "# Here I import the libraries that I need to use in the project.\n", + "from IPython.display import Image\n", + "from IPython.core.display import HTML \n", + "from collections import Counter\n", + "\n", + "import cv2\n", + "import pandas as pd\n", + "import random\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt #for plotting things\n", + "import os\n", + "import os.path\n", + "import shutil\n", + "import seaborn as sns\n", + "import joblib\n", + "\n", + "# Keras Libraries utilised for the CNN.\n", + "import keras\n", + "from keras.models import Sequential\n", + "from keras.layers import Conv2D\n", + "from keras.layers import MaxPooling2D\n", + "from keras.layers import Flatten\n", + "from keras.layers import Dense\n", + "from keras.preprocessing.image import ImageDataGenerator, load_img\n", + "from sklearn.metrics import classification_report, confusion_matrix\n", + "from keras.models import model_from_json\n", + "from tensorflow.keras.models import load_model\n", + "from keras.utils import plot_model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This function below is used to reset the CNN model incase I want to retrain it from scratch." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "keras.backend.clear_session()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here are the absolute paths to the training, validation and test images that are available in the dataset. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "train_images = r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\"\n", + "val_images = r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\"\n", + "test_images = r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This function serves to feed in the from the train, validation and test image datasets, label them appropiately as a 0 or a 1 based on their location (either in the Pneumonia or Normal files). Then, it iterates through the images, converts them to grayscale, resizes the image to a smaller 128 x 128 dimension and converts it into an array of numbers. This list of pixels, along with the label (0 or 1), is then appended into the an array. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['PNEUMONIA', 'NORMAL']\n", + "\n", + "def get_training_data(data_dir):\n", + " data = []\n", + " for label in labels:\n", + " path = os.path.join(data_dir, label)\n", + " class_num = labels.index(label)\n", + " print(path)\n", + " for img in os.listdir(path):\n", + " try:\n", + " img_arr = cv2.imread(os.path.join(path, img), \n", + " cv2.IMREAD_GRAYSCALE)\n", + " resized_arr = cv2.resize(img_arr, (128, 128))\n", + " data.append([resized_arr, class_num])\n", + " \n", + " except Exception as e:\n", + " print(e)\n", + " return np.array(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\NORMAL\n" + ] + } + ], + "source": [ + "train = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\")\n", + "val = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\")\n", + "test = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here's the distribution of our images per set." + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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M+J4w/VTrFgxSpQokaafZcuWcezYMerVq0dcXFy6Ng0bNsxSMpgvXz5eeeUVnnjiCb766iu+++47lixZwnfffcfw4cN55513GDlyJB07dgTg22+/xTnH0aNHw248tX//fgBSUlIijuFMoIRUREREREQiEthkJ5wPP/yQTp06UbRoUVq0aEGVKlUoUqQIZsa///1vFixYkKVXs4QbhS1QwEtfjh8/nq1+An0F97N7924AypUrF7Z+RuUnk5CQQIcOHejQoQPgjcQ+88wzDB48mPvvv59WrVpRsmTJ1NHjefPmMW/evAz727dv3ynFkVspIRURERERkYiE2y02oF+/fhQrVoylS5dy/vnnpzn3888/s2DBgtMdXrYUL14cgC1btoQ9n1F5VhUrVoxBgwalrpFduHAh1157LSVKlADgySef5Nlnn82Ra50JtIZURERERESy5dixY/z666/Url07XTJ69OjRXJ+MAtSqVYsCBQqwePFiDh06lO783Llzc/R6gZFm5xzgrVMFmDNnTsR9BHYazsqIcW6jhFRERERERLKlQIECVKhQgf/+979s27YttfzEiRP06dOHNWvWRDG6yBQrVoy2bdvy+++/8/LLL6c599133/HJJ59kqb+BAweyYsWKsOemTZvGt99+S1xcXOqa3MqVK3PzzTcza9YsXnnlFU6cOJGu3cqVK1m/fn3q98B63HXr1mUpttxEU3ZFRERERCTbevToQa9evbj00ku55ZZbyJcvH9988w1r166lZcuWfPnll9EO8aQGDx7M3Llzeeqpp5g9ezaXXXYZGzZsYNy4cdx4441MmDCBfPkiG9N755136Nu3LzVr1uTyyy/nnHPOYe/evfzwww/Mnj0bgCFDhqTZmfjtt99mzZo19OzZkxEjRtCgQQNKly7Npk2b+O9//8uSJUuYPHly6uZO//M//0NCQgIjR47k+PHjVKhQATOjS5cuJCYm5vwDOg2UkIqIiIiISLY99thjFC1alKFDh/Luu+9SpEgRmjZtyrhx43j77bfPiIS0YsWKfPvtt/Tp04evvvqKuXPnUr16dd577z0OHjzIhAkTUteansyYMWOYOnUqM2fOZPr06WzevBkz49xzz+Wuu+7iwQcfTLdjcUJCAgsWLOCNN97g448/Zty4cRw5coRy5cpx0UUXMWTIkDTvQ42NjWXChAk88cQTfPTRR+zduxeA66+//oxJSC0wZ1lOn6SkJJecnBztMNLRa1/OLHrti4iISM5ISUnhkksuiXYYcoZ55JFHeP3115k7dy5XXXVVtMPJNSL992Rmi51z6d7BozWkIiIiIiIivk1hRgEWLVrEP//5T8qXL88VV1wRhajOXpqyKyIiIiIi4rvkkkuoW7cuNWrUIC4ujhUrVqRONx42bFjqu1AlZ+hpioiIiIiI+B544AGmTp3K6NGj2bdvH/Hx8bRu3ZrHH3+cBg0aRDu8s44SUhEREREREd/AgQMZOHBgtMPIM7SGVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiORay5Ytw8zo3r17tEOR06BAtAMQEREREclVypePdgSZ27QpW83NLEv1R44cSefOnbN1zczs27ePYsWK0apVK6ZMmXLarnM6zJs3j9dff5358+ezZcsWChUqRJkyZahZsyaNGjWie/fuxMbGnnL/7du357PPPmPr1q2ULl06ByPPPZSQioiIiIjkIU8//XS6sldffZXdu3fzyCOPULJkyTTnateu/WeFFla1atVISUkhPj4+qnGEeuutt+jWrRtmRosWLWjfvj0Aa9asYeHChUycOJGOHTtyzjnnRDnS3E0JqYiIiIhIHtK/f/90ZaNGjWL37t08+uijVK5c+U+PKTMxMTFcfPHF0Q4jjV27dvHoo48SExPDjBkzaNCgQZrzzjlmz55NsWLFohThmUNrSEVEREREJCJbt26lV69eXHTRRcTFxREfH891113HrFmz0tU9ePAggwYNonbt2pQsWZIiRYpQpUoVbrnlFmbPng3A0KFDU5O2L774AjNL/QwaNAjIeA1p+/btMTO2bt3Ka6+9RvXq1YmLiyMxMZHu3buzf//+sPcwceJErrzySgoXLkxCQgLt27dn9erVqf1t27btpM9hyZIlHDp0iKSkpHTJKHjTops0aUKRIkXSnfvxxx/p2LEjFSpUICYmhsTERO6++25Wr16dWmffvn2YGZ999hkAZcqUSX0uNWvWPGl8ZxKNkIqIiIiIyEmtXLmSZs2asXHjRq6++mpatWrFnj17mDRpEs2bN+eDDz6gQ4cOqfVvu+02Jk+eTJ06dejcuTOxsbFs3LiR2bNnM2PGDBo3bszll19Onz59GDhwIBdeeGGa9uESvXAefPBBpk+fTqtWrbj++uuZNm0aw4YN49dff2Xy5Mlp6r777rt06dKFokWLcscdd1C2bFm++eYb6tevT9WqVSN+FgkJCQCsW7eOQ4cOERcXF1G78ePHc8cdd+Cco02bNlSpUoVff/2VMWPGMGXKFObMmUP16tWJiYnh6aefZty4caSkpNC7d28KFy4MQNmyZSOO80yghFRERERERE6qY8eObN68mYkTJ9KmTZvU8u3bt3PVVVfxt7/9jRtuuIGSJUvy22+/MXnyZBo3bsysWbPSbKTknGPHjh0AXH755VSvXp2BAwdSrVq1sNOJT+b7779n2bJlJCYmAnDkyBEaNGjAlClTWL58OdWrVwdg27ZtPPTQQxQuXJhFixalmQbcvXt3hg0bFvE1a9SoQc2aNVm2bBmNGjWiS5cu1K9fn+rVq1OwYMGwbTZv3sxdd91FfHw8c+bMSZMAL168mKuuuor777+fOXPmEBMTQ//+/Vm2bBkpKSk8/vjjZ+2mRpqyKyIiIiIimZo3bx7JycncddddaZJR8EYLn3zySfbu3cukSZPSnIuNjU23q6+ZpY4w5oRnn302NRkFb83p3XffDcDChQtTyz/99FMOHDhAly5d0q1JffbZZ1NHICNRoEABxo8fT4MGDUhOTqZbt27Url2bokWL0qBBA1555ZV0U4bfeecd9u/fz4svvphuNLZevXrcddddzJ07l3Xr1kUcx9lAI6QiIiIiIpKpBQsWAN4a0nCjmBs3bgQgJSUFgMTERK6++mqmTZtGUlISN998M40aNeLyyy+PeHprpJKSktKVnXfeeQDs3LkztWzp0qUANGzYMF39UqVKUb16dZKTkyO+btWqVZk3bx4//vgjX3/9NYsXL+a7775jwYIFLFiwgDfffJNvvvmG8v5rhALPcNGiRaxZsyZdf2vXrgW8Z1ixYsWI4zjTKSEVEREREZFMbd++HfA2Hvriiy8yrLdv377U/540aRIvvPACH3/8Mf369QOgcOHC3H777bz88suUKlUqR2ILfU0NeCOYAMePH08t2717NwDlypUL209G5SdTq1YtatWqlfr9xx9/pHPnzixZsoTHH3+cDz/8EPjjGZ5sanDwM8wLNGVXREREREQyVaJECcCbduqcy/AzZMiQ1DZFixblhRdeYNWqVaxdu5b33nuPpKQk3n33XTp27Pin30Px4sUB2LJlS9jzGZVnVa1atXj33XcBmDFjRmp54BmuWrUq02fYrl27HInjTKGEVEREREREMnXllVcCMGfOnFNqX6lSJTp16sT06dOpUKEC//73vzl48CAA+fPnB9KOZp4OderUAWDu3Lnpzu3YsYPly5fn2LUCr7JxzqWWncoz/LOeTTQpIRURERERkUw1adKEunXr8uGHHzJmzJiwdZYuXZq6ZnPTpk0sWbIkXZ29e/eyf/9+YmJiUpOtQsr0vhIAACAASURBVIUKUahQodO+mU/79u0pXLgw77zzDitWrEhz7qmnnuLAgQMR95WSksKbb77J3r170507ceIEL7zwAgCNGzdOLe/atStFihShb9++/Oc//0nX7tixY+ne5xr8epmzldaQioiIiIhIpsyMTz75hObNm9OhQwcGDx7MZZddRvHixVm/fj1Lly7lp59+4scffyQ+Pp7Vq1fTqFEjatWqRe3atalQoQK7du1i8uTJ7Nq1i759+xITE5Paf/PmzZkyZQrt2rWjVq1aFChQgGuuuSZ1VDEnlClThldffZWuXbuSlJTEbbfdRpkyZZg9eza//PIL9evXZ8GCBeTLd/Ixu+3bt/PAAw/w2GOPcdVVV1GjRg2KFi3Kli1bmDZtGuvWraNChQq8+OKLqW3Kly/P2LFjue2226hbty4tWrTgkksuwTnH+vXrmTdvHseOHWPbtm1pnsubb75Jp06daNu2LUWKFKFs2bJ07do1x55LtCkhFRERERGRkzr//PNZunQpr732GuPHj+f999/HOUdiYiI1atSgd+/eqa8zufjii3nqqaeYNWsWX3/9Ndu3bychIYFLLrmEV199lfbt26fpe/jw4Tz66KPMmjWLCRMmcOLECeLi4nI0IQW47777KF26NAMHDmT06NEUKlSIZs2a8cEHH/DXv/4V+GOtaWbq1avHJ598wr///W8WLlzImDFj2LFjB0WLFqVatWrcc889PPzww+k2bmrdujXff/89gwcPZtq0acyaNYu4uDgSExNp2bJluufSrl07nn/+eUaNGsUrr7zCkSNHqFGjxlmVkFrwvGY5PZKSklxWtpD+s/g7UMsZYtOmaEcgIiJydkhJSeGSSy6JdhiSixw5coRz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kAZeP5OV55JTNGVXRERERCQPu/baa6lSpUpq0tO9e3diYmLS1cufPz/du3dn0KBB1KpVizZt2nD48GFmzJjB7t27adKkSdjRzUg1btyYbt268eabb1KjRg3at2+f+h7SMmXKULZs2XRtevToQffu3alduzbt2rWjQIECzJkzh5UrV9K6dWumTJmSrk3z5s359NNPuemmm6hTpw4FChSgadOmNGzYMMPY3nrrLRo2bEiPHj348ssvqVevXup7SAsUKMCoUaMoUqTIKd97Zr744gseeOABqlSpQoMGDTjvvPM4fPgwK1eu5KuvvuLYsWM89thjaUZon3nmGX744QeGDRvGxIkTadasGeXLl2fLli38/PPPzJ8/n7///e+pG1mVKFGCpKQkZs6cyZ133km1atXIly8fbdu2zdZ7ZSOhhFREREREJA8zM7p06UK/fv2AP0ZMwxk4cCBly5bl3Xff5a233qJkyZK0aNGC559/nj59+mQ7lqFDh3LRRRcxfPhwhg8fTunSpbnlllt4/vnnqV69err6Dz74IIUKFeK1115j5MiRFC5cmMaNG/PBBx8wZsyYsAnpkCFDKFCgANOnT2fKlCmcOHGCAQMGZJqQXnjhhSxevJjnnnuOqVOnMnPmTIoXL06rVq3o27dv2N10c8qgQYNo2rQp06dP59tvv2X8+PEcO3Ysdbp1ly5duOGGG9K0KViwIJMmTeKDDz7gvffeY/Lkyezbt48yZcpw/vnn89xzz3H77benaTN69Ggee+wxpk6dykcffYRzjsqVK5/2hNQCc43l9ElKSnLJycnRDiOdbOx+LVGQzVdoiYiIiC/4FScikj2R/nsys8XOuXSZu9aQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREJM9xzkU7BJEzXk78O1JCKiIiIiJ5Sv78+Tl69Gi0wxA54x09epT8+fNnqw8lpCIiIiKSpxQrVow9e/ZEOwyRM96ePXsoVqxYtvpQQioiIiIieUqpUqXYuXMn27Zt48iRI5q+K5IFzjmOHDnCtm3b2LlzJ6VKlcpWfwVyKC4RERERkTNCbGwsFStWZMeOHaxdu5bjx49HOySRM0r+/PkpVqwYFStWJDY2Nlt9KSEVERERkTwnNjaWxMREEhMTox2KSJ6mKbsiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIREWuSEjN7O9mNt3M1pvZQTPbYWZLzexpM0vIoE0DM5vq1z1gZj+Y2aNmlj+T67Q2s1lmttvM9pnZd2Z290liu9vMFvr1d/vtW2f3nkVERERERPK6XJGQAj2AIsA04DVgNHAM6A/8YGbnBVc2s5uA2UBjYDwwDIgB/gGMDXcBM+sOTAZqAh8CbwPlgVFmNiiDNoOAUUCiX/9DoBYw2e9PRERERERETpE556IdA2YW55w7FKb8eaAv8KZz7gG/rDjwC1ACuMo5lxzoA5gB1AfucM6NDeqnMvATsB+o55xb65fHA4uAC4AGzrkFQW0aAPOAVcBlzrmdQX0txkugLw70lZmkpCSXnJwc6eP405QvH+0IJCs2bYp2BCIiIiIip8bMFjvnkkLLc8UIabhk1DfOP14YVNYeKAOMDSSjQX308792C+nnr0AsMDQ4gfSTzBf8r38LaRP4/nwgGfXbrMUbkY0F7snwpkRERERERCRTuSIhzcSN/vGHoLJm/vFfYerPBg4ADcwsNsI2X4bUyU4bERERERERiVCBaAcQzMx6AUXxpuMmAQ3xktEXg6pd5B9XhrZ3zh0zszVADeB8ICWCNr+Z2X7gXDMr7Jw7YGZFgArAPufcb2FC/dk/VsvK/YmIiIiIiMgfclVCCvQCygV9/xfQ2Tm3NaishH/cnUEfgfKSWWxTxK934BSvISIiIiIiIlmQq6bsOufOcc4ZcA5wC94o51Izq5uFbizQ3Wluk2l9M+tqZslmlrx169aMqomIiIiIiORZuSohDXDObXHOjQeuBRKA94NOB0YnS6Rr6CkeUi8rbfZEWP9kI6g45/7pnEtyziWVKVMmo2oiIiIiIiJ5Vq5MSAOcc78Cy4EaZlbaL17hH9Ot3zSzAkAVvHeYrg46lVmbRLzpuhuccwf86+4HNgJF/fOhArv+pluTKiIiIiIiIpHJ1QmpL/C2zOP+cYZ/vD5M3cZAYWC+c+5wUHlmbVqG1MlOGxEREREREYlQ1BNSM7vYzM4JU57PzJ4HyuIlmIF3gX4KbANuN7OkoPpxwHP+1zdDuhsJHAa6m1nloDbxQF//6/CQNoHvT/j1Am0qAw/6/Y2M6CZFREREREQkndywy+71wMtmNhtYBWzH22m3Cd6mRpuB+wKVnXN7zOw+vMR0lpmNBXYAbfBe7/Ip8HHwBZxza8ysN/A6kGxmHwNHgPbAucBg59yCkDbzzewV4DHgBzP7FIgBbgNKAQ8559bm5IMQERERERHJS3JDQvo18E/gKuB/8F6lsh9vfeYHwOvOuR3BDZxzE8ysCfAE0A6IA37BSx5fd86l2/3WOTfEzNbivVqmE97o8HKgn3PuvXCBOed6mtkPQHegK3ACWAK87Jybks37FhERERERydMsTO4mOSwpKcklJydHO4x0ypc/eR3JPTZtinYEIiIiIiKnxswWO+eSQsujvoZURERERERE8iYlpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoKJDdDszsYqAlcAAY65zbne2oRERERERE5KwX8QipmT1lZr+ZWamgsmuApcAg4A1giZkl5HyYIiIiIiIicrbJypTdlsBPzrkdQWUDAQc8DbwJVAEeybnwRERERERE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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "train_cases = pd.DataFrame(train)\n", + "test_cases = pd.DataFrame(test)\n", + "val_cases = pd.DataFrame(val)\n", + "\n", + "train_cases = train_cases[1].value_counts()\n", + "test_cases = test_cases[1].value_counts()\n", + "val_cases = val_cases[1].value_counts()\n", + "\n", + "labels = ['PNEUMONIA', 'NORMAL']\n", + "\n", + "index = np.arange(len(labels))\n", + "bar_width = 0.25\n", + "opacity = 0.9\n", + "\n", + "fig, ax = plt.subplots(figsize = (15, 10))\n", + "\n", + "train_bar = ax.bar(index - bar_width, train_cases, bar_width,\n", + " alpha=opacity, color='b',\n", + " label='Training Set')\n", + "\n", + "test_bar = ax.bar(index, test_cases, bar_width,\n", + " alpha=opacity, color='r', tick_label = ('Pneumonia', 'Normal'),\n", + " label='Testing Set')\n", + "\n", + "val_bar = ax.bar(index + bar_width, val_cases, bar_width,\n", + " alpha=opacity, color='g', tick_label = ('Pneumonia', 'Normal'),\n", + " label='Validation Set')\n", + "\n", + "\n", + "plt.xlabel('Class', fontsize = 20)\n", + "plt.ylabel('Number of Images', fontsize = 20)\n", + "plt.yticks(fontsize = 20)\n", + "plt.title('Total Images per set', fontsize = 20)\n", + "plt.xticks(index + 0.3 * bar_width, fontsize = 20)\n", + "plt.legend(fontsize = 20)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "def percentage(image_set):\n", + " for l, i in zip(labels, list(image_set)):\n", + " num = (int(i) / sum(list(image_set)))\n", + " print(l,' images make up ',round(num * 100),'% of the set')" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 74 % of the set\n", + "NORMAL images make up 26 % of the set\n" + ] + } + ], + "source": [ + "percentage(train_cases)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 62 % of the set\n", + "NORMAL images make up 38 % of the set\n" + ] + } + ], + "source": [ + "percentage(test_cases)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 50 % of the set\n", + "NORMAL images make up 50 % of the set\n" + ] + } + ], + "source": [ + "percentage(val_cases)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### As you can see, the dataset provided is quite unbalanced, in order to combat this problem I will use the ImageDataGenerator model which I will describe later." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Below, you can see that the images are stored within the training dataset and with the appropiate label." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'NORMAL')" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "f, ax = plt.subplots(1, 2, figsize = (15,15))\n", + "ax[0].imshow(train[1][0], cmap = 'gray')\n", + "ax[0].set_title(labels[train[1][1]])\n", + "ax[1].imshow(train[5000][0], cmap = 'gray')\n", + "ax[1].set_title(labels[train[5000][1]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Preparing the image data for implementation into our CNN.\n", + "\n", + "#### Here, I extract the feature (the numpy array per image), and the label (the class of the image), and append the data into x and y sets. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = []\n", + "y_train = []\n", + "\n", + "x_val = []\n", + "y_val = []\n", + "\n", + "x_test = []\n", + "y_test = []\n", + "\n", + "for feature, label in train:\n", + " x_train.append(feature)\n", + " y_train.append(label)\n", + "\n", + "for feature, label in test:\n", + " x_test.append(feature)\n", + " y_test.append(label)\n", + " \n", + "for feature, label in val:\n", + " x_val.append(feature)\n", + " y_val.append(label)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[19, 27, 30, ..., 16, 9, 2],\n", + " [24, 26, 34, ..., 17, 11, 4],\n", + " [22, 30, 39, ..., 19, 11, 4],\n", + " ...,\n", + " [10, 8, 7, ..., 15, 15, 15],\n", + " [10, 8, 7, ..., 15, 15, 15],\n", + " [10, 10, 7, ..., 15, 15, 15]], dtype=uint8)" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5216" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(x_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reducing the Colour Data Down to Grayscale (0 - 1) instead of (0 - 255)\n", + "\n", + "#### This significantly reduces the amount of information that the neural network needs to process, thereby reducing the amount of data that's needed to be allocated to memory and reducing the computation time." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = np.array(x_train) / 255\n", + "x_val = np.array(x_val) / 255\n", + "x_test = np.array(x_test) / 255" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5216, 128, 128)" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here I reshape the data into a 4D array. This is because the image is composed of height, width, number of channels and the number of images. This helps feed the image information into the CNN in the form of a long array of pixel values." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "img_size = 128" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = x_train.reshape(-1, img_size, img_size, 1)\n", + "y_train = np.array(y_train)\n", + "\n", + "x_val = x_val.reshape(-1, img_size, img_size, 1)\n", + "y_val = np.array(y_val)\n", + "\n", + "x_test = x_test.reshape(-1, img_size, img_size, 1)\n", + "y_test = np.array(y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(5216, 128, 128, 1)\n" + ] + } + ], + "source": [ + "print(x_train.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### ImageDataGenerator\n", + "\n", + "#### This parameter can be used to generate more data from our dataset by feeding in images and manipulating them by flipping their horizontal axis or rotating them. This serves as a way to artificially increase the size of our dataset. This is applied to both the Training Data and Validation Data." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "datagen = ImageDataGenerator(horizontal_flip = True,\n", + " rotation_range = 5,\n", + " zoom_range = 0.1,\n", + " width_shift_range = 0.2,\n", + " height_shift_range = 0.2,)" + ] + }, + { + "attachments": { + "example.jpg": { + "image/jpeg": "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MDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNS0yM1QwOToxMzozNCswMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDUtMjNUMDk6MTQ6NDcrMDI6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjEiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJEb3QgR2FpbiAyMCUiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyYjE0ZDAyNi1mMDcyLTgyNDgtOGE5NC1kNWNmODEzYjE2Y2QiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowN2ExOWE4Zi05Y2M1LTExZWEtYTk4Zi1hMTczYTg4NWYxOWYiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTNjNTVhNC04NzFkLTVmNDYtYTk4Zi1kYTViMzg4YjZmYzUiPiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT4wMjQ3NkE3MEY1MEMyQzU4QTM2RERCNDUxMDNGRThEMDwvcmRmOmxpPiA8cmRmOmxpPjNBREZENTdGRjhBREM1RkNCRUVENTEzNDY0NzJFMzFFPC9yZGY6bGk+IDxyZGY6bGk+NEEzQUI5QUNFN0ZCOTAyMUNDMUVFMDI2RkVBMEZBQjE8L3JkZjpsaT4gPHJkZjpsaT5CNTMyNDNENDUyQUEyQTVCNjEzRjQyN0ZEQzVGREYxMDwvcmRmOmxpPiA8cmRmOmxpPkQ4MUM4MDgxQjQxRjc5NjY0RTFGMjk1NEJBRURGOUFEPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjUzYzU1YTQtODcxZC01ZjQ2LWE5OGYtZGE1YjM4OGI2ZmM1IiBzdEV2dDp3aGVuPSIyMDIwLTA1LTIzVDA5OjEzOjM0KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjRkYjgwYTg4LTAwNzMtOTM0Ny04ZGUwLTg5ZDliNGFiNGUzOCIgc3RFdnQ6d2hlbj0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJiMTRkMDI2LWYwNzItODI0OC04YTk0LWQ1Y2Y4MTNiMTZjZCIgc3RFdnQ6d2hlbj0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ZGI4MGE4OC0wMDczLTkzNDctOGRlMC04OWQ5YjRhYjRlMzgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkNGNkZDVlNC05Y2M0LTExZWEtOTA3ZC1mOGE5M2FiMGUwYWEiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTNjNTVhNC04NzFkLTVmNDYtYTk4Zi1kYTViMzg4YjZmYzUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iA6BJQ0NfUFJPRklMRQABAQAAA5BBREJFAhAAAHBydHJHUkFZWFlaIAfPAAYAAwAAAAAAAGFjc3BBUFBMAAAAAG5vbmUAAAAAAAAAAAAAAAAAAAABAAD21gABAAAAANMtQURC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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![example.jpg](attachment:example.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## CNN Model" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Image(url = 'https://miro.medium.com/max/2510/1*XbuW8WuRrAY5pC4t-9DZAQ.jpeg')" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "cnn3 = Sequential()\n", + "\n", + "#Convolution - \"Relu\" is the activation function.\n", + "cnn3.add(Conv2D(32, (3, 3), activation=\"relu\", input_shape=(128, 128, 1)))\n", + "\n", + "#Pooling - This reduces the spatial dimensions of the output volume.\n", + "cnn3.add(MaxPooling2D(pool_size = (2, 2)))\n", + "\n", + "# 2nd Convolution - This increases the number of filters to improve filtering\n", + "cnn3.add(Conv2D(32, (3, 3), activation=\"relu\"))\n", + "\n", + "# 2nd Pooling layer - this reduces the spaital dimensions again.\n", + "cnn3.add(MaxPooling2D(pool_size = (2, 2)))\n", + "\n", + "# Flatten the layer - converts the pooled layer into a 1D vector. \n", + "cnn3.add(Flatten())\n", + "\n", + "# Density\n", + "cnn3.add(Dense(activation = 'relu', units = 2048, kernel_initializer = 'uniform'))\n", + "cnn3.add(Dense(activation = 'relu', units = 1024, kernel_initializer = 'uniform'))\n", + "cnn3.add(Dense(activation = 'relu', units = 512, kernel_initializer = 'uniform'))\n", + "cnn3.add(Dense(activation = 'relu', units = 265, kernel_initializer = 'uniform'))\n", + "cnn3.add(Dense(activation = 'sigmoid', units = 1, kernel_initializer = 'uniform'))\n", + "\n", + "# Compile \n", + "cnn3.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential_1\"\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "conv2d_1 (Conv2D) (None, 126, 126, 32) 320 \n", + "_________________________________________________________________\n", + "max_pooling2d_1 (MaxPooling2 (None, 63, 63, 32) 0 \n", + "_________________________________________________________________\n", + "conv2d_2 (Conv2D) (None, 61, 61, 32) 9248 \n", + "_________________________________________________________________\n", + "max_pooling2d_2 (MaxPooling2 (None, 30, 30, 32) 0 \n", + "_________________________________________________________________\n", + "flatten_1 (Flatten) (None, 28800) 0 \n", + "_________________________________________________________________\n", + "dense_1 (Dense) (None, 2048) 58984448 \n", + "_________________________________________________________________\n", + "dense_2 (Dense) (None, 1024) 2098176 \n", + "_________________________________________________________________\n", + "dense_3 (Dense) (None, 512) 524800 \n", + "_________________________________________________________________\n", + "dense_4 (Dense) (None, 265) 135945 \n", + "_________________________________________________________________\n", + "dense_5 (Dense) (None, 1) 266 \n", + "=================================================================\n", + "Total params: 61,753,203\n", + "Trainable params: 61,753,203\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "cnn3.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/15\n", + "105/105 [==============================] - 88s 842ms/step - loss: 0.5521 - accuracy: 0.7368 - val_loss: 0.6071 - val_accuracy: 0.5000\n", + "Epoch 2/15\n", + "105/105 [==============================] - 88s 836ms/step - loss: 0.3909 - accuracy: 0.8221 - val_loss: 2.2868 - val_accuracy: 0.5625\n", + "Epoch 3/15\n", + "105/105 [==============================] - 90s 853ms/step - loss: 0.2886 - accuracy: 0.8744 - val_loss: 0.9091 - val_accuracy: 0.6875\n", + "Epoch 4/15\n", + "105/105 [==============================] - 89s 847ms/step - loss: 0.2616 - accuracy: 0.8938 - val_loss: 1.1763 - val_accuracy: 0.5000\n", + "Epoch 5/15\n", + "105/105 [==============================] - 88s 838ms/step - loss: 0.2541 - accuracy: 0.9013 - val_loss: 0.6829 - val_accuracy: 0.8125\n", + "Epoch 6/15\n", + "105/105 [==============================] - 88s 838ms/step - loss: 0.2237 - accuracy: 0.9103 - val_loss: 0.7662 - val_accuracy: 0.6875\n", + "Epoch 7/15\n", + "105/105 [==============================] - 88s 839ms/step - loss: 0.2155 - accuracy: 0.9124 - val_loss: 0.6787 - val_accuracy: 0.7500\n", + "Epoch 8/15\n", + "105/105 [==============================] - 88s 838ms/step - loss: 0.1938 - accuracy: 0.9220 - val_loss: 1.1244 - val_accuracy: 0.6875\n", + "Epoch 9/15\n", + "105/105 [==============================] - 90s 862ms/step - loss: 0.1865 - accuracy: 0.9266 - val_loss: 0.4439 - val_accuracy: 0.8125\n", + "Epoch 10/15\n", + "105/105 [==============================] - 95s 908ms/step - loss: 0.1826 - accuracy: 0.9273 - val_loss: 0.9803 - val_accuracy: 0.6875\n", + "Epoch 11/15\n", + "105/105 [==============================] - 98s 931ms/step - loss: 0.1833 - accuracy: 0.9266 - val_loss: 1.5606 - val_accuracy: 0.6875\n", + "Epoch 12/15\n", + "105/105 [==============================] - 95s 906ms/step - loss: 0.1632 - accuracy: 0.9400 - val_loss: 0.8265 - val_accuracy: 0.8125\n", + "Epoch 13/15\n", + "105/105 [==============================] - 93s 882ms/step - loss: 0.1606 - accuracy: 0.9410 - val_loss: 1.1956 - val_accuracy: 0.8125\n", + "Epoch 14/15\n", + "105/105 [==============================] - 98s 931ms/step - loss: 0.1653 - accuracy: 0.9337 - val_loss: 0.6372 - val_accuracy: 0.8750\n", + "Epoch 15/15\n", + "105/105 [==============================] - 94s 894ms/step - loss: 0.1631 - accuracy: 0.9325 - val_loss: 0.8590 - val_accuracy: 0.6875\n" + ] + } + ], + "source": [ + "history = cnn3.fit(datagen.flow(x_train, y_train, batch_size = 50), epochs = 15,\n", + " validation_data = datagen.flow(x_val, y_val))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The accuracy of the model is 85% which is good. " + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "624/624 [==============================] - 2s 3ms/step\n", + "Loss of the model is - 43.64368491209088 %\n", + "624/624 [==============================] - 2s 3ms/step\n", + "Accuracy of the model is - 85.41666865348816 %\n" + ] + } + ], + "source": [ + "print(\"Loss of the model is - \" , cnn3.evaluate(x_test,y_test)[0]*100 , \"%\")\n", + "print(\"Accuracy of the model is - \" , cnn3.evaluate(x_test,y_test)[1]*100 , \"%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The training accuracy is higher than the validation accuracy which suggests there may be some over fitting happening. However, I have fine tuned the CNN and this is one of the highest results I obtained for the validation accuracy. With more validation data, I could improve this further." + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training_accuracy 0.9325153\n", + "validation_accuracy 0.6875\n" + ] + } + ], + "source": [ + "print(\"training_accuracy\", cnn3.history.history['accuracy'][-1])\n", + "print(\"validation_accuracy\", cnn3.history.history['val_accuracy'][-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1,\n", + " 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,\n", + " 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,\n", + " 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1,\n", + " 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n", + " 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1,\n", + " 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1,\n", + " 0, 1, 1, 1, 0, 1, 1, 0])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predictions = cnn3.predict_classes(x_test)\n", + "predictions = predictions.reshape(1,-1)[0]\n", + "predictions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Our CNN model was able to predict 533 images correctly, and failed to predict 91 images." + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of correct predictions: 533\n", + "Number of incorrect predictions: 91\n" + ] + } + ], + "source": [ + "correct_class = []\n", + "incorrect_class = []\n", + "correct = []\n", + "incorrect = []\n", + "\n", + "for i, y in (zip(predictions, y_test)):\n", + " \n", + " if i == y:\n", + " correct.append(1)\n", + " correct_class.append(i)\n", + " \n", + " elif i != y:\n", + " incorrect.append(1)\n", + " incorrect_class.append(y)\n", + " \n", + "print('Number of correct predictions:', sum(correct))\n", + "print('Number of incorrect predictions:', sum(incorrect))" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of Pneumonia Cases correctly guessed: 381\n", + "Number of Normal Cases correctly guessed: 152\n", + "Number of Pneumonia Cases incorrectly guessed: 9\n", + "Number of Normal Cases incorrectly guessed: 82\n" + ] + } + ], + "source": [ + "corr = Counter(correct_class)\n", + "incorr = Counter(incorrect_class)\n", + "corr = list(corr.values())\n", + "incorr = list(incorr.values())\n", + "print('Number of Pneumonia Cases correctly guessed:', corr[0])\n", + "print('Number of Normal Cases correctly guessed:', corr[1])\n", + "print('Number of Pneumonia Cases incorrectly guessed:', incorr[0])\n", + "print('Number of Normal Cases incorrectly guessed:', incorr[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below I have visualized the training/validation loss and accuracy over the Epochs. As the number of Epoch's increases, the accuracy improves before plataeuing at around the 4th epoch. Similarly, the training losses decrease at a similar rate.\n", + "\n", + "### The osscilations of the validation loss and validation accuracy are likely due to the size of the validation set. Increasing the number of images in the validation set would likely reduce the size of the ossilations." + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "model = load_model('cnn3_model_attempt5_normalimages_FINAL 20.05.2020.model')\n", + "history = model.load_weights('cnn3_model_attempt5_normalimages_weights_FINAL 20.05.2020.h5')" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkrAEOPgbv8mxO/456jBERESkiZSExZyrVDh6660cu/32qEMRERGRJlISFnPe+DgAlVcORhyJiIiINJOSsJjzRov1/75yKOJIREREpJmUhMWcVxwFoPLKKzjnIo5GREREmkVJWMxVx8YAcOUytYmJiKMRERGRZlESFnPBdiTUV8NERERkdVASFnNecUESdlDF+SIiIquFkrCY84pFUt3d9T9rJUxERGTVUBIWc9VikfbXvx4yGSoHlYSJiIisFkrCYs4rFslsGiC7aZN6hYmIiKwiSsJizisWyfQPkCkU8LQSJiIismooCYux2swMtakpMv39ZPN5nY4UERFZRZSExZhXrPcIy/T3ky3k8V55BVerRRyViIiINIOSsBir+t3yM/19ZPIFXKVC1Z8lKSIiIsmmJCzGgh5haX8lDNAJSRERkVVCSViMBUlYpn+ATN5PwnRCUkREZFXIRB2ALM4rjoEZmY29WCZdf0wrYSIiIquCVsJizCuOkt6wActmSW/ciLW16YSkiIjIKqEkLMbqPcL6ATAzMvk8nrYjRUREVgUlYTFWHS2SGeif/zybz6swX0REZJVQEhZj3tgY6f4FSVhBDVtFRERWCyVhMeWcq29H9r2ahGXyBbzDh3HVaoSRiYiISDMoCYupWqmEm5mZrwmD+koY1Sre6GiEkYmIiEgzKAmLqSDRWlgTNt8r7KCK80VERJJOSVhMVcdenRsZyBYKAHiqCxMREUk8JWExNT+yqO/405Gg0UUiIiKrgZKwmPJG/ZFFC7YjU+vWYZ2dGl0kIiKyCigJiymvWIR0mvSGDfOPmRnZfF6ji0RERFYBJWEx5Y0VyfT1Yanj/4qyefUKExERWQ2UhMVUdbRIur/vNY9nCnltR4qIiKwCSsJiauHcyIWy+QLV4hhubi6CqERERKRZlITFVD0JG3jN49lCHpyjclgNW0VERJJMSVgMuVoNb2zspCthmXzQK0xbkiIiIkmmJCyGqhMT4HlkTlITli2oV5iIiMhqoCQshqp+o9aT14T5SZhWwkRERBJNSVgMzXfLP0kSlurqIrVu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OeH9xpg6w9DJglJ5sLxBbviozmM8eN1ePMaDxRKwAYI2SMAGCAQDDf55p+PWHrfymwt/06ifYYxZZa3NrGubesJERETq4TIu2sW2o11sO/q3619re/Xr0Q6VHKoRLgI2EA4cFcGKOrcFgpXbbcVp7Vd9W0Wwos7PCdogUe4ovK7QtYNR7ihivbFEuaLCd7x63d7w9vC6yn2rv8/j8oTXnbit6r1eV81jRrmj8BjPKe9UtdbWW3/1r/3EdVWvT2yX8D5V+5/YdtXWd2rZqZH+5Hw7CmERbPz48SxfvrzGuokTJzJ27FiHKhIRkepOdT2anJoxBo8JxZGzbToxhbAINn36dKdLEBERkUaiidBEREREHKAQJiIiIuIAhTARERERByiEiYiIiDhAIcwBcXH1T4mxY8cO+vTpcwarERERESc0u7sj9z75JKUbNzXoMaNTe9H+V79q0GOKiIjI2U09YQ1g8uTJvPDCC+HXjz76KI899hgjRoygf//+9O3bl/nz55/2cUtKShg7dix9+/YlIyODxYsXA7B+/XoGDhxIeno6aWlpbN26lWPHjnH11VfTr18/+vTpw+uvv95gX5+IiIg0vGbXE+ZEj9Xo0aN54IEHuO+++wCYO3cu7733HpMmTaJFixYcOHCAwYMHc911153WXGFV44R9+eWXbNq0icsvv5wtW7bw4osvMnHiRG6//XbKysoIBAIsWLCADh068O677wKhicNFREQkcqknrAFkZGSwf/9+du/ezZo1a0hISCApKYlf/epXpKWlcemll7Jr1y727dt3WsddtmwZP/nJTwDo1asX5513Hlu2bOHCCy/kySef5Pe//z07d+7E5/PRt29fPvroIyZPnswnn3xCy5bOTUgqIiIip6YQ1kBGjRrFG2+8weuvv87o0aOZM2cOeXl5rFq1itWrV9OuXTtKSkpO65j1Ta5+22238fbbb+Pz+bjiiitYtGgRPXr0YNWqVfTt25eHHnqIxx9/vCG+LBEREWkkze50pFNGjx7N3XffzYEDB/j444+ZO3cubdu2xev1snjxYnbu3Hnaxxw6dChz5szhhz/8IVu2bOGbb76hZ8+ebN++nS5dujBhwgS2b9/O2rVr6dWrF61bt+aOO+4gLi6OmTNnNvwXKSIiIg1GIayB9O7dm4KCApKTk0lKSuL222/n2muvJTMzk/T0dHr1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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "plt.plot(cnn3.history.history['accuracy'], label = \"train_acc\")\n", + "plt.plot(cnn3.history.history['val_accuracy'], label = \"validation_acc\")\n", + "plt.plot(cnn3.history.history['loss'], label = \"train_loss\")\n", + "plt.plot(cnn3.history.history['val_loss'], label = \"val_loss\")\n", + "plt.title('Training Loss and Accuracy on Dataset')\n", + "plt.ylabel('Loss / Accuracy')\n", + "plt.xlabel('Epoch #')\n", + "plt.legend(loc='lower left')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + "Pneumonia (Class 0) 0.82 0.98 0.89 390\n", + " Normal (Class 1) 0.94 0.65 0.77 234\n", + "\n", + " accuracy 0.85 624\n", + " macro avg 0.88 0.81 0.83 624\n", + " weighted avg 0.87 0.85 0.85 624\n", + "\n" + ] + } + ], + "source": [ + "print(classification_report(y_test, predictions, target_names = ['Pneumonia (Class 0)','Normal (Class 1)']))" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[381, 9],\n", + " [ 82, 152]], dtype=int64)" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm = confusion_matrix(y_test,predictions)\n", + "cm" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "cm_df = pd.DataFrame(cm , index = ['0','1'] , columns = ['0','1'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The confusion matrix below illustrates the distribution of the predictions between Pneumonia and Normal and wherever the results are True Positives etc. As you can see, the the CNN is able to differentiate between Normal and Pneumonia images fairly well. " + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "sns.heatmap(cm_df, linewidth = 5 , annot = True, fmt='d',\n", + " xticklabels = ['Pneumonia', 'Normal'],\n", + " yticklabels = ['Pneumonia', 'Normal'],\n", + " cbar = False, cmap = \"YlGnBu\")" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "cnn3.save('cnn3_model_attempt5_normalimages_FINAL 24.05.2020.model')\n", + "cnn3.save_weights('cnn3_model_attempt5_normalimages_weights_FINAL 24.05.2020.h5')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### I decided to experiment with altering the Test, Train, Validation ratios of the data in order to assess wherever this improves the accuracy of the model." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5216, 2)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(624, 2)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16, 2)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "val.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As I am unable to increase the size of the test imageset, I have chosen to reduce the training dataset. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "11.96319018404908" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "624 / 5216 * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "20.0" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "624 / 3120 * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2096" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "5216 - 3120" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "train = train[2096:]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3120, 2)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 3875\n", + "1 1341\n", + "Name: 1, dtype: int64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_cases" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Kkv6Klu2bJb0k5V69OjBtm3beOKJJxg0aFCakemtW7eyd+/eMEWXfegdUhEREREROS3/e5pHjhyhZ8+eVKxYkYiICLp06QJ401Nff/11GjRoQFxcHBEREZQqVYqWLVuyYsWKNP2l9w7ps88+i5mxbNkyRo8ezbXXXku+fPkoXrw47dq1448//kg3tkBTpkzBzOjfvz9Llizh1ltvpXDhwhQsWJCbb76Z5cuXB73PzZs38+CDD1K8eHHy58/Ptddey2effZaiv1AsWLAAgCeffDLoNOlLL72Ua665Juhzefnll6lWrRr58+cnOjqaevXq8eWXX6ao16pVK+68804Aunfvjpklf5YtWxZSjNmBRkhFRERERCQkp06dolmzZqxZs4Zbb72VYsWKJY9Orly5khdffJGGDRty1113UbhwYTZs2MCkSZOYMmUK06ZNo379+iFf64033mDKlCncdddd3HTTTcyfP59Ro0axatUqli1bRu7cuUPqZ968efTs2ZOGDRvyyCOPsH79eiZMmEDDhg1ZtWpVitHVrVu3Urt2bbZv307jxo257rrr2LZtG+3bt+f222/P1LMqVqwYW7ZsYe3atVSsWDGkNrt27aJhw4asXr2aWrVq8cgjj3D8+HG++eYbWrZsSb9+/fjXv/4FwH333UdERARjxoyhSZMm1KlTJ7mfuOz+InQAJaQiIiIiIhKSI0eOcPDgQVatWpXmXdOaNWuyY8cOYmJiUpSvW7eO66+/nm7durF06dKQrzV9+nR++OEHKlWqBIBzjhYtWjBp0iS+/fZb7rjjjpD6mThxIuPHj6dVq1bJZQMGDODZZ59l6NChvPHGG8nl3bp1Y/v27bz88sv06tUrufyxxx6jbt26IccO0Lp1a3744Qfatm1L586dufnmm6lRo0aa5xOoc+fOrF69miFDhvD4448nlx8+fJjbb7+dnj17cs8991CpUiXuu+8+8ufPz5gxY7jlllsu2EWNNGVXRERERERC1q9fvzTJKEDRokWDJluXX345zZs3Z9myZezZsyfk63Tv3j05GQXvndN//OMfACxZsiTkfm699dYUyShAp06d0vRz8OBBvvzyS0qWLEn37t1T1L/hhhu49957Q74mwHPPPUfXrl05fPgw/fr1o3HjxhQtWpTLL788OfEMtHXrVr788ksaNmyYIhkFyJ8/P6+99hpJSUmMHTs2U3FkdxohzcEuoJF84eyXeBcRERHJCrVq1Ur33MyZMxk8eDBLlizhjz/+4MSJEynOb9++nWLFioV0nfj4+DRll112GQD79u0LOd5g/URHR1O4cOEU/axatYqTJ09y7bXXEhUVlaZN3bp1M5UM5sqVi4EDB/LCCy/w7bffsnjxYlasWMHixYsZNmwYH3zwAR9++CFt27YFYNGiRTjnOHHiRNCFp/78808AEhISQo7hQqCEVEREREREQuJfZCeYUaNG8dBDD1GwYEGaNGlC+fLlKVCgAGbGd999x8KFCzO1NUuwUdg8ebz0JSkp6az68fcV2M+BAwcAKFWqVND66ZWfTrFixWjTpg1t2rQBvJHYl156iQEDBvDoo4/StGlTihQpkjx6PH/+fObPn59uf4cOHTqjOLKrbJGQmlkroAFQHfgbEA2Mds49GKTuSKD9abqc4ZxrHNCmA/BhBvU7O+eGBblWPuBfwP1AWSARmAW86Jy7uP40ISIiIiJyGsFWi/Xr2bMn0dHRrFy5kgoVKqQ49+uvv7Jw4cJzHd5ZKVSoEAA7d+4Mej698syKjo6mf//+ye/ILlmyhFtuuYXChQsD0KtXL15++eUsudaFIFskpEBPvET0ELAVyGhDognAxnTOtQMqAN+kc34i8EOQ8jTrIptZJDANuNF3fhBwGXAv0NTMGjnnFmcQp4iIiIhIjnDy5Ek2bdpE/fr10ySjJ06cyPbJKEC1atXIkycPy5cv5+jRo2mm7c6bNy9Lr+cfaXbOAd57qgBz584NuQ//SsOZGTHObrLLokZdgUpAIaBzRhWdcxOcc31Sf4C3gFjgODAyneZB2zrngm3U8wxeMvo5cL1z7v+cc22AVkB+YISZZZfnJyIiIiISNnny5KF06dL873//Y/fu3cnlp06dokePHmzYsCGM0YUmOjqaFi1a8Mcff/Dmm2+mOLd48WLGjx+fqf769evHmjVrgp6bNm0aixYtIioqKvmd3HLlynH33Xcza9YsBg4cyKlTp9K0W7t2LVu2bEn+3v8+7ubNmzMVW3aSLUZInXMz/V9nNA3gNNoB+YCxzrndp6ucEfOC+Kfv2+ecc8m/Dc65iWY2F6iHN814ZpAuRERERERylK5du/Lss89yzTXXcM8995ArVy5mz57Nxo0buf322/nmm/QmMWYfAwYMYN68efTu3Zs5c+Zw3XXXsXXrVsaNG8edd97JhAkTyJUrtDGpDz74gOeff56qVatSq1YtLrnkEg4ePMhPP/3EnDlzABg8eHCKlYnff/99NmzYQLdu3Rg+fDh16tShePHibN++nf/973+sWLGCyZMnJy/u9Le//Y1ixYrx4YcfkpSUROnSpTEzOnbsSGxsbNY/oHMgWySkWeQR3/E/GdSpbmZPA1HANmCmc25rkHqXA2WAtc65YH/O+QYvIW2EElIREREREZ555hkKFizIkCFDGDFiBAUKFKBhw4aMGzeO999//4JISMuUKcOiRYvo0aMH3377LfPmzaNy5cp89NFHHDlyhAkTJiS/a3o6Y8aMYerUqcycOZPp06ezY8cOzIxLL72Udu3a8fjjj6dZsbhYsWIsXLiQd955h88++4xx48Zx/PhxSpUqxZVXXsngwYNT7IcaGRnJhAkTeOGFF/j00085ePAgALfddtsFk5Caf85ydmFmDfGSvKCLGqXTpjawAC+BvDLI+Q4EX9QoCRgOPO2cOxpQvykwBZjinLszSH+tgPHAOOdc69PFFx8f75YtCzYrOLy07cuFRdu+iIiIZI2EhASuvvrqcIchF5innnqKt99+m3nz5nHjjTeGO5xsI9R/T2a23DmXZg+ei+UdyE6+4/vpnN8APAFcCRQA4oD78BZHehQYkap+Yd/xQDr9+cuDryEtIiIiIiIXpO1BRgGWLl3Kf/7zH+Li4rj++uvDENXF64KfsmtmhfGSy3QXM3LOzQZmBxQdBsab2SLgR+ABM/u3c+7HUC/r7zqDuDrhS5TLlCkTYrciIiIiIhJOV199NTVr1qRKlSpERUWxZs2a5OnGQ4cOTd4LVbLGxTBC+iDeqrdfZnYxI+fcFmCq79v6Aaf8I6CFCa5QqnrB+v6Pcy7eORdfokSJzIQlIiIiIiJh8thjj7F3715Gjx7NoEGDWLx4Mc2aNWPOnDm0aNEi3OFddC6G9N6/mNF7Z9h+l+9YIKDMvz5zpXTaXOE7rj3Da4qIiIiISDbUr18/+vXrF+4wcowLeoTUzK4H/oa3mNGsM+zGPwl8fUDZOmAzUMnMygdpc7vvOOMMrykiIiIiIpLjXdAJKX8tZpTRVi+YWb0gZWZmPYDawG7gv/5zzlt6eJjv2zfMLFdAu7vwtnxZTcr3UkVERERERCQTssWUXTNrAfgnZF/iO9Y2s5G+r3c7555N1aYQ0BpvMaOPTnOJOWa2FliKt/9oYeBGoCreAkdtnXOJqdoMBJoBrYDFZjYdb2/Se31t/u6cO5WZ+xQREREREZG/ZIuEFKgOtE9VVsH3AdgEPJvqfFu89z7HhrCYUX+gFtAIKAqcwpuSOxQY6Jxbn7qBc+6Ymd0M/AtoA3QFEoEJwIvOudWh3ZqIiIiIiIgEky0SUudcH6BPJtu8C7wbYt3umY8KnHNHgBd9HxEREREREclCF/o7pCIiIiIiInKBUkIqIiIiIiIiYaGEVERERERERMJCCamIiIiIiIiEhRJSERERERHJtlatWoWZ0aVLl3CHIudAtlhlV0REREQk24iLC3cEGdu+/ayam1mm6n/44Yd06NDhrK6ZkUOHDhEdHU3Tpk2ZMmXKObvOuTB//nzefvttFixYwM6dO8mXLx8lSpSgatWq1KtXjy5duhAZGXnG/bdq1YovvviCXbt2Ubx48SyMPPtQQioiIiIikoO8+GLaHQ3feustDhw4wFNPPUWRIkVSnKtevfr5Ci2oSpUqkZCQQExMTFjjSO29996jc+fOmBlNmjShVatWAGzYsIElS5YwceJE2rZtyyWXXBLmSLM3JaQiIiIiIjlInz590pSNHDmSAwcO8PTTT1OuXLnzHlNGIiIiuOqqq8IdRgr79+/n6aefJiIighkzZlCnTp0U551zzJkzh+jo6DBFeOHQO6QiIiIiIhKSXbt28eyzz3LllVcSFRVFTEwMt956K7NmzUpT98iRI/Tv35/q1atTpEgRChQoQPny5bnnnnuYM2cOAEOGDElO2r7++mvMLPnTv39/IP13SFu1aoWZsWvXLgYNGkTlypWJiooiNjaWLl268Oeffwa9h4kTJ3LDDTeQP39+ihUrRqtWrVi/fn1yf7t37z7tc1ixYgVHjx4lPj4+TTIK3rToBg0aUKBAgTTnfv75Z9q2bUvp0qWJiIggNjaW9u3bs379+uQ6hw4dwsz44osvAChRokTyc6latepp47uQaIRUREREREROa+3atTRq1Iht27Zx00030bRpUxITE5k0aRKNGzfmk08+oU2bNsn1W7duzeTJk6lRowYdOnQgMjKSbdu2MWfOHGbMmEH9+vWpVasWPXr0oF+/flxxxRUp2gdL9IJ5/PHHmT59Ok2bNuW2225j2rRpDB06lE2bNjF58uQUdUeMGEHHjh0pWLAgDzzwACVLlmT27NnUrl2bihUrhvwsihUrBsDmzZs5evQoUVFRIbX76quveOCBB3DO0bx5c8qXL8+mTZsYM2YMU6ZMYe7cuVSuXJmIiAhefPFFxo0bR0JCAt27dyd//vwAlCxZMuQ4LwRKSEVERERE5LTatm3Ljh07mDhxIs2bN08u37NnDzfeeCP//Oc/ueOOOyhSpAi///47kydPpn79+syaNSvFQkrOOfbu3QtArVq1qFy5Mv369aNSpUpBpxOfzg8//MCqVauIjY0F4Pjx49SpU4cpU6awevVqKleuDMDu3bt54oknyJ8/P0uXLk0xDbhLly4MHTo05GtWqVKFqlWrsmrVKurVq0fHjh2pXbs2lStXJm/evEHb7Nixg3bt2hETE8PcuXNTJMDLly/nxhtv5NFHH2Xu3LlERETQp08fVq1aRUJCAs8999xFu6iRpuyKiIiIiEiG5s+fz7Jly2jXrl2KZBS80cJevXpx8OBBJk2alOJcZGRkmlV9zSx5hDErvPzyy8nJKHjvnLZv3x6AJUuWJJd//vnnHD58mI4dO6Z5J/Xll19OHoEMRZ48efjqq6+oU6cOy5Yto3PnzlSvXp2CBQtSp04dBg4cmGbK8AcffMCff/7J66+/nmY09tprr6Vdu3bMmzePzZs3hxzHxUAjpCIiIiIikqGFCxcC3jukwUYxt23bBkBCQgIAsbGx3HTTTUybNo34+Hjuvvtu6tWrR61atUKe3hqq+Pj4NGWXXXYZAPv27UsuW7lyJQB169ZNU79o0aJUrlyZZcuWhXzdihUrMn/+fH7++We+//57li9fzuLFi1m4cCELFy7k3XffZfbs2cT5thHyP8OlS5eyYcOGNP1t3LgR8J5hmTJlQo7jQqeEVEREREREMrRnzx7AW3jo66+/TrfeoUOHkr+eNGkSr732Gp999hk9e/YEIH/+/Nx///28+eabFC1aNEtiS71NDXgjmABJSUnJZQcOHACgVKlSQftJr/x0qlWrRrVq1ZK///nnn+nQoQMrVqzgueeeY9SoUcBfz/B0U4MDn2FOoCm7IiIiIiKSocKFCwPetFPnXLqfwYMHJ7cpWLAgr732GuvWrWPjxo189NFHxMfHM2LECNq2bXve76FQoUIA7Ny5M+j59Mozq1q1aowYMQKAGTNmJJf7n+G6desyfIYtW7bMkjguFEpIRUREREQkQzfccAMAc+fOPaP2ZcuW5aGHHmL69OmULl2a7777jiNHjgCQO3duIOVo5rlQo0YNAObNm5fm3N69e1m9enWWXcu/lY1zLrnsTJ7h+Xo24aSEVEREREREMtSgQQNq1qzJqFGjGDNmTNA6K1euTH5nc/v27axYsSJNnYMHD/Lnn38SERGRnGzly5ePfPnynfPFfFq1akX+/Pn54IMPWLNmTYpzvXv35vDhwyH3lZCQwLvvvsvBgwfTnDt16hSvvfYaAPXr108u79SpEwUKFOD555/nxx9/TNPu5MmTafZzDXA3XAkAACAASURBVNxe5mKld0hFRERERCRDZsb48eNp3Lgxbdq0YcCAAVx33XUUKlSILVu2sHLlSn755Rd+/vlnYmJiWL9+PfXq1aNatWpUr16d0qVLs3//fiZPnsz+/ft5/vnniYiISO6/cePGTJkyhZYtW1KtWjXy5MnDzTffnDyqmBVKlCjBW2+9RadOnYiPj6d169aUKFGCOXPm8Ntvv1G7dm0WLlxIrlynH7Pbs2cPjz32GM888ww33ngjVapUoWDBguzcuZNp06axefNmSpcuzeuvv57cJi4ujrFjx9K6dWtq1qxJkyZNuPrqq3HOsWXLFubPn8/JkyfZvXt3iufy7rvv8tBDD9GiRQsKFChAyZIl6dSpU5Y9l3BTQioiIiIiIqdVoUIFVq5cyaBBg/jqq6/4+OOPcc4RGxtLlSpV6N69e/J2JldddRW9e/dm1qxZfP/99+zZs4dixYpx9dVX89Zbb9GqVasUfQ8bNoynn36aWbNmMWHCBE6dOkVUVFSWJqQAjzzyCMWLF6dfv36MHj2afPny0ahRIz755BP+/ve/A3+9a5qRa6+9lvHjx/Pdd9+xZMkSxowZw969eylYsCCVKlXi4Ycf5sknn0yzcFOzZs344YcfGDBgANOmTWPWrFlERUURGxvL7bffnua5tGzZkldffZWRI0cycOBAjh8/TpUqVS6qhNQC5zXLuREfH+8ys4T0+eJbgVouENu3hzsCERGRi0NCQgJXX311uMOQbOT48eNceumlFC5cmF9//TXc4VxQQv33ZGbLnXNp9ujRO6QiIiIiIpIj7N27l6NHj6YoO3XqFD179mTXrl3cfffdYYos59KUXRERERERyRFmzJhBp06daNKkCWXLliUxMZH58+ezatUqKlasSI8ePcIdYo6jhFRERERERHKEatWqccstt7Bw4UImT57MqVOnKFOmDN26daNHjx7ExMSEO8QcRwmpiIiIiIjkCFdeeSVjx44NdxgSQO+QioiIiIiISFgoIRUREREREZGwUEIqIiIiIiIiYaGEVERERERERMJCCamIiIiIiIiEhRJSERERERERCQslpCIiIiIiIhIWSkhFREREREQkLJSQioiIiIiISFgoIRURERERkXPit99+w8z4xz/+kaL8wQcfxMzYunVryH1deumlVKxYMatDTCG9eOXcyRPuAEREREREspO4AXHhDiFD27ttP6v2bdq0YcyYMbzzzjt07tw5w7pNmjTh+++/56uvvqJFixZndd3s4OTJk+TNm5fGjRvz/fffhzuckB05coQhQ4bw+eef88svv3DkyBGKFStG6dKlqV27Nvfddx/16tU74/5/++03rrjiCjp27Mjw4cOzMPLTU0IqIiIiIpKDdOrUiTFjxvD+++9nmJBu3LiR6dOnExsbS7NmzbI0hjfffJOePXtyySWXZGm/Z6ts2bIkJCRQpEiRcIeS7ODBg9SrV48ff/yR2NhYWrVqRcmSJdm5cydr165l2LBhyXUuREpIRURERERykIYNG1KpUiVWrlzJihUrqFmzZtB6w4cPxznHww8/TJ48WZs2xMbGEhsbm6V9ZoW8efNy1VVXhTuMFAYMGMCPP/7IHXfcwYQJE8ibN2+K8/v27eOXX34JU3RnT++QioiIiIjkMI888ggA77//ftDzSUlJjBw5Ms37lNu2beOll16iTp06XHLJJURERFC6dGnatm2bqaQovXdInXO8/fbbVK5cmcjISEqXLs2TTz5JYmJi0H7279/PG2+8wU033UTp0qWJiIigZMmStGjRgiVLlqSoO3z48ORkbvr06ZhZ8ueVV14BMn6HdPv27XTu3JmyZcsSGRlJyZIladmyJStXrkxTd/jw4ZgZo0aNYvr06TRo0ICCBQtSuHBh7rzzTtasWRPys1qwYAEAnTt3TpOMAsTExFC7du005SdPnmTIkCFcf/31FCpUiPz581OzZk3eeecdnHPJ9Xr27MkVV1wBwAcffJDiuYwaNSrkOM+URkhFRERERHKY9u3b88ILL/Dpp58yYMAA8ufPn+L81KlT2bZtG02aNKF8+fLJ5TNnzkxOAGvUqEGBAgX49ddfGTduHJMnT2bBggVUrVr1jOPq0qUL77zzDnFxcTz66KPkyZOHCRMmsGTJEk6cOEFUVFSK+qtWraJnz540aNCAO++8kyJFirBp0yYmTZrE1KlTmTp1KjfffDMANWvWpFevXvTt25fy5cvz0EMPJfdTv379DONat24ddevWZceOHdx88820adOGzZs3M378eL7++mu++uorbr/99jTtJkyYwMSJE7njjjvo3Lkzq1atYsqUKSxdupTVq1dTtGjR0z6TYsWKAbB27drT1vU7fvw4TZs25fvvv+eqq66ibdu2REZGMmPGDB5//HGWLFnCyJEjAWjUqBGJiYkMHjyYGjVq0Lx58+R+rrnmmpCveaaUkIqIiIiI5DAlSpSgRYsWjBs3jnHjxtGhQ4cU5/0L23Tq1ClFeZMmTdi5cycFCxZMUb5y5Urq1q1Ljx49mDx58hnFNGfOHN555x2uuOIKFi9eTExMDACvvvoqDRo04I8//iA6OjpFm6pVq/L7778nJ21+mzZt4vrrr6dr1678/PPPgJeQXnPNNfTt25cKFSrQp0+fkGPr1KkTO3bs4PXXX+f//u//ksv/+c9/0rBhQx566CE2bdqUJrGfOHEi06ZNo2HDhsll3bt3p3///owcOZJnnnnmtNdu3bo1Y8eO5fnnn2f9+vXccccd1KxZM8P3b19++WW+//57nnrqKQYMGEDu3LkBb+S7Y8eOfPTRR9x77700bdqURo0aUaZMGQYPHkzNmjUz9VyygqbsioiIiIjkQP5kM/Wqqr///jtTp06lVKlS3HXXXSnOlSpVKk0yClCjRg0aNGjA9OnTSUpKOqN4PvzwQwB69eqVnIwC5MuXj9deey1omyJFiqRJRsFbnOiee+5h1apVbN9+dqsSb9y4kRkzZlC+fHm6deuW4ly9evW477772L17NxMmTEjTtm3btimSUfjruaeeUpyeFi1aMHDgQCIjIxk6dChNmzYlNjaWuLg4HnzwQebNm5eiflJSEkOHDqV06dIpklGA3LlzM2DAAABGjx4d0vXPNY2QioiIiIjkQI0aNeLyyy9n/vz5JCQkcPXVVwNeYnjy5Ek6dOgQ9J3FSZMm8d5777F8+XL27NnDyZMnU5zfu3cvJUqUyHQ8K1asAKBBgwZpztWvX59cuYKPpc2dO5e3336bRYsW8ccff3D8+PEU57dt20Zc3Jlv5eN/R7R+/fpBF3dq1KgRY8eOZeXKlbRp0ybFufj4+DT1L7vsMsBbjChUXbt2pVOnTkybNo0FCxawcuVKFixYwOjRoxk9ejQvvfQSvXv3BiAhIYH9+/dTqlQp+vbtG7S/qKgoEhISQr7+uaSEVEREREQkB/Iv3tOjRw+GDx/OgAEDcM4lL2wTbGGfgQMH0q1bN4oWLcrNN99M2bJlyZcvH2bGl19+yc8//8yxY8fOKJ4DBw4A3ihsahERESlGTf3Gjx/P/fffT758+WjSpAkVKlSgQIEC5MqVixkzZjB37twzjid1XOmtCuwv379/f5pzwbaP8Se1mR1JLlCgAC1atEjeD/b48eMMGzaMrl270qdPH+6++26qVavGnj17AFizZg0vvfRSuv0dOnQoU9c/V5SQioiIiIjkUA8//DC9e/fm448/pl+/fsydO5f169fTqFEjKlasmKLuiRMn6NOnD3FxcaxYsSJN4jh37tyziqVw4cIA7Ny5kzJlyqQ4d/z4cfbt25cmwevVqxdRUVEsX76cK6+8MsW5LVu2nHVMgXHt2LEj6Pnff/89Rb3zJSIigieffJKFCxcyduxYZs6cSbVq1ZLjuPfeexk3btx5jelM6B1SEREREZEcqlSpUjRv3jz5HUj/NjCpFzMCL1E8ePAgdevWTZOMJiYmBt3+JDP8+6HOnj07zbk5c+Zw6tSpNOXr1q2jatWqaZLRpKQk5s+fn6a+f9pvZkYna9SoAXgJd7B2M2fOTBH/+eZf6Mm/lUuVKlWIjo5m4cKFaaZTpydw0aPzTQmpiIiIiEgO5t+TdMCAAUyYMIHixYtz9913p6kXGxtLVFQUS5cu5c8//0wuP378OE888USm3okM5uGHHwagb9++Kaa/HjlyhOeffz5om7Jly7JmzZoUo5fOOXr37h10r89cuXIRExPD5s2bQ46rXLly3HTTTaxbt47BgwenODd//nw+++wzihUrlmYBqKzy7rvvprsA0urVq/niiy8Ab4ElgLx589KlSxe2bt3K008/zdGjR9O02759e4p3SP3bz2TmuWQVTdkVEREREcnBbrnlFsqXL5+c9HTp0oWIiIg09XLnzk2XLl3o378/1apVo3nz5hw7dowZM2Zw4MABGjRoEHR0M1T169enc+fOvPvuu1SpUoVWrVol70NaokQJSpYsmaZN165d6dKlC9WrV6dly5bkyZOHuXPnsnbtWpo1a8aUKVPStGncuDGff/45d911FzVq1CBPnjw0bNiQunXrphvbe++9R926denatSvffPMN1157bfI+pHny5GHkyJEUKFDgjO89I19//TWPPfYY5cuXp06dOlx22WUcO3aMtWvX8u2333Ly5EmeeeaZFCO0L730Ej/99BNDhw5l4sSJNGrUiLi4OHbu3Mmvv/7KggUL+Pe//528kFXhwoWJj49n5syZPPjgg1SqVIlcuXLRokWLs9pXNhRKSEVEREREcjAzo2PHjvTs2RP4a8Q0mH79+lGyZElGjBjBe++9R5EiRWjSpAmvvvoqPXr0OOtYhgwZwpVXXsmwYcMYNmwYxYsX55577uHVV1+lcuXKaeo//vjj5MuXj0GDBvHhhx+SP39+6tevzyeffMKYMWOCJqSDBw8mT548TJ8+nSlTpnDq1Cn69u2bYUJ6xRVXsHz5cl555RWmTp3KzJkzKVSoEE2bNuX5558PuppuVunfvz8NGzZk+vTpLFq0iK+++oqTJ08mT7fu2LEjd9xxR4o2efPmZdKkSXzyySd89NFHTJ48mUOHDlGiRAkqVKjAK6+8wv3335+izejRo3nmmWeYOnUqn376Kc45ypUrd84TUvPPNZZzJz4+3i1btizcYaRxFqtfSxic5RZaIiIi4hO4xYmInJ1Q/z2Z2XLnXJrMXe+QioiIiIiISFgoIRUREREREZGwUEIqIiIiIiIiYaGEVERERERERMJCCamIiIiIiIiEhRJSERERERERCQslpCIiIiIiIhIWSkhFREREJMdxzoU7BJELXlb8O1JCKiIiIiI5Su7cuTlx4kS4wxC54J04cYLcuXOfVR/ZIiE1s1ZmNtjM5ppZopk5MxuVTt1yvvPpfcZmcJ32ZrbEzA6Z2QEzm2VmzTKon9vMnjazn8zsiJntNbOpZlYnK+5bRERERM6/6OhoEhMTwx2GyAUvMTGR6Ojos+ojTxbFcrZ6An8DDgFbgatCaPMjMCFI+apglc2sP9DN1//7QARwPzDZzJ5wzg1JVd+AsUArYA0wBCgKtAbmmFlL59zEEOIUERERkWykaNGibN68GYBChQqRN29evP/1E5HTcc5x4sQJEhMT2bdvH2XKlDmr/rJLQtoVL1H8DWgAzAyhzQ/OuT6hdO4b0ewGrAOuc87t85W/CSwH+pvZFOfcxoBm9+MlowuAxs65o742w4B5wPtmNsM5dzCUGEREREQke4iMjKRMmTLs3buXjRs3kpSUFO6QRC4ouXPnJjo6mjJlyhAZGXlWfWWLhNQ5l5yAnqO/Tv3Td3zVn4z6rrvRzIYCvYCHgRcD2nT2HXv6k1Ffm6Vm9hnQDi9h/fBcBCwiIiIi505kZCSxsbHExsaGOxSRHC1bvEN6huLM7FEze953vCaDuo18x/8GOfdNqjqYWSRQBzgMzA2ljYiIiIiIiGROthghPUNNfJ9kZjYLaO+c2xxQVgAoDRxyzv0epJ9ffcdKAWUVgdzAeufcyRDbiIiIiIiISCZciCOkh4G+wLVAjO/jf++0ITDdl4T6FfYdD6TTn7+8yFm2ScHMOpnZMjNbtmvXrvSqiYiIiIiI5FgXXELqnPvDOdfbObfCObff95kD3AIsxhvd/MeZdJ2Juv4XXdNt45z7j3Mu3jkXX6JEiTMIR0RERERE5OJ2wSWk6fFNrR3u+7Z+wCn/aGZhggs2Gnq6NoWCtBEREREREZFMuGgSUh//3NjkKbvOuT+BbUBBMwu2jNoVvuPagLLfgCSggpkFe882WBsRERERERHJhIstIb3Bd1yfqnyG73hbkDa3p6qDc+4Y3v6j+YF6obQRERERERGRzLngElIzu97MIoKUNwK6+r4dler0MN/xBTOLCWhTDngcOEba/UTf9R1fMbOogDbXAa3xRmO/OLO7EBERERERkWyx7YuZtQBa+L69xHesbWYjfV/vds496/v630AV3xYvW31l1/DXnqC9nHMLAvt3zi0ws4HAM8BPZvY5EIGXWBYFnnDObUwV1ljgHqAVsNLMJgPFfG1yA4845xLP+KZFRERERERyuGyRkALVgfapyir4PgCbAH9C+glwN3Ad3tTZvMBOYBwwxDk3N9gFnHPdzOwnoAvQCTgFrADedM5NCVLfmdkDeFN3/w48ARwF5gCvpE56RUREREREJHPMuczsdiJnIj4+3i1btizcYaQRFxfuCCQztm8PdwQiIiIiImfGzJY75+JTl19w75CKiIiIiIjIxUEJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWOQJdwAiIiIiZyIuLtwRSGZt3x7uCEQku9EIqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhbZIiE1s1ZmNtjM5ppZopk5MxuVTt0rzOz/zGyGmW0xs+NmttPMJprZTem06eDrM73PP9Npl8/MXjKzNWZ21Mz+MLNxZnZ1Vt6/iIiIiIhITpQn3AH49AT+BhwCtgJXZVC3L9AaWA1MBfYCVwLNgeZm9pRz7u102k4EfghSvix1gZlFAtOAG33nBwGXAfcCTc2skXNu8elvTURERERERILJLglpV7xE9DegATAzg7r/Bf7tnFsZWGhmDfASyDfNbLxz7vcgbSc450aGGNMzeMno50Br59wp33U+AyYAI8ysmr9cREREREREMidbTNl1zs10zv3qnHMh1B2ZOhn1lc8GZgERQJ2zicfMDPBP430uMOl0zk0E5gKV8ZJnEREREREROQPZIiHNQid8x5PpnK9uZk+b2b/MrJ2ZXZpOvcuBMsBa59yGIOe/8R0bnUWsIiIiIiIiOVp2mbJ71sysLNAYOAzMSafaU6m+TzKz4cDTzrmjAeVX+o5r0+nnV9+x0pnEKiIiIiIiIlkwQmpmV5lZ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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "train_cases = pd.DataFrame(train)\n", + "test_cases = pd.DataFrame(test)\n", + "val_cases = pd.DataFrame(val)\n", + "\n", + "train_cases = train_cases[1].value_counts()\n", + "test_cases = test_cases[1].value_counts()\n", + "val_cases = val_cases[1].value_counts()\n", + "\n", + "labels = ['PNEUMONIA', 'NORMAL']\n", + "\n", + "index = np.arange(len(labels))\n", + "bar_width = 0.25\n", + "opacity = 0.9\n", + "\n", + "fig, ax = plt.subplots(figsize = (15, 10))\n", + "\n", + "train_bar = ax.bar(index - bar_width, train_cases, bar_width,\n", + " alpha=opacity, color='b',\n", + " label='Training Set')\n", + "\n", + "test_bar = ax.bar(index, test_cases, bar_width,\n", + " alpha=opacity, color='r', tick_label = ('Pneumonia', 'Normal'),\n", + " label='Testing Set')\n", + "\n", + "val_bar = ax.bar(index + bar_width, val_cases, bar_width,\n", + " alpha=opacity, color='g', tick_label = ('Pneumonia', 'Normal'),\n", + " label='Validation Set')\n", + "\n", + "\n", + "plt.xlabel('Class', fontsize = 20)\n", + "plt.ylabel('Number of Images', fontsize = 20)\n", + "plt.yticks(fontsize = 20)\n", + "plt.title('Total Images per set', fontsize = 20)\n", + "plt.xticks(index + 0.3 * bar_width, fontsize = 20)\n", + "plt.legend(fontsize = 20)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As above, I utilised the same process to get the data into a state that the CNN can understand. Firstly by seperating the image data and the labels into two seperate lists (x and y). Secondly, by dividing the image data by 255, thereby normalizing the colours and also significantly reducing the pixel \"size\" per image. Finally, I transform the image data into a 4D dimensional array so that the entire image is basically a row of numbers being fed into the CNN." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = []\n", + "y_train = []\n", + "\n", + "x_val = []\n", + "y_val = []\n", + "\n", + "x_test = []\n", + "y_test = []\n", + "\n", + "for feature, label in train:\n", + " x_train.append(feature)\n", + " y_train.append(label)\n", + "\n", + "for feature, label in test:\n", + " x_test.append(feature)\n", + " y_test.append(label)\n", + " \n", + "for feature, label in val:\n", + " x_val.append(feature)\n", + " y_val.append(label)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = np.array(x_train) / 255\n", + "x_val = np.array(x_val) / 255\n", + "x_test = np.array(x_test) / 255" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(3120, 128, 128, 1)\n" + ] + } + ], + "source": [ + "img_size = 128\n", + "x_train = x_train.reshape(-1, img_size, img_size, 1)\n", + "y_train = np.array(y_train)\n", + "\n", + "x_val = x_val.reshape(-1, img_size, img_size, 1)\n", + "y_val = np.array(y_val)\n", + "\n", + "x_test = x_test.reshape(-1, img_size, img_size, 1)\n", + "y_test = np.array(y_test)\n", + "print(x_train.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1779\n", + "1 1341\n", + "dtype: int64" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.Series(y_train)\n", + "df.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/15\n", + "63/63 [==============================] - 54s 857ms/step - loss: 0.6226 - accuracy: 0.6410 - val_loss: 0.5556 - val_accuracy: 0.7500\n", + "Epoch 2/15\n", + "63/63 [==============================] - 53s 846ms/step - loss: 0.4901 - accuracy: 0.7647 - val_loss: 0.6665 - val_accuracy: 0.5625\n", + "Epoch 3/15\n", + "63/63 [==============================] - 55s 866ms/step - loss: 0.3631 - accuracy: 0.8394 - val_loss: 0.6581 - val_accuracy: 0.6875\n", + "Epoch 4/15\n", + "63/63 [==============================] - 54s 850ms/step - loss: 0.3193 - accuracy: 0.8622 - val_loss: 1.2417 - val_accuracy: 0.6875\n", + "Epoch 5/15\n", + "63/63 [==============================] - 53s 847ms/step - loss: 0.2652 - accuracy: 0.8936 - val_loss: 0.4800 - val_accuracy: 0.9375\n", + "Epoch 6/15\n", + "63/63 [==============================] - 53s 848ms/step - loss: 0.2519 - accuracy: 0.8978 - val_loss: 1.1348 - val_accuracy: 0.6875\n", + "Epoch 7/15\n", + "63/63 [==============================] - 54s 849ms/step - loss: 0.2443 - accuracy: 0.9032 - val_loss: 0.8163 - val_accuracy: 0.7500\n", + "Epoch 8/15\n", + "63/63 [==============================] - 53s 848ms/step - loss: 0.2315 - accuracy: 0.9064 - val_loss: 0.6953 - val_accuracy: 0.6875\n", + "Epoch 9/15\n", + "63/63 [==============================] - 53s 847ms/step - loss: 0.2243 - accuracy: 0.9154 - val_loss: 0.3418 - val_accuracy: 0.8125\n", + "Epoch 10/15\n", + "63/63 [==============================] - 53s 846ms/step - loss: 0.2022 - accuracy: 0.9163 - val_loss: 1.1054 - val_accuracy: 0.7500\n", + "Epoch 11/15\n", + "63/63 [==============================] - 54s 860ms/step - loss: 0.2036 - accuracy: 0.9224 - val_loss: 0.3097 - val_accuracy: 0.8125\n", + "Epoch 12/15\n", + "63/63 [==============================] - 53s 846ms/step - loss: 0.2008 - accuracy: 0.9218 - val_loss: 0.8394 - val_accuracy: 0.7500\n", + "Epoch 13/15\n", + "63/63 [==============================] - 55s 876ms/step - loss: 0.1869 - accuracy: 0.9205 - val_loss: 0.6751 - val_accuracy: 0.7500\n", + "Epoch 14/15\n", + "63/63 [==============================] - 56s 889ms/step - loss: 0.1741 - accuracy: 0.9369 - val_loss: 0.3807 - val_accuracy: 0.8750\n", + "Epoch 15/15\n", + "63/63 [==============================] - 55s 874ms/step - loss: 0.1910 - accuracy: 0.9279 - val_loss: 0.5441 - val_accuracy: 0.8125\n" + ] + } + ], + "source": [ + "history2 = cnn3.fit(datagen.flow(x_train, y_train, batch_size = 50), epochs = 15,\n", + " validation_data = datagen.flow(x_val, y_val))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reducing the size of the train dataset has improved the accuracy of the model and also the validation accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "624/624 [==============================] - 2s 3ms/step\n", + "Loss of the model is - 26.312539459039 %\n", + "624/624 [==============================] - 2s 3ms/step\n", + "Accuracy of the model is - 90.06410241127014 %\n", + "training_accuracy 0.92788464\n", + "validation_accuracy 0.8125\n" + ] + } + ], + "source": [ + "print(\"Loss of the model is - \" , cnn3.evaluate(x_test,y_test)[0]*100 , \"%\")\n", + "print(\"Accuracy of the model is - \" , cnn3.evaluate(x_test,y_test)[1]*100 , \"%\")\n", + "print(\"training_accuracy\", cnn3.history.history['accuracy'][-1])\n", + "print(\"validation_accuracy\", cnn3.history.history['val_accuracy'][-1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The validation loss exhibits some strange behaviour, however this may be due to the size of the validation set. However, the train_loss and training_accuracy have a normal trajectory." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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zJmDUsrp5ohBaK1pbW2lsbGRuXPnjvo4GY4UQgghMlhvby9lZWUSwDKYUoqysrIx91ZKCBNCCCEynASwzDee75GEMCGEEEIIB0gIE0IIIYRwgIQwIYQQQgypra2N3//+92M+7swzz6StrS0FLZo8JIQJIYQQYkhDhbBIJDLscU8//TQlJSWpatakICUqhBBCiCxxw1+2si2wP6nnPKp6Gj/93IIht3//+9/ngw8+YMmSJXg8HgoLC6mqqmLjxo1s27aNL3zhC/j9fnp7e7nqqqu47LLLgP57PXd2dnLGGWdwwgkn8MorrzBz5kyeeOIJ8vPzB73enXfeyR133EEoFOKwww7jvvvuw+v10tzczOWXX86HH34IwJo1azjuuOO49957ufnmm1FKsWjRIu67776kfn1SSXrChBBCCDGkX/7yl3ziE59g48aN/PrXv+aNN97gpptuYtu2bQDcddddbNiwgfr6em699VZaW1sPOseOHTu44oor2Lp1KyUlJTz66KNDXu/cc89l/fr1bNq0ifnz5/OHP/wBgCuvvJKVK1eyadMm3nzzTRYsWMDWrVu56aabeP7559m0aRO33HJLar4IKSI9YUIIIUSWGK7HKl2WL18+oCDprbfeymOPPQaA3+9nx44dlJWVDThm7ty5LFmyBIBly5axc+fOIc+/ZcsWfvSjH9HW1kZnZyennXYaAM8//zz33nsvAG63m+LiYu69915WrVpFeXk5ANOnT0/a60wHCWFCCCGEGLWCgoL45+vWrePZZ5/l1Vdfxev1ctJJJw1asDQ3Nzf+udvtpqenZ8jzr169mscff5zFixdzzz33sG7duiH31VpndQ01GY4UQgghxJCKioro6OgYdFt7ezulpaV4vV62b9/Oa6+9NuHrdXR0UFVVhWma3H///fHnTz75ZNasWQNYiwL279/PySefzMMPPxwfAt27d++Er59OEsKEEEIIMaSysjKOP/54jj76aK699toB204//XTC4TCLFi3ixz/+Mccee+yEr/fzn/+cFStWcOqppzJv3rz487fccgtr165l4cKFLFu2jK1bt7JgwQJ++MMfsnLlShYvXsw111wz4eunk9JaO92GMamtrdX19fVON0MIIYRIi3feeYf58+c73QwxCoN9r5RSG7TWtYPtLz1hQgghhBAOkIn5QgghhEi7K664gr///e8Dnrvqqqu4+OKLHWpR+kkIE0IIIUTa3XbbbU43wXEyHCmEEEII4QAJYSLrdb32Oru++z2ybZGJEEKIqU1CmMh6Hc8+y/6nniLS1uZ0U4QQQohRkxAmsl7I3wBAuLnZ4ZYIIYQQoychTGQ9098IQDgYdLglQgghCgsLAQgEAqxatWrQfU466SRGqvn5u9/9ju7u7vjjM888k7ZJNuIhIUxkNR2NYjZKCBNCiExTXV3NI488Mu7jDwxhTz/9NCUlJcloWsaQEhUiq4WDQXQoBIApIUwIMdk9833Y/XZyzzljIZzxyyE3X3fddRxyyCF861vfAuD6669HKcWLL77Ivn37ME2TG2+8kc9//vMDjtu5cydnn302W7Zsoaenh4svvpht27Yxf/78ATfw/uY3v8n69evp6elh1apV3HDDDdx6660EAgE+/elPU15eztq1a5kzZw719fWUl5fzm9/8hrvuuguASy+9lO985zvs3LmTM844gxNOOIFXXnmFmTNn8sQTT5Cfnz/o67rzzju54447CIVCHHbYYdx33314vV6am5u5/PLL+fDDDwFYs2YNxx13HPfeey8333wzSikWLVrEfffdN6EvO0hPmMhypt8f/zzcLCFMCCGS7YILLuChhx6KP3744Ye5+OKLeeyxx3jzzTdZu3Yt3/3ud4ddob5mzRq8Xi+bN2/mhz/8IRs2bIhvu+mmm6ivr2fz5s288MILbN68mSuvvJLq6mrWrl3L2rVrB5xrw4YN3H333bz++uu89tpr3Hnnnbz11lsA7NixgyuuuIKtW7dSUlLCo48+OmSbzj33XNavX8+mTZuYP38+f/jDHwC48sorWblyJZs2beLNN99kwYIFbN26lZtuuonnn3+eTZs2ccstt4zra3kg6QkTWS1kzwdzFRbKcKQQYvIbpscqVZYuXUowGCQQCNDS0kJpaSlVVVVcffXVvPjii7hcLnbt2kVzczMzZswY9BwvvvgiV155JQCLFi1i0aJF8W0PP/wwd9xxB+FwmKamJrZt2zZg+4FefvllvvjFL1JQUABYYeqll17inHPOYe7cuSxZsgSAZcuWsXPnziHPs2XLFn70ox/R1tZGZ2cnp512GgDPP/889957LwBut5vi4mLuvfdeVq1aRXl5OQDTp08f5VdveBLCRFYL+RvA5SJ/0UIJYUIIkSKrVq3ikUceYffu3VxwwQXcf//9tLS0sGHDBjweD3PmzKG3t3fYcyilDnruo48+4uabb2b9+vWUlpayevXqEc8zXI9bbm5u/HO32z1g2PNAq1ev5vHHH2fx4sXcc889rFu3bthrDtb+iZLhSJHVTH8jnqoqPDNnYgalRIUQQqTCBRdcwIMPPsgjjzzCqlWraG9vx+fz4fF4WLt2LR9//PGwx5944oncf//9gNUDtXnzZgD2799PQUEBxcXFNDc388wzz8SPKSoqoqOjY9BzPf7443R3d9PV1cVjjz3Gpz71qTG/po6ODqqqqjBNM942gJNPPpk1a9YAEIlE2L9/PyeffDIPP/wwra2tAOzdu3fM1xuMhDCR1Uy/H8/sWRgVPiJ7WtHhsNNNEkKISWfBggV0dHQwc+ZMqqqquPDCC6mvr6e2tpb777+fefPmDXv8N7/5TTo7O1m0aBH/+q//yvLlywFYvHgxS5cuZcGCBfzDP/wDxx9/fPyYyy67jDPOOINPf/rTA851zDHHsHr1apYvX86KFSu49NJLWbp06Zhf089//nNWrFjBqaeeOqD9t9xyC2vXrmXhwoUsW7aMrVu3smDBAn74wx+ycuVKFi9ezDXXXDPm6w1GZdutXmpra/VItUXE1PHeccdTdPLJ5C1YwO7rr+ewF9bhqax0ullCCJE077zzDvPnz3e6GWIUBvteKaU2aK1rB9tfesJE1op0dhHZuxfPrFkYlT5AquYLIYTIHjIxX2Qtc5e1MjJn9iwMnx3CZHK+EEKIBFdccQV///vfBzx31VVXcfHFFzvUon4SwkTWCjVY94z01MzCY4cwKdgqhBAi0W233eZ0E4YkIUxkrdg9I3Nm1eAqLAS3Wwq2CiGEyBoSwkTWMhv9uIqLcRcXA2BUVMhwpBBCiKyRson5Sqm7lFJBpdSWIbZfqJTabP97RSm1OFVtEZNTqMFPTk1N/LHh80kIE0IIkTVSuTryHuD0YbZ/BKzUWi8Cfg7ckcK2iEnI9PvxzJoVf2z4pCdMCCFE9khZCNNavwgMWVJWa/2K1nqf/fA1oGaofYU4kI5ECAUC5CSEMI+vUibmCyFEkrW1tfH73/9+zMedeeaZtLW1jfm41atX88gjj4z5uGyUKXXCLgGeGWqjUuoypVS9Uqq+paUljc0SmSq8ezeYJp5ZA4cjo+3tREe475gQQojRGyqERSKRYY97+umnKSkpSVWzJgXHJ+YrpT6NFcJOGGofrfUd2MOVtbW12VXiX6REKL4yMnE40q4V1tIy4HkhhJgsfvXGr9i+d3tSzzlv+jyuW37dkNu///3v88EHH7BkyRI8Hg+FhYVUVVWxceNGtm3bxhe+8AX8fj+9vb1cddVVXHbZZQDMmTOH+vp6Ojs7OeOMMzjhhBN45ZVXmDlzJk888QT5+fkjtu25557je9/7HuFwmLq6OtasWUNubi7f//73+fOf/4xhGHz2s5/l5ptv5k9/+hM33HADbreb4uJiXnzxxaR9jVLF0RCmlFoE/Cdwhta61cm2iOxiNvoB8MyaHX8usWq+hDAhhEiOX/7yl2zZsoWNGzeybt06zjrrLLZs2cLcuXMBuOuuu5g+fTo9PT3U1dXxpS99ibKysgHn2LFjBw888AB33nkn559/Po8++igXXXTRsNft7e1l9erVPPfccxxxxBF8/etfZ82aNXz961/nscceY/v27Sil4kOeP/vZz/jb3/7GzJkzxzUM6gTHQphSajbwP8DXtNbvOdUOkZ1CDX4wDDwz+u8T6ZGq+UKISW64Hqt0Wb58eTyAAdx666089thjAPj9fnbs2HFQCJs7dy5LliwBYNmyZezcuXPE67z77rvMnTuXI444AoBvfOMb3HbbbXz7298mLy+PSy+9lLPOOouzzz4bgOOPP57Vq1dz/vnnc+655ybjpaZcKktUPAC8ChyplGpUSl2ilLpcKXW5vctPgDLg90qpjUopuSu3GDWz0Y+nuhpl9P8dYUjVfCGESLmCgoL45+vWrePZZ5/l1VdfZdOmTSxdupTeQebl5ubmxj93u92Ew+ERr6P14LOPDMPgjTfe4Etf+hKPP/44p59uFWK4/fbbufHGG/H7/SxZsoTW1swfYEtZT5jW+isjbL8UuDRV1xeTW8jfeNCQo2vaNFRenlTNF0KIJCoqKqKjo2PQbe3t7ZSWluL1etm+fTuvvfZa0q47b948du7cyfvvv89hhx3Gfffdx8qVK+ns7KS7u5szzzyTY489lsMOOwyADz74gBUrVrBixQr+8pe/4Pf7D+qRyzSOT8wXYjzMhgbyzhhYhk4pJQVbhRAiycrKyjj++OM5+uijyc/Pp7KyfxrI6aefzu23386iRYs48sgjOfbYY5N23by8PO6++27OO++8+MT8yy+/nL179/L5z3+e3t5etNb89re/BeDaa69lx44daK05+eSTWbw482vAq6G6+zJVbW2trq+XkcupLLJ/P+8tX4Hv2u9RdsklA7btvOgilHJxyH33OtQ6IYRIrnfeeYf58+c73QwxCoN9r5RSG7TWtYPtnyl1woQYNbPRKk/hGWQFpMfnwww2p7tJQgghxJhJCBNZJ9RglacYrAyF4askHGwZckKnEEKIzHDFFVewZMmSAf/uvvtup5uVVjInTGSd/hphg4UwH7qnh2hnJ+6ionQ3TQghxCjddtttTjfBcdITJrJOyN+Iu7QUd2HhQdsMqRUmhBAiS0gIE1nH9DcM2gsG4Emomi+EEEJkMglhIuuE/I3k1NQMuk0KtgohhMgWEsJEVtHhMGYggGf24D1h/cORLelslhBCCDFmEsJEVjGbmiASGfIG3a78fFzTpslwpBBCOKRwkPm6MTt37uToo49OY2sym6yOFFnF9A+9MjLG8FXIxHwhxKS0+xe/oO+d7Uk9Z+78ecz4l39J6jnF6EhPmMgqIb9VqHWonjCwCrZKCBNCiOS47rrr+P3vfx9/fP3113PDDTdw8sknc8wxx7Bw4UKeeOKJMZ+3t7eXiy++mIULF7J06VLWrl0LwNatW1m+fDlLlixh0aJF7Nixg66uLs466ywWL17M0UcfzUMPPZS01+ck6QkTWcX0N6A8nvjcr8EYvkq6Xn89ja0SQoj0cKLH6oILLuA73/kO3/rWtwB4+OGH+etf/8rVV1/NtGnT2LNnD8ceeyznnHMOSqlRnzdWJ+ztt99m+/btfPazn+W9997j9ttv56qrruLCCy8kFAoRiUR4+umnqa6u5qmnngKsG4dPBtITJrJKyN+Ip6YG5XYPuY/h8xFuaUFHo2lsmRBCTE5Lly4lGAwSCATYtGkTpaWlVFVV8S//8i8sWrSIU045hV27dtE8xrm4L7/8Ml/72tcAmDdvHocccgjvvfcen/zkJ/nFL37Br371Kz7++GPy8/NZuHAhzz77LNdddx0vvfQSxcXFqXipaSchTGQV0+/HM2vw8hQxhs8H4TCRffvS1CohhJjcVq1axSOPPMJDDz3EBRdcwP33309LSwsbNmxg48aNVFZW0tvbO6ZzDnV7ua9+9av8+c9/Jj8/n9NOO43nn3+eI444gg0bNrBw4UJ+8IMf8LOf/SwZL8txEsJE1tBaE/L7yakZej4YWBPzQQq2CiFEslxwwQU8+OCDPPLII6xatYr29nZ8Ph8ej4e1a9fy8ccfj/mcJ554Ivfffz8A7733Hg0NDRx55JF8+OGHHHrooVx55ZWcc845bN68mUAggNfr5aKLLuJ73/seb775ZrJfoiNkTpjIGtH2dqIdHUPWCIvxVFYCVsHWvKOOSkfThBBiUluwYAEdHR3MnDmTqqoqLrzwQj73uc9RW1vLkiVLmDdv3pjP+a1vfYvLL7+chQsXYhgG99xzD7m5uTz00EP893//Nx6PhxkzZvCTn/yE9evXc+211+JyufB4PKxZsyYFrzL91FDdgZmqtrZW19fXO90M4YCet7ew87zzqLnt3yk6+eQh9zObmnj/059hxs9uoPT889PYQiGESL533nmH+fPnO90MMQqDfa+UUhu01rWD7S/DkSJrmP4GADwjDUeWl4NSUjVfCCFERpPhSJE1+muEDT8xX3k8uMvKZE6YEEI45O23346vfIzJzc3ldSkfNICEMJE1Qv4G3OXluLzeEfeVqvlCiMlEaz2mGlxOW7hwIRs3bnS6GWk1nuldMhwpsobpbySnZvhesBhPhQ+zRUKYECL75eXl0draOq5f8iI9tNa0traSl5c3puOkJ0xkDdPvJ7922aj2NSor6dmyJcUtEkKI1KupqaGxsZGWFpnnmsny8vKoGWVHQYyEMJEVdCiEuXs3xSNMyo8xfD4ira1o00R5PCluXebr2bKV3LlzcBUUON0UIcQYeTwe5s6d63QzRArIcKTICmYgANEonmFu3J0oXrB1z55UNisrRHt62PmVr7DnzjudbooQQogEEsJEVoivjByhUGtMrGCrrJC06qZhmnS/+prTTRFCCJFAQpjICqFR1giLMXw+wKqaP9WZuwIA9GzdSrS72+HWCCGEiJEQJrKC6W9E5eZiVJSPav9YCJOCrWA2WSGMcJieKbZkXAghMpmEMJEVzEY/nlk1KNfo3rLu0lLweGQ4Ens+ncsFbjdd69c73RwhhBA2WR0pskKowU/OKIciAZTLhVFRLgVbsUKYMaMSo6ycbglhQgiRMaQnTGQ8rTWm3z/qlZExngofYSnYSjjQhKe6Gm9dHb2bNhPt7XW6SUIIIZAQJrJAZN8+ot3d5IwxhBk+n0zMx+oJs0JYLdo06dm02ekmCSGEQEKYyAJmg70ycoQbdx/IqKwk3Dy1Q5iORDCbm/FUVeNdtgyUkiFJIYTIEBLCRMaL1wgbR09YtKNjSpdlCAeDEIngqa7GPW0aufPnSQgTQogMISFMZDyz0Q+AZ6z35IpVzZ/C91szA1Z5Ck91FQAFdXX0bNxINBRysllCCCGQECayQKjBj+Hz4Rrj3eljVfPNKVymwgw0AeCprgbAW1eH7uuj9+23nWyWEEIIJISJLDCelZEgBVshoSesyuoJy1+2DECGJIUQIgNICBMZL9TYOOb5YJAYwqbu5HwzEMBdUoLL6wXAKC0l9/DD6X5DQpgYPR2J0HT99fR98IHTTeDIosIAACAASURBVBFiUpEQJjJatK+PcHPzmFdGArgKC1Fe75Summ82BeJDkTHeujq6N25Em6ZDrRLZxmxspO3Bh+h47nmnmyLEpCIhTGQ0c9cu0HpcPWFKKTwVFVO6YKsZCGDYk/JjvMvr0N3d9G7d6lCrRLaJ9SZP5V5lIVJBQpjIaKbfXhk5jhAGU7tgq9Y6Xi0/kbe2FoDu+nonmiWyUOxnaCqvNBYiFSSEiYwWarBC2Hh6wsAKYVO1YGu0vZ1od/dBIcwoLyfn0EPlZt5i1GKLWySECZFcEsJERjMb/SivF3dZ2biONyorCQeDaK2T3LLM178ysvqgbd66Ono2vImORNLdLJGFYvMqJYQJkVwSwkRGC/kbyampQSk1ruMNXwW6r4/o/v1JblnmM5sG1ghL5K2rI9rZSe8729PdLJGFwgnDkVPxDxohUkVCmMhopr9h3PPBADxTuEyFuWtgtfxE3ro6QOqFidGJ/fzo3l6inZ0Ot0aIyUNCmMhYWut4T9h4GfGq+VMwhDU1ofLycE+fftA2T6UPzyGzJYSJUTFbguDxAFPzDxohUkVCmMhYkT170L29eGaPvydsKhdsNQMBPFVVQw7leuvq6N6wAR2NprllIptorQk3B8k7/HBA5oUJkUwSwkTGCvkntjISwKiwb+I9hUPYUArq6oi2t9P33ntpbJXINtGODnRvL3kLFgASwoRIJglhImPFa4TVjD+EufLycBcXEw5Ovar5ZlMTnpkHT8qPic8Lk1sYiWHE/oDJO/po+7GEMCGSRUKYyFghfyMohadm5oTOMxULtkb7+ojs2TPoysgYT3U1npkzZV6YGFYshOXMnYPKz5eeMCGSSEKYyFimvwFjxgxcOTkTOo/h8025v97DdnkKY5jhSLCq53fX10vZATGk2KIWT2UlRkXFlBzaFyJVJISJjDXRlZExRmXllLuJd7xQ6zA9YWDdRzKybx+h999PR7NEFoqFLsPns0KY9IQJkTQSwkTGMv3+Ca2MjDF8FYT37JlS1eFHHcLseWFyCyMxlHAwiGvaNFz5+RLChEgyCWEiI0V7egi3tExoZWSM4fNBJEJk794ktCw7mIEmcLnw2HXShuKZNQujslLmhYkhhYNBDJ+1ylhCmBDJJSFMZCSzsRGY2MrImFjV/Kk0Od8MBDB8PpRdYHMoSimrXpjMCxNDMIPN8Z8hw1dBtKuLaFeXw60SYnKQECYyUshvhbCcZAxH2r1B4SlUNd9sahq2Rlgib10dkZY9hHbuTG2jRFYKB1swfNbPULzunvSGCZEUEsJERjL9DQATum9kzFSsmm8GAiPOB4uR+0iKoeholHBLS/xnSEKYEMklIUxkpJC/EVdBAe6SkgmfyygrA5dryoQwHY1i7t496I27B5Mzdw7u8nK619entmEi60T27YNwWEKYECkiIUxkJGtl5Owh73s4FsowMMrKMKdI1fxwyx4wzVH3hFnzwmrpXr9e5oWJAWKlXRIn5oOEMCGSRUKYyEghvz8pNcJirIKtU6MnzAzsAkYuT5HIW1dHePfu+IIIIaB/MUtsla27pATl8UgIEyJJJISJjKOjUczGxqTMB4uZSlXzR1stP1GB3EdSDCKxUCtYvaZSpkKI5JEQJjJOuKUFHQolZWVkjFHpmzJV80dbqDVRzmGH4S4tlcn5YoDYHy5GeXn8OaOiYkqVexEilSSEiYxjNtgrI5NQIyzG8PmI7NtHNBRK2jkzlRkI4Jo2DXdh4aiPUUpZ95GUECYShJubcZeVDag3Z/ikJ0yIZJEQJjJOvEbYrOTNCYsVm4xMgV8eZqBpTL1gMd66Osxdu+I9aUKEg0GMSt+A56zhyD0OtUiIyUVCmMg4ZqPfuuXOOILEUGIFW80pULB1LDXCEnnragGpFyb6mS1BPBUHhDCfj2h7O9G+PodaJcTkISFMZJxQgx9PVdWIt9wZi6lUsHUs1fIT5R5xBK5p0+Rm3iLOqpZ/cE8YIL1hQiSBhDCRcUy/P6krI2HqhLBIRwfRjo5x9YQptxvvsmXSEyYA0KZJpLV16BA2yX+WhEgHCWEi44QaG8lJcgjrr280uX9x9K+MHHtPGNjzwj5umBLDtmJ44T17QOtB54SBFGwVIhkkhImMEunsItLamvSeMKUUhs+HOcnLVIynPEWi+H0k66U3bKo7sEZYjIQwIZJHQpjIKOau5K+MjJkKBVsnGsLy5s/DVVAgQ5Kiv1r+ASHMPX06uN0SwoRIAglhIqOYfj8Anlmzk37uqXDronBTE8rjwV1WNq7jlWGQv+wYuZm3INw8eE+YcrkwysslhAmRBBLCREYJNVghLCU9YVOgar4ZCGBUV6Fc4//R9tbVEfrgA8KtrUlsmcg24WAQDMPq+TqAUVEx6f+gESIdJISJjGI2+q1q78XFST+3x+cj2tVFpLMr6efOFOauAJ6qidVXi99HUnrDprRwMIhRUTFooJf7RwqRHBLCREYJ+ZO/MjImXqZiEq+QNJvGVy0/Ud6CBSivV+aFTXHhYBDDVzHoNglhQiSHhDCRUcyGhqSvjIwxfFbV/PAkLb+gQyHCLS0TDmHK48G7ZImEsCnODDYfNCk/xqioILJ3L9o009wqISYXCWEiY+hIhFAgkJL5YDD5e8LM5mbQelzV8g/kXV5H33vvEd63LwktE9nIqpZfOei2+M+SzBsUYkIkhImMEW5uBtNMYU/Y5K6ab+6yy1PMnPg9N2P1wno2bJjwuUT2ifb0EN2//6CVkTFSK0yI5JAQJjJG/8rI1IQwd2EBroKCSVuwNV4jLAk9YXkLF6Jyc2VIcoqKhasRQ9gk/YNGiHSRECYyhtkYqxGWmhAGk7tgq9lkhTAjCSHMlZND/uLFcjPvKaq/Wv4QE/N90hMmRDJICBMZI+RvBMPAM2NGyq4xmQu2moEARkUFrpycpJzPW1dH3zvbiezfn5TziewR6y32VA4xJ6ysDJSatH/QCJEuEsJExjD9DXiqq1GGkbJrTOYQFm5qwhjnjbsH462rA63pfvPNpJ1TZIdYuBpqOFIZBu6yMukJE2KCJISJjBHyN5JTk5qVkTGeSiuEaa1Teh0nmLsCEy5PkSh/yWKUxyPzwqagcDCIysvDVVQ05D5SK0yIiZMQJjKG6ffjmZ26+WBg/WWvQyEibW0pvU666WjUKtQ6wWr5iVx5eeQtWiSV86cgq1CrD6XUkPsYFeWTtldZiHSRECYyQqSjg0hbW8pWRsb0l6mYXH/BR/buRYdCSe0JA/DW1dK7deukvtWTOFi4eehCrTHSEybExKUshCml7lJKBZVSW4bYrpRStyql3ldKbVZKHZOqtojMZ/rtlZE1qQ5hdtX84OQqUxEvT5H0EFYHkQg9b72V1POKzGa2BIecDxZjVFQQbm1FRyJpapUQk08qe8LuAU4fZvsZwOH2v8uANSlsi8hwIX8jADlpGI6EyVffqD+EJW9iPoB36VIwDJkXNoVore1q+SOHMKJRInv3pqllQkw+KQthWusXgeF+Oj8P3KstrwElSqnk/gYRWcP0NwCprREGCfWNJl0IawKS3xPm8nrJX7BAQtgUEu3sRPf0jBzC4rcBkyFJIcbLyTlhMwF/wuNG+7mDKKUuU0rVK6XqW+QHflIK+Rtxl5biLixM6XVcOTm4S0snXdV8MxDAVVAw7Gq28fIur6NnyxaiPT1JP7fIPGH7Z8OoHD6EeeTWRUJMmJMhbLBlN4PWDdBa36G1rtVa11ZUDF7BWWQ30+9PeS9YzGSsmm82NVk11oZZzTZe3ro6ME16Nm5M+rlF5on1Eo9mYj6AOcl6lYVIJydDWCOQ+Fu3Bgg41BbhsJDfn/IaYTGTsWCrGUhujbBE+cccAy6XDElOEWb8lkXDhzC39IQJMWFOhrA/A1+3V0keC7RrrZscbI9wiA6HrRCR4kn5MUalLz7kMlmYgUBSq+UnchcWknfUUXS/ISFsKohXyx9h1MGVk4O7uFhCmBATkLL7wyilHgBOAsqVUo3ATwEPgNb6duBp4EzgfaAbuDhVbRGZzdy9GyKRlNcIi/H4fNbS+nA4pbdISpdIZxfR9vaU9YQBeGtr2ffHPxLt68OVm5uy6wjnhZubcRUV4fJ6R9zX8PkkhAkxASn7DaS1/soI2zVwRaquL7KH2WCvjExxjbAYw+eDaJRw6148I0w+zgbhJrs8RRKr5R/Iu7yOvffcQ8+mTRQsX56y6wjnhYPBESflx0jBViEmRirmC8elq0ZYzGSrFWY2paY8RSLvsmWglMwLmwLCweCIk/JjjIqKSbfIRYh0khAmHGc2+lEez4gTgZNlslXNjxdqnZm6EOYuLib3yCPprpf7SE52ZksQo2KUIcxXQXjPHqyBDSHEWEkIE44LNfjxzJyJcrvTcr3JVrDV3BUAw8AoL0/pdbx1dfS8tREdCqX0OsI5OhodVbX8GKOiAkyTSFtbilsmxOQkIUw4zvT707YyEsAoKwO3e9LUNzKbmvDMmJHyEOutq0X39tKzZWtKryOcE9m3D8JhjMrKUe3fP7QvQ5JCjIeEMOG4UGMjOWmalA+g3G6M8nLCzZMkhKWwRlgib10dgMwLm8TC8RphoyuKbUitMCEmREKYcFSkrY3o/v1pq5YfM5kKtppNTXiqUn/bVaO0lNzDD5MQNomNtlp+TDyETZKfJSHSTUKYcFS6V0bGTJYQpk2TcHNzSiflJ/LW1dHz5pvocDgt1xPpFbun6pjmhCE9YUKMl4Qw4Siz0bqHe7pqhMV4JknVfLM5CNEoRhp6wsAKYdHubnq3bUvL9UR6jbZafowrPx9XYaGEMCHGSUKYcFSowQphOTUz03pdw+cj0t5OtK8vrddNtnih1jTMCQOrcj7IvLDJKhwM4i4rQ3k8oz5GCrYKMX4SwoSjzEY/7vJyXAUFab1urA5Stv/yiNcIS1MIMyoqyJk7V+4jOUmFg8Ex1+uTWxcJMX4SwoSjQv5Gcmpq0n7d2BL8bB+SjFfLT9NwJFhDkt0bNqAjkbRdU6SHGWwe9crIGOkJE2L8JIQJR5kNDWlfGQmTp2CruSuAu6wMV15e2q7prasj2tlJ7/btabumSI9wsAWPb3Q1wmKsWxcFpWq+EOMgIUw4RodCmLt3k+NACPNMkvtHmoFAWnvBwCraCjIvbLLRpkmktXXsw5EVFei+PqIdHSlqmRCTl4Qw4RizqQmiUUd6wlzFxaicnKyvmm82NaVtPliMZ8YMPLNm0b1e7iM5mYRbW0HrcYUwyP75lUI4QUKYcEx8ZeSs9M8JU0phVFZmddV8rXXaquUfyFtXR099PToaTfu1RWqE4zXCxjgnzDc5FrkI4QQJYcIx8Rphs2Y7cv1sL9gaaWtD9/biqU7vcCRYISzS3k7fjvfTfm2RGrFeYc8o7xsZIz1hQoyfhDDhmJC/EZWbi1FR7sj1DV9FVocwc1d6y1MkkvtITj79940ca4mKybHIRQgnSAgTjjH9DXhqalAuZ96GHl8lZhav6jIDuwDSVi0/UU7NTIzqKglhk0g42AJuN+7p08d0nKugAJWfH6+2L4QYPQlhwjEhf6MjKyNjDJ8P3d1NtKvLsTZMRDhWI8yBnjCAgro6uuvrszbEioHCzc0YFRVj/qNIKSW1woQYJwlhwhFaa0y/35GVkTFGlpepMAMBlNeLu6TEket76+qItLYS+vBDR64vkiscDGJUjm0oMsbwSQgTYjwkhAlHRPbtI9rV5cjKyJjYL5xsrZpvBprwVFWhlHLk+jIvbHIJtwTj9fPGSnrChBgfCWHCEaY/tjLSuZ6wbC/Y6lR5ihjP7NkYPp/cR3KSMIMt8XuqjlWsar4QYmwMpxsgpqaQvxHA8TlhQPILtu7eAveeA9/4C1QuSO65E5iBAHkLUnf+kSilrPtIvvEGWmvHeuTExEV7e4m2t495ZWSMUVFB1J5f6SooSHLrRDYL7u9lo7+NzY3tbN/dwbQ8g6qSPKpL8qkuzo9/Pi3P43RTHSEhTDjC9DcA4HHg5t0xLq8XV1FR8gu2vv0wdLfC239KWQiL9vQQ2bfP0Z4wsIYk9z/1FObHH5MzZ46jbRHjFy9PMcYaYTGJtcJyJIRNWe09Jm83trOpsY3NjW1s8reze38vAG6X4tDyArpDEXbv7yUSHbigpzDXoKrYDmcleVQV59tBzXpuRnEeeR63Ey8rpSSECUeE/I0YPl9abzw9mKQXbNUa3nnS+nz7U3DK9ck7dwIztjJypsMhbLk1L6xr/XoJYVmsv0bY2KrlxwwIYfI+mBJ6zQjbmvazye7l2uRv48M9/SvN55YXsOLQ6SyuKWHxrGKOqiomP8cKUZGoJtjRS6Ctl0BbD03tPQmf97I10M6eztBB1ywryKG6JH+QsGY99hXl4XZlV4+8hDDhCKdXRsYkvWDrnvdg7wdQeTQ0b4GW96DiiOSd32YG7BDmQI2wRDlz5+IuK6N7/XpKzzvP0baI8Yv9DIx3Yr5Hbl00qUWimh3BDjb729lo93Jtb+ogbPdm+YpyWTyrhHOPmcniWSUsmllCsXfo4UW3S1FVnE9VcT7LDikddJ9eM8LudiuYBdp7aWrrIWCHtZ2tXbzyQSudfeGDzltZlGsFtYRetP7Qlk+p15NRUyckhAlHhPx+ClascLoZeHy+5N6IervdC3b27+APp8C7T6UohFmFWp0ejlRK4a2tpXt9vcwLy2Jm8/iq5cfIrYsmD601/r09bGpsi/dyvb2rnR4zAkBRnsHimhIuO/FQFtWUsGRWCTOKkz+ikedxM6e8gDnlQw9v7+81aWqLBbWeAZ9vbmzjb1t6CUUG3t8213AN6EU76cgKzl7k3P+jEsJE2kX7+gg3N+OZnQk9YZWYLS3oaDQ5lfu3PwXVx8CsOqheaj0+4eqJn/cAZiAAbve4f2kmk7eujo6//Q1z1y5yHJzjJ8YvHAyi8vJwTZs2ruNdxcWonJzkL3IRKdfS0WfP32pjU2M7mxvb2NdtApBjuFhQPY0v181i8axiFteUMKesAFeGDPlNy/MwbYaHI2cUDbo9GtW0doXs4c6BQ56B9h5e2tHC9IIcCWFiajF3BUBrR1dGxhg+H5gmkbY2jDHeruUg+wOwawN85sfW43lnwfM3wv4mmJbcYcNwUxNGpQ9lOP8j3F8vrF5CWJYKB4MYPt+4ezKVUhjl5WntCQuFo5iRKC6lUApcSuGyPyqF9MoOoqPX5O1d7fE5XJsb29nV1gOAS8ERlUWcelQli2eVsLimhCMqi8gxsreSlculqCjKpaIol0U1gxe1dvqOH87/Dy6mnP6VkRkSwrB/CU00hG1/yvo47+z+j8/fCO8+DXWXTOzcBzB3OVsjLFHu4YfhLi6me/16Sr74BaebI8bBCmHjm5QfM5GCrWYkSlu3yb7uEHu7QuzrCrG32/7Y1f98W3fsefOg+UAHUgrcSg0Z0lwuFX9OKWXva33ucsX2P/hYV8J2NeB566PhVrhdLgyXsv4lPHYnPGe4XPHHbpfCcA/cp3/fhOdHOLfngMc9ZoQtu9rjJSI+aOkkljlmTc9n6ewSVh83h8WzSlhQPY2C3KkXCZwO61PvKy4cF68RlgHDkZ7Eqvnz5k3sZNufgrLDoOJI63HFPJh+qPV8skNYUxP5xxyT1HOOl3K5yK+rlcr5WSwcDJK34KgJncPw+ej76EMiUU1bd8gOTlaAGipUxT529A4dqApzDUq8HqYX5FDqzeHQikJKvTmUej3kelxENUS1Rmtr+Kn/sSai9bDbY59HtSYajX2Ove2AY7UmEh1+eziq6TOjmNEIkWiUcMQ6JhLVmNEokYi1TyRqfQxHogMep0p5YQ6Lakr43KJqFtnDitMLclJ2PTF6EsJE2pl+Pyo/H3dZmdNNSV7B1p422PkSfPIK609wsD7OOxteWwO97ZBXPMHWWnQkgtnczLQM6QkD62benc8+h7l7N54ZM5xujrBpOzhE7JAR0f2hwAoUVhAINTcT/eQJfNjSGd8/Eh14TDgSZX9vuD9QHRCqTt0VYllDE6f88GmGGuHJ97itMFXgodSbw+zp3ni4ml7gobQgh+neHOtjQQ4lXg+5xuSrDTWYWCgM2+GtP5xF7a9/7LmoHeASHkcSgl3CY7dLsWBmMdXFeY73+IjBSQgTaRfy+8mpqcmI/xSM8nIgCbcu2vH/IBruH4qMmXc2vHKrtX3hqoldwxYOBiEcdrw8RaLE+0gWf+5zDrcme4QjUYIdfQOX4dufBzv6CEei/aFJa6KJgSohLFmBKSE82b0yo5nu4jV7eLS3lzVvt/M///eFUbc9x+2yA5UVoHIrfRRu6+aqE2ZTUlIYD1JWwLI+xupEiYNZQ6LgdrmZgqOCU5Z8q0XamX4/ntmznW4GAConB3dZ2cSr5m9/Egp8MLN24PM1tdbz259KWgjLlEKtiXKPPBJXURHdb0gIi9Fas7crZK3Iau+x6xwlrM5q66F5fy8HjkIV5RlUF+fjm5ZLjtuFy57/43JZ85bc9lwmt8uqi+S2nx+wPeHz2L/YMS7VP+fI5VJ4A354Cs44aSEnnrDkgP0Tj3ExLd+IhypvjnvAH1JtpbtoWvsnvrW4VBZoCDFKEsJEWmmtCTU2UnDccU43JW7CVfPNXnj/WStkHVjmwuWGI8+ALf8D4T4wcifWWOzVpThfIyyRcrvxLls2peaFdfSa8TAV+xho640vh29q76UvPLBGUY7hiheQPO4T5fFK31UJRSWL0nwPva5XAzQAx62YR8HSmeM+T7xWWLBFQpgQoyQhTKRVZM8edE9PRlTLj5lw1fyPXoBQ58FDkTHzzoY3/ws+ehEOP3X817HFe8IyaDgSrCHJznXrMIPBcVdezxR94Vi17v5Q1T9caPVsHTiZ3KWgcpoVpo6eWcxnF8ygujjPrtxtFYecXpCTEcPwiczmZmD81fJjDKmaL8SYSQgTaZVJKyNjPL5KerduG/8Jtj8JOUUw98TBt889EXIKrf2SEcICu3CXlODyeid8rmSK3Ueyp74ez5lnpv36Wmv6wlG6QxF6zAg9oTA9oSjdobD92Hq+OxSh1/4Yfz4Uoa0nZPdo9bKns++g808vyKGqOI/ZZV6OPXS6Fa7sW6NUleRTWZSL4c6+mkrhoBWaJlr4V6rmCzF2EsJEWpmNfiAzaoTFGD4fkdZWtGmiPGMcCopG4N1nrHA11FCjJ8/avv1pOOu3Bw9ZjpEZCGBUZ1YvGEDe/Pm4CgroWr+eaUOEMK01XaEIbd0hOvvC8QDUc2AoGhCWrDDVY1r7DxqiTOvfWOsuetyKfI+b/Bw3RXkeqkvyOapq2oCbAlcVW7c3mayTysPBIK6iogmHendpKRiGhDAhxkBCmEirUIMflMJTM/65J8lm+HygNeHW1rGXV2hcD10tVnX84cw7G7Y+BrvqYdby8TcWq1q+55BDJnSOiYqVK2jrDtHWY9LeY9LebVI5dx771/6d/1i6lf09Jm09Zv8+3dZ+Y6mHFAtIsY/eHDd5HjelBTlUl/Rv88b3Mcj3uPDmGOTluPHax+Ul7OPNcZNnf+7Jwp6rZItVy58o5XJhlJVNfKWxEFOIhDCRVqbfjzFjBq6czCkUGKsUHg4Gxx7Ctj8JLs/Iw4yHn2rtt/3JCYUwrTXmrgDeT35y3OdI1GtGaOs2aesJ0d5txsNSW0+INjs0DfbcUMU1z4/6uHj3Bv73le24p5dSnO+hJD+HqpJ8SvI9lHitx8X5HgrzjEFCVOyxQa7hyph71E1m4ebmCVfLj5lI1XwhpiIJYSKtQo2NGbdyylNZCVgTlPPHcqDW8M6T1pyvkQqx5hXD3E9Z+59yQ39B1zGKtrcT7e7GU1VFrxmhozdMV1+Yzr7wwM/77M97rcedfeF4b1VbT8gKV93mQav3ErldipJ8D8VeDyX5HnxFeRzuK7KClf1ciTeHYq/HDlsevDsq2PcPz/DXTxcx7bTPjOs1ivQyW4IU1E2sdzbGqKiwbi4vhBgVCWEircyGBgo+9SmnmzFA4v0jxyT4Duz7CI77p9HtP+8seOq7tDVsoaPoE3TYAanLDk2dvf2fHxigOu3HpYGP+CnwnXXNvPTuX0e8pFLWbV8Kcw2K862wNLe8gJJ8qxr5tITeqZJYmLI/FuYaY17Jp4uX0JaXR3d9PdNO++yYjhXpp6NRwi17kjIcCdbPUs+mTUk5lxBTgYQwkTbRnh7CLS0ZtTISwD19ujWhODjGYZT4Dbv754P1mhGe2dLEM2/vpq3b7A9UfWEK+vJ5yYA77riV30eGv9F1QY6bwjyDglyDolyDwjyDsgIvC/abAJxw/AI+ecSR8YAV/3fAMfked1pLIqicHPKXLplS9cKyWaStDUwzeSGsooLI3r3jW+QixBQkIUykjblrF5BZKyPBnlBcUWHdxHsstj8JNXVQNIP3gx388XU/j77ZSHuPycySfGZNz2dmSV5COKph97ajuVhtZe6JP6HIDkyFucaAzwtyjCHnQu29bzvNwCVfOg4jA+69ORhvXR17/u3fibS34y5Ozv0yRWrE3vPJDGEA4T17Mq6OnRCZSEKYSJtQg1WeImdWZs0Jg3EUbG1vhKaNbD3qGm74j1d546O9eNyKzy6YwYXLZ3PsoWWDB6nCL8FzN3De4S4oHvsvKTMQQOXmWr13Gaqgro49WtO9YQNFn5F5YZks9p73VCY5hLW0SAgTYhRkfbZIm3iNsAy5b2Qij89HuGV0Iez9YCd/ffQPAPzTW9U07+/l+2fM49UfnMxtXz2G4w4rH3pVX6yq/rtPj6udZiCAp6oq46quJ8pbtAiVk0P3GzIkmelMO4QlvSdMVkgKMSrSEybSJuRvxFVQgLukxOmmHMTwVdL1+htDbu8LR/jrlt388fUGXv9oL/fn/C+7c2fzswu/yHGfGKLXazAVR0DZ4dZ8suX/OOZ2mk1NGXXPyMG4cnPJX7xY5oVlgVhPwvTZtAAAIABJREFUmFFenpTzya2LhBgb6QkTaWM2NOCZNSsje3EMn4/o/v1Ee3oGPP9hSyc3PbWNY3/xHFc9uJGm9l5+fHIVx7nfYcaKL3HC4cP0eg1l3lmw8yXo2TfmdpqBAJ6ZmR3CwJoX1vvOO0Q6OpxuihhGuDmIe/p0VJLq9hll00GpsS9yEWKKkhAm0ibU2EhOBt24O1HiX/B94Qh/3hTgK3e8xmf+7wvc/fedHHtoGfddspx13zuJS3zvoXRk6Bt2j2Te2RANw47/N6bDon19RPbswciCuTbe5XUQjdLz5ptON0UMIxwMYth18pJBGQbusrJRD+0LMdXJcKRICx2NYjY2UrhypdNNGVRsYvI9T7zB7W3F7O0KUVOaz7WnHcl5tTX4ivL6d97+JBRVQfUx47vYzGVQOMM6z6LzR31YuKnJamuGD0cC5C9eDB4P3evXZ+z3XMRuWZScavkxRkWF9IQJMUoSwkRahFta0H19GbcyMhSO8r/bdvO/LzbxTeDVN96l7rOn8dUVh/CpwSbYmz3w/nOw+CvjvxG3ywXzzoRND4HZa93gexRilcg9VZkfwlz5+eQvXEiXzAvLaGZLkLwFRyX1nEZFucwJE4MLh8DInFvWZQIZjhRpYfrtlZGzMmNl5MetXfzyme0c98vn+PYf32JbXy4A1x/n4z++VsvKIyoGn+v14Towu0e+YfdI5p0FZhd89MKoDzFjPWFZMCcM7HlhW7YS7epyuiliENo0iexpxahIzsrIGMPnkxAmDhZ4C351CDx5tRXGBCAhTKRJyN8IOFsjLBSO8vTbTVz0n6+z8tfruPOlDzlmdin3XFzHX390Jiovj7z9I0yW3/4k5E6DORO89dKcE63zbH9y1IeYuwKgVPxel5nOW1sLkQjdb210uiliEOHWVtA6qXPCwB6ObG1FRyJJPa/IYpEw/OUqQEH9XfBfZ0PHbqdblRFkOFKkhelvAJfLkQKODa3dPLC+gT/VN7Kns4+ZJflcc+oRnF87ixnF/UOBRqVv+Kr50Qi8+wwc/tmJd6kbOXD4qbD9aTj7d+Byj3iI2dSE4fNlze1g8pcuBbfbmhd2wvFON0ccIF6eIgVzwohGiezdG68bJqa4N+6Apk1w3j2gNTxxBfzHSvjyfTArOTePz1YSwkRahPyNVpHRJC2FH4kZifLstmb++EYDL+3Yg0vBZ+ZVcuGK2Zx4RAXuQYYaPRW+4avmN7wG3a0TH4qMmXcWbHkU/G/AIZ8ccXczEMiKSfkx7sIC8hYskHphGSqc5EKtMbHgZQaDEsIEtPnh+RutP16P+gIoBRVHwoNfhbvPhDN/DbUXO91Kx0gIE2lh+v140lCewr+3mwfeaOBhu9erujiPq085gvPraqgqzh/2WMPno2frlqF32P4UuO0erGQ47FTrfNufHHUIy1+4MDnXThNvXS17772PaG8vrrzRLUAQ6WHavb6eJIcwj1TNFzFaw9PXAhrOvNkKYACVC+Af18Kjl8KT37Hmi535azByHW2uE2ROmEiLkN+fsvlgoXCUv27ZzdfveoMTf72W21/4gCWzivnDN2p56brPcNUph48YwACMykrCzUG01gdv1NoKS4eeBLlFyWl43jSYu9IKd4NdM/Hy0Sjm7t1ZMyk/xltXB6ZJz8ZNTjdFHCAcbAG3G3eSbwQvty4ScdufhPeegZN+AKWHDNzmnQ4X/glOuAbe/C+45yzY3+RMOx0kPWEi5aJdXURaW5O6MnJ3ey/r3g3y/PYgf39/D12hCDOm5XHlZw7ny3WzqC4ZOXQdyPD50L29RDs6cE+bNnBj81Zo+xg+dU2SXoFt3lnWX4LBd6By6FIB4ZY9YJpZNRwJ4F22DFwuutevp+DYFU43RyQI28OFarylVobglhAmAHr3w9P/DJUL4dhvDr6Pyw2n/BSqFsPj34I7VsL598LsY9PbVgdJCBMpF2rcBUxsZWQkqnmrYR9r3w3y/P/P3nmHR1VtffjdU1IJ6Y2OtAAiHcSGoAhIsXeviFL0Vr/72cWCil2v97uWqwiIvWKhoyIqCgoqokDoKZDeQ9q0/f2xMyFAQibJnDlnknmfZx7MzDl7rxmTOeus8lup+ezKLgOgU2QIFw/tzPn9Ezm7TxwWc8svKO4CZUde3olOWOpKQEDfyS1ev0H6XahatlNXntwJy1YaYf6gll8fc0QEISkpgbowA6KEWr2bigQwBQVhjooKOGHtnfWPQnk2XPUWmJtoJhp4McT1VXVir0+FyU/CiJuOpi/bMAEnLIDm2DMzALB2aV5NWFGFjW/35LM+NY9v9+ZTUmnHbBIM7x7N3ZNTGNcvgb6JHbw2i9It/WDPzSW4d+9jX0xdobp4IrwsDxGRCF1GQupyGHtHo4fVCbX6WSQMVEqy+L33cNlsmHzUmBGgaRx5uVi7d2/6wBYQUM1v5xz+WXVEjpoNXYZ7dk7iAJjzNXw8G1b+E7K3qTqyNl4nFnDCAmhOnUZYt5M7YVJKdmSV8XVqHut357EtswQpIa5DEOelJDI+JYGz+sQRGaqNREPd/MjjLx7F6ZCzHSY8rMm+pEyBLx9UXURRDX9Gfu2EjRpJ0dKlVG/frrTDAhgCe14+YSO1kQewxMcHImHtFbcmWEQSjL+/eeeGRsO178PXj8F3z0DuTiVj0dH/vvc8JeCEBdAce2Ympo4dMUdGnvBaebWd7/cVsD41jw2788krrwFgcJdI/nFeH8b1S2BQ58iG1eu9zFEn7DiZit2r1L8tHdjdFClTlRO2exWMntvgIfasbPUZduigjQ0aEjZ8OAhB5ZYtASfMILiqq3GVlmqSjgTlhNUcPKjJ2gEMzo8vQ87vcOWbqvmouZjMcN79qk7sk1uUntiVb3jUQe6PBJywAJpjy8wkqIuqB5NSsj//CF+nqjTjlrQiHC5JRIiFc/rGM75fAuf0jSc+wvchaFNICKbIyBMFW1NXQnx/iO2lzcZxvSGun0p5NuqE+ZdGWH3MUVEE9+2r6sJubaRAN4BPcUepNHPCEhJwFBQgpfRauUAAP6AkQ0Wx+k6G/tNat9aA6RDXB967TinsT3oCRs5qc3ViAScsgObYMjMp69yDJZ/9wde788gsqgIgJSmCWWefwrh+8QzvHt2qonpvYU2Ix5FfLxJWWQTp36s2ai3pPxU2Pq/2C4s54WV7drbfOmGg6sJKPv4Yabf7jeJ/W8Z9o6FlJAy7HWdJCZboaE32CGAwpISVtwNCaX55w1lK6A+z18OyObDqdsjaBlOeBWvb0RzU/6oXoE2SWVTJm5vSuGnRZiozMlmeJ/hw6yH6JUaw4JJT+f7u8ay57RzunpzC6FNiDeGAAVjiE7DXT0fuWQPS5T2V/MZImQLSCXvXNfiyP0fCQDlhsqqKqj9OIoYbwGe4U+7WRK0iYUc7jQO0E3Z+BnvXwvj7Gq1tbRGhUXDNe3DOnbDtLVgyGUoPe299nQlEwgJ4BbvTxZa0Ijbszufr1Dz25h0BYEhwNVaXk8kThnPXrRMIsTY9I1FPLAkJ1PxYr5YldSVEdIJOQ7XdOHmo2mfXchh89TEvOcvLcZWXY+3kX/IU9QkbqWrBKrdsJWyoxp9lgCaxazSyyE2dYGtePvTrp8keAQxEdSmsvguSToNRDZdUtAqTSTl3yaepOrFXx8IVS6GH/8+kDThhAVpMXnl1ndO1cW8B5TUOrGbB6J6xXD2qG+P6xZN4YCcZ78PAkQMM74BBrWp+fj7S5UI4qmHfVzD0eu3rEEwmSLkQfn0bbJUQFFb3kj1LqUj7cyTMEhNDUK9eqi5szmy9zWn3OPLyEcHBmI7Xw/MSAdX8dsZXD0NFHlzzLpg1dCv6TzuqJ/bGdJj4uJLB8OM6sYATFqDZfPzzIV7/IY3fD5cCkNQxhKmDkxnXL4Eze8cRHnz016rk20wAn8yN9AaWhHhwOHAWFWHJ3wyOKlWv5QtSpsCW1+DABuWQ1WLPUqF3f3bCQEXDyj5fjnQ4EJbAV4+eOHJzsSQkaFY03x6dsKrffqNm/wGiLr1Eb1N8S+YW2LIIRt8CnYdpv198v6N1YqvvUHpiU57z2zqxwDdhgGbx32/288TqVAZ26sgdE/sxrl8C/ZMjGv0yt2VkgsWCNSnJx5a2jPoyFZbdKyEkErr7KOTd/SwIjlQp0PpOWLaKhPmbWv7xhI0cScl771O9K5XQQafqbU67xpGXh0WjejAAU2gopoiIduWEFb62iPIvvyR06BCCe/bU2xzf4LSrsWsRySpd6CtCIuHqd+GbJ+GbJyBvp1Lmj9RmPrGWGKMaOoDhkVLy3LrdPLE6lamnJfPpX87kL+N6M6BTx5PeTdszM7F26uQ3kY861fzsbDV4tu+kpkdueAtLEPSdqPTCnI66px1ZWQirFUtcnG/s0IiwkSMBAiOMDIAjLw+rRvVgbtqbYKstLQ2kpHDRIr1N8R2bXoTcP1Q3ZHCEb/c2mWDcPXD1O1CwT+mJpW30rQ1eIOCEBWgSKSWPrtzF/63fx5UjuvDvq4di9bCb0XboUJ1GmD9QFwlL3QxVxdp3RR5PyhSoKoLMH+uesmdlYUlO9vqgZV9jTUggqHv3gBOmM1JK7Pn5WOJ94IS1k+5I6XJhS09HWK2UfvZ5XfS6TVOcBhueUGLTvirZaIiUKSo9GRoNS6fD5v8quQw/wb+/1QNojsslufeTP1i08SA3ntGDJy49DXMz1OvtGRlYmxhXZCQssbEgBI49W8AcDL3O860Bvc9T+6auqHvKnuXfGmH1CRs1ksqff0Y6nXqb0m5xHTmCrKzUrDPSTXuKhDmys5E2GzE336SiYUuW6G2StkgJK/9XqdtPflJvayC+r3LE+k6ENXfBp7eCvUpvqzwi4IQFaBSH08X/fvgb7/6UwZ/P7cWD0wY0a3yQs7wcZ0kJQX5SlA8grFbMsbE40vdAr3EQ7OMxQcERcMq5ygmrvZvzd42w+oSNHImrrIyaPXv0NqXd4o5OWRK9PIz+ONxOmPSjqERLqUlLAyD8jDOInDqVkg8+xFFUpK9RWrJjGez7EsbPM04dVkhHuOptOPde+O1dWDxRzeM1OAEnLECD1Dic/PWdX/nk18PcMbEfd05KaXYnlf2QGtxt7eI/ThiANToCe2mVdrMimyJlihr/kfsH0mbDkZ+P1c+L8t0E6sL0p84JqxVU1QpLQgKypgZXebmm+xgBW3o6AEE9ehA7exaypoaiN97Q2SqNqCqB1XdD8hAYNUdva47FZIJz71LirkUHlZ7YwW/1tuqkBJywACdQbXcy542fWbMjh/unDuAv43q3aB1bhroLCfKjdCSAJcSGo8oM/SbrY0C/yYCA1JXYc3NByjYTCbMmJ2Pt0iXghOlInVq+D9KR0D5kKmxpaZjCwrDExxPcqxcREyZQ/PY7ONuiA/rVfKgsgGn/VulII9JvskpPhsXCGxfDppcMWycWcMICHMORGgc3LvmJb/fm88Slg7j5rJa3WtsP1WqE+VFhPoBFFuCwBUO4Tt2IHRKg62hIXYH9cBaAX6vlH0/YyJFUbtmKdLn0NqVdYs+tjYTFaxwJi28/o4tsaWlYe3SvyxbEzpmDq7yc4nff09kyL5PxI2xdDKNvhU5D9Lbm5MT1gVlfKYds7T3wyVwlhG0wAk5YgDpKK+1c/9qPbEkr5vmrhnD1qG6tWs+WmYk5KgpzhI9bl1tD0UEs5OOsdCFtNv3s6D8Vcn7Hvu93wP+FWusTNnIkzpISavbt09uUdokjLw9Thw6YwsM13ad9RcLSCe7Ro+7n0FMHEn7WWRS9/jquKv8oEG8StyZYxy4w7l69rfGMkI5w5Zswbh5s/0DViRWn623VMQScsAAAFByp4eqFm9mZVcZL1w3joiGdW72mPSMTa7fWOXI+Z/cqLKEqQuMoKNDPjn5KrNW+Q+ne+LtQa33CRgXqwvRECbVqW5QP9YZ4t3EnTNps2A8dIqieEwYQN3cOzqIiSj5epo9h3uaH/yhR1CnP+L5hqTWYTDD2Drj2fSWr8eq5cOAbva2qI+CEBSCntJqrXtnEwYIjLJwxgokDvaNu728aYQCkrsSarGzWNY0S2wsSBmDfvxNzfBymoCD9bPEy1s6dsSQnc2SDcb4I2xOOvDzNi/IBTOHhiLAwNcS7DWM7dAhcrhOcsNARIwgdNozCRYv0jap7g6IDSp2+/zT9amVbS9+JMPtrVe7x5sXwwwuGqBMLOGHtnMyiSq58ZRM5pdUsnTmKsX298+UsHQ4lreBH8hRUFEDGJiyDxgJHa2d0I2UKjtwCrBqOl9EDIQTRV11FxXffUf7VV3qbY1yqijVZ1hdq+aD+P1vi47SLhFWXgqNGm7WbgS3taGdkfYQQxM2dgyM7m9IVK3WwzEvUaYJZYfJTelvTOuJ6w6wvVQf6uvtg2Wzd68QCTlg7Zn/+Ea58ZRMllTbenn06o0+J9dra9pwccDj8qzNy92qQLiwjLgIMUFCcMgV7pRlruP53a94m9uabCO7Xj5z5D+MsK9PbHOPx81J4sgd8+RC4vCdsK10upZbvAycMNFTN3/cVPH8avHwm5OurOWer1QgL6t79hNfCzzmH4JQUChcu9F+B4j8+hv3r4bwHoGMbqE0NjlB1YuPvh98/guX/0NWcgBPWTtmVXcZVr2zC5nDx3pwxDOka5dX17Znuzkg/csJSV0JkV8x9zwCrVXcnTCYNxl5pwWoq1NUOLRBWK8mPPoqjoIC8p5/R2xxjUZ4D6+6HsDjY+C94+wqo9I7wp7OkBOx2LAna14SBBqr5UtZ+JperodFVxbBwPOxa0fS5GmFLS8McHY05MvKE19zRMNvBg5R/8aUO1rWSyiJYczd0Hg4jb9bbGu8hBJxzO1z3oe5NBgEnrB3yW2YJV7+6GYvJxPtzxzCgU0ev71GnEdbVT2rCao6ou72UKQizGWt8PI68XF1NchYVIZ1gdaTpHjLXgtBBpxIz80ZKPvyQis0/Nn1Ce2HNPeCohpvWwtTnldjkwnGQ80erlz4q1OrDSJi3nLCaI/DhjSo6OOAimP0VzP1GSRG8fx2sXwA6yJ7Y0tJOSEXWJ+KCCwjq3p2CV1/xv+kBXz6kHLGpzxtXE6w19JkAMS2XYfIGmjphQohJQojdQoh9Qoi7G3i9mxDiayHEr0KI7UKIC7W0JwD8dLCI6177kY6hFj68ZQy9E7TpcrEfykRYrT7pwvIK+9eDs6ZuYLclIQG7zpEw9xBga0iVsq8NEv/Xv2Lt3o3sBx5oO638rWHvF2okzDm3q/qVETNh5iqwV8OiCfBH6zrtfKWW78aakICrshJXRUXrFio6oN7/rs/h/Plw+RIIClcjc2auhiHXwbdPwbtXK0V3H9KUEybMZmLnzKZm5y4qNm70nWGtJX0T/LIUxvwZkk/T25o2i2ZOmBDCDLwITAYGANcIIQYcd9g84AMp5VDgauAlrewJAN/tzeeGxT+S2DGYD+eeQdeYMM32smUewtq5M8LsJ3dPqSshNBq6nQEoJ0zvrq46odbosGMGerclTKGhJD/8CPaMDPL/84Le5uiLrQJW/hPi+sGZ9epUuo5SEZ+kQfDRTPjigRbXidlzVXTXF4X54CWtsL1fKlmBsiy47iM46zaVTnJjDYGLXoQLn4H9X6n0ZF5q6wz3EFdFBY68vJM6YQCR06ZhSUqi4JVXfGJXq3HYlCZYZDc49x69rWnTaBkJGwXsk1IekFLagPeAi447RgLuXFgkkKWhPe2adTtyuPn1rfSIDef9uWNIigzRdD97Rob/dEY67bBnDfSdDGYLoIYbO3L1TUfas2qdsMHjVdOA06GrPVoRPnoUUVdeSdHrr1P1e+tTbn7LN0+qmaFT/wWW4GNfi0iCGStgxM3w/b/hrctaVCdWFwnTWC3fTaucMCnhu2dV/VdkV5izAXqf1/CxQsCo2TBjOdSUwWvnwc7PW2y3p9gyMoATOyNPMC8oiNibbqJq689Ubt2quV2t5od/Q34qTHlWRRwDaIaWTlhnoP4I80O1z9XnIeB6IcQhYBXwt4YWEkLMEUJsFUJszW/jwn9a8Nm2w9z69i/079SR9+acTlyH4KZPaiW2Q4cI8hcnLP17qC6pS0WCSte4jhxpfRqlFdizszGFh2MacpGyL+MH3WzRmoQ7bscSF0f2vHlIu11vc3xPzh9Kt2jon6DHmQ0fYwmCqc/B9P+o39lXz4Wc35u1jSMvH3NMDMJHunNuJ6zZqf2aI/DBDfDVw3DqpXDzOs9qd7qfAXO+gfh+8MGf4KtHvNpdejx1nZFNOGEAUVdcjjk6moJXX9XMHq9QuB++eRoGXAx9L9DbmjaPlk6YaOC546sSrwFel1J2AS4E3hRCnGCTlPJVKeUIKeWIeB/dwbUVPtiSyW3vb2N492jenjWaqDDtv3ydpaW4ysr8JxKWuhIsodBrfN1T7nSNnmrf9qwsrJ06IfqcD5YQZWcbxRwRQdJDD1KzezeFixbpbY5vcTlVm3xoNEx4uOnjh92g6qCcNnhtgmqz9xAl1Oo73bkWRcIK98Nr56sU/AWPwmWLmheNiewMN66CodfDd89oWidW54R5IMVjCg0lZsYMKr79juqdOzWxp9VICSv+R0ViJz2htzXtAi2dsENA/d/MLpyYbrwZ+ABASrkJCAF0mprc9ljy/UHu/Hg7Z/eJZ+nMUXQItvhkX7/qjJRSOTe9xkPQ0Ro5d0OBnoKt9uwsLJ2S1QWo13hlp791VzWDiPHjiZg8iYIXX6Jm/369zfEdWxfD4a0w6XEIi/HsnC4jVMSn0xD4+GZYN8+jdLUjN9dnRfkApshIRFCQ507YnnXw6jg4kgvXL4Mz/nZs/ZenWENg+gsw5TnY/7XqLs3b1fx1msCWloYlORlTaKhHx0dfew2mDh0oeHWh123xCts/gIPfwPkPQse2MyrNyGjphG0B+gghegohglCF98cn6TOA8wCEEP1RTlgg3+gFXvx6H/OX72TiwEQW3jCc0CDfFcjbD9VqhHX1g7mR2dug7PAxqUg42sKvp1aY43DW0cHdKVOgNBNytutmjy9Iuu8+TGFhZM+7H6mD3IDPKctWKbdTzoVBVzTv3IhEuOFzGDlbzfV769Im68Ts+XlYfdixrFTzPZCpkBK+fRreuRKiu6n6r17jWru50ra6cYVKby48D3Z+1ro1j6MmLY2gHieKtDaGuWNHoq+9lvK1a6k5cNCrtrSayiJYew90HgHDb9LbmnaDZk6YlNIB/BVYC+xCdUHuEEI8LISYXnvY/wKzhRC/Ae8CN0q/E1IxFlJKnl6bytNrd3PxkE68eO0wgi2+7VC0ZR4CIKhL64eAa07qShAm6DvpmKf1dsJcFRU4S0uPOmF9Jyk7dRSl9AWWuDgS772Hql9/pfidd/U2R3vW3KXSilOea1nExxKkBipf9CJkbIJXx0J2w466dDhwFhRiifftGKwmnbCaclW/tf5RGHQ53LQOoj13bJqk2+mquzRxgKoz+3K+1+rEbGnpHtWD1Sdmxg2IoCAKX3vNKzZ4jS/uV6Ogpv1bDb0O4BM0/aSllKuklH2llL2klAtqn3tASvl57X/vlFKeKaUcLKUcIqVcp6U9bR0pJQ+v2MmLX+/nmlFdefbKIVjMvv9jsmdmYI6NxRTuB101qSuh+5kQfuzIpqPDh/Vxwuo0wpJrnbDwOOg2pk3XhbnpOH064WedRd5zz2E/fFhvc7Rj9xoVmTnnDjWwvTUMvR5mrlEpyUUXwPYPTzjEUVgIUvq0Jgzco4saccIK9qkIVeoqmPgYXLrwmLIAr9GxE9y4EobNgI3PqYhbK2dzOoqLcZWWEtxMJ8wSG0vU5ZdT+vnndR3QupO2EX59C8b8FZJO1duadkWTV2ghhIdFCgH0xOmS3LPsd5Z8n8ZNZ/bksUsGYTa14M7aC9gy/aQzsnA/5O08IRUJKo1iTUjArpNqfp08Rad6s9pSpkDeDiVc2YYRQpA8/yEAsh+a738q455gq4BVt0N8Cpzxd++s2WW4ivh0GgrLZsGae4+pE3NLrujihDUUCdu9RtVqVeTDnz6BMX9pWTTQY0OCYfr/KfX3A9+o2rPclhfIN6cz8nhib5oJQOHiJS3e32s4alQxflQ3GHuX3ta0OzwJk/wohPhQCHGhEFr+hQRoKXani39+sI33tmTyt/G9uX9qf/T8X2XPzPSPzkh3VKlfw4Ma9BRsPeqE1SuOdduZukoHi3yLtXNnEv7nf6j47jvKPtde78nnbHhc1fhNfV6lFL1FhwSY8TmMmgubX4S3LoGKAqCeRliij52whHhcZWW4qqvVEy4XfFOrbh/dQzmOp4z1nUEjZqqomL1SdWHu+KRFy9jS0oGGB3c3hbVzZyKnTaPkww9VhFJPNj4PBXtgyr+0iUIGOCmeOGF9gVeBPwH7hBCPCSH6amtWAE+pcTj5y9u/8Nm2LO6alML/XtBPVwdM2mzYs7P9ozMydaVSIW+k/kQ5YTqlI7OywWI5VlQzpickntouUpKgOslChw4l97HH9b9QeZPs7bDpJRh+I3Qf4/31zVa48Cm4+GXI+FHpiWVtq9Pq8pVavht3DZqjoACqy1T919cL4LQrlf5XlA4NPN1Gq+7SxIFqHuUXDza7TsyWlgYWC9bOLat9jZ09C2mzUbT0jRad7xUK9ikZj1Mvgz7n62dHO6ZJJ0wqvpBSXgPMAmYAPwkhvhFCaPANEsBTqmxOZi3dyrqducyfPpBbz21lXYkXsGdng8tl/M7II3mQ+SOkTG30EEtiAo7cXF3SYfasLKxJSSeOfUqZCpmb4UjbbyIWZjPJjz6Cq7KS3AUL9DbHO7g1wcJi4PyHtN1ryLVw0xqQLlg8EcfvG8Bsxhzj2woTtySGY+8vSsl+92qlQXXJK2D1TNpBEzomq87J4TPh++eVMn8zphDY0tII6tIFYbW2aPvgU04h4oILKH5x8WdsAAAgAElEQVTnHZzl5S1ao1VIqUYTWUJh4uO+3z8A4FlNWKwQ4h9CiK3A7ShV+zhUZ+M7GtsXoBHKq+3MWPwT3+8r4KnLT2PGGT30Ngmo1xlp9EjY7tWAbLAezI01IQFps+EqLfWdXbXYs7OxJjeg05MyRV1U96z2uU16ENyrF3F/vpWyVaspX98GhphvWQRZvygnJDRa+/06D1MRn84jcGxbi6WDFYFvpT/qBFvf/ztUFsINn8Hpt2pb/+UplmCY9rzqCEzbqGrUcjwbndXU4G5PiJ0zG9eRI/p0Av/2LqR9BxMeUnInAXTBk3TkJtR8x4ullFOklMuklA4p5Vbgv9qaF6AhSiptXL/oJ37JKObfVw/lyhHGqb+yZ6pZaoavCUtdCVHdVXqvEdwFzM0eueIF3Gr5J5A0SA3VbScpSYDYm28muF8/ch6ar0/EwFuUZSlNsF7nqfSPr+gQDzd8iiOoOxZzGbx5tE5Mc1wuLHuUg+EgXjmEPc/2zd7NYfiNSmXfXg2LJsAfH5/0cOlyYUtvvjzF8YQOHEj42WdTtHQprqqqVq3VLCoKYe190HU0DLvRd/sGOAFPnLB+UspHpJSHjn9BSvmkBjYFOAn55TVc/epmdmWV8d/rhzNtcAMXah2xZR5CBAf7bEBwi6gphwMbVGrvJHfjbtV8h49V86XdrpTNOzUQCRNCRcP2f60EKNsBIiiI5EcfxVFQQN7Tz+htTstZfSe47Goosq+jQGYrDlcUll6nwaEt8MpYyPpV2z2rS+H96zD//DyYBI7eV0CUgW/Ouo5UTQJJp8FHN8G6+xudQuDIy0NWV7faCQOImzsHZ1ERJR+d3PHzKl/crwadT30+oAmmM558+uuEEFHuH4QQ0UKItRraFKARskuruOrVTaQXVrL4xpGcP8B4IWR7ZibWLl0QRv7D3vclOGtOmooE/QRbHXl5qq6uoUgYKLudNbD/K5/apSehg04l5sYbKfngAyp+/Elvc5pP6irYtVxJAHgyiFoDHHl5WPsMVXViQsCiibBNozRY/h6l/7VnLeLCp7DEJ+Ao1GZ+o1eJSIIZy2HEzfDD/8HblzVYJ3ZUnqL1orJhI0YQOnw4hYsXI222Vq/XJAe/hW1vK2mUxAHa7xfgpHhypYyXUtb99UgpiwHfttcEIKOwkiv+u4n8shreuHkUZ/Ux5ohNW2YmQV0MXg+WuhLCYlUo/iQcHT7sWyesQY2w+nQbA6Ex7SolCRD/t79i7daN7Afu923qprXUHIFVd0DCADULUQdc1dU4S0vVjUWnoWosUNdR8OktsOpOcNq9t1nqSlg4XomhzvgcRs9VncbNGeKtJ5YgmPocTP8PpP+guktzfj/mkNZohDVE3Nw5OLKzKV2u8UQMe7XSBIvuAWPv1HavAB7hiRPmFELUtboJIboDbVA90bjsyzvCla9s4kiNg7dnj2ZkD2Pq50opVSSsm4E7Ix02NSS472Qwn3yguSk4GHNUFPZc3wq2nqCWfzxmC/SbDHvWePfiaXBMoaEkP/ww9vQM8l94QW9zPOfrx6DskCr+Nresk661uB0gS0Jt9Dw8Dv70KZz+F/jpFXjjotZ33Lpc6r2+dy3E9VapvR5nqX09mR9pNIbdADNXq7+x1ybA7x/VvWQ7mIYIDfWa8G342WcT3L8/hQsXIp3eGanUIBv/BYX71JgsPTtTA9ThiRN2H7BRCPGmEOJN4FvgHm3NCuCmtNLOtQs343BJ3ptzOqd1iWr6JJ1wlpTgqqgwdmdk+kaoKW0yFelGD8HWBoVajydliqq5SdvoI6uMQfjpo4m64gqKlrxO1e+edbHpStY2+PFlGHGTijzpRJ1Qa32nwWyBSbWjgg7/rOZOHv65ZRtUlcB718A3T8KQ69QIpcij3wNqdJE+mnutossIFTXsNAQ+vlkVszsdqjOye3evlV0IIYibOwdbWhrlX3zhlTVPIH+PGtk06ArofZ42ewRoNp7ohK0BhgHvAx8Aw6WUgZowH/H46l0UVth4feZIUpI66m3OSbFn1HZGdjFw8W3qSrCGQa9xHh2uh2Cr/XAW5pgYTCEhjR90yjil79POUpIACXfcjiU2lux585B2A0cCnQ6lCRYeD+c9qKspR52wBhpm3KKpwgyLJ8Ovbzdv8bxUlX7c9yVcWDtM3Hrs764lPh5ncbFvap68TUQi3PA5jJwNm16Aty7FdnC/11KRddtMmEBQjx4UvPKq97UJ3Zpg1rCAJpjB8NSNdwJ5QCkwQAhxjnYmBXCz+UAh723JZNbZPTm1c6Te5jRJnUZYN4M6YS6XKpDufZ7HoXhdnLDs7MbrwdwEhan3kbpSfcG2I8wdO5L00IPU7N5N4aJFepvTOFsWQva2Wk0wfSPY7pR6o2r5yYNVxKfbaPjsz6qGzZNU967lSoC1pkwVtI+a3WDnZ119pb9OPrAEwRTlYMq0zdgOHSIozrvpPGE2Ezt7NjW7dlHx3XdeXZttb0P69zDhYSVZEsAweCLWOguVglwLzK/99yFtzQpQbXdy7ye/0zUmlNvO848pUfZDmQAtHuOhOVm/QnnWSVXyj8eSmICjoEDbOo3jaFQj7HhSpqj3o7XUgAGJOO88IiZPouDFl6g5YMCB5qWHYP2j0HsCDLxEb2tw5OUjgoMxRZ7kZi48Fq7/BMb8FX56FZZOV5MlGsLlVO/v/eshvp/S/+p+RqNL16nm+1td2PEMvR77pCXggqD9b8H2D726fOS0qViSkyl45VXvLVpRAOvmqYaeoX/y3roBvIInkbB/ACOBdCnlOGAo4Od/ScbnpQ37OZBfwYKLBxEaZG76BANgy8jEEh+PKdSgBZ+pK1TKpc8FHp9iTUgAp9Nnd/BSysbV8o+n7yQQpnaZkgRIuu8+RFgY2fPuR7p8qwLfJKvuVI7KlGcMoQzvyMvDkpDQ9FxZswUmLoBLX1PO/Stj4dBxdWJVJWr49rdPw9Drlchp5MlvvOrmR/q7EwbUVIUDENSrNyybBWvubVRPrLmIoCBib7qJqp9/pnLrVq+sydr7VIduQBPMkHjyf6RaSlkNIIQIllKmAv20Nat9sze3nJc37OOSoZ05p6//hI4N3xmZuhJ6nKnm9nnIUa0w31w8nCUlyKoqrJ09iISFxUD3M9utE2aJiyPxnrup+uUXit/VYexLY+xaAbtXwrh7lBSAAXA7YR5z2hWqTsxsgSWT4Jc31fN5u9Ron/3rlejs9BdOqP9qiLp0pD8W5x9HnTzFre/DqLmw+UV482KvTSGIuvwyzDEx3omGHdgA29+Ds26DhJTWrxfA65y8R19xqFas9VPgCyFEMZClrVk64nLBgfXQ/SyPvly8v73knmW/Ex5sYd6U/j7fvzXYDh0ifJR+HWAnpWAvFOyGkTc36zR3S78jLxcYqIFhx2I/rP60LJ5EwkClVtfcBYX7IVb/Ae4ecyQfTOZmOcQNEXnRRZQtX0H+s88Rce65+qfCa8pVPVXiqXD6n/W1pR6O3FyCBzTz+yT5NJVm/GgmfP5X2LsW9q2HoHCYsQK6j/F4KUtsDAjRJiJhtrQ0zJGRWGLj4cKnVOfk8tuUntjkp1pd/2cCYi46l/wly6j68l1C+7RQEFZKpQkWcwqc/b+tsimAdjTphEkp3QUNDwkhvgYigTWaWqUnGZvgrcvg4v/CkGt8vv27WzLYml7MM1cMJrZDsM/3bykumw1HTo5xZ0a6o0UeSlO48bVqvj27CaHW40m5UDlhqSvgzH9oaJkX2bMOPp6lip2vWKqiky1ECEHS/PkcmD6d7Ifm0/XVV5pOuWnJ+gVQng1XvambJtjxSCmx5+fTIeHc5p8cFgPXfQxfzVcK8p1HqPfWsXnj0oTFgjk2to04YcfNjBxyLST0h/euVzIdXiDaJii0JlL45D10ObO4dYvd8FlAE8zAnNQJE0KYgO1SylMBpJTf+MQqPel+BsT1U51NPnbCcsuqeWJVKmf0iuWyYQYtbm8E+6HDIKVxOyNTV0LykGO0izzBEhsDJpPPnDBHU2r5xxPVTc26S11pfCfM5YKNzypHJWkQ2Kvgjekw8TEYNafFtVNBXTqT8D//Q+6CBZQtX07k9OleNtxDDv+ihE9HzlL6UgbBVVGBrKxsubCo2QIXPKLqv6J7Kue5BVgS4n2uuacFtvT0EyP+nYbCn3/wWpOMGYi2fkbhB2upGfcEwV2TWrZQRLJqnAhgWE7qhEkpXUKI34QQ3aSUGb4ySleEUF+iq+9QX6qdh/ls6/nLd2BzunjskkH63s23gLrOSCNqhJXnqKHF4+5r9qnCYsESF+cz1Xx7VjYiNBRzVDNSGilTYcPjUJ6rNI2MSE05fHKLitiddpVSj3fa1HOr71QXr6n/avEde/S111C2ciW5Cx4j/MwzscTGevkNNEGdJlgCnHe/b/duggaFWltCKy/mfqmafxyuqioc2dkNz4wMiYRTzvXaXjF/H0TRZxsoXLOdTo9f7bV1AxgLTwrzk4EdQoivhBCfux9aG6Yrg6+GoA6w5TWfbfnFzlxW/Z7D38/rQ4+4cJ/t6y1sGcoJM6Ra/u5VgGx2KtKNL1Xz3fIUzXLCU6YAEvas1syuVlGwTw1z3r1aaWZd8opytkIi4aq34dx74bd3YfEkKMls0RbCbCb50UdwVVaSu+AxL78BD/jpFcjZDpOfVO/LQDhqbyC8NWKnpbQFJ8xWK0jtbaHWhrDExhJ1xRWULl+O/fBhzfcLoA+eOGHzganAw8Cz9R5tl5CO6m79j4+hskjz7Y7UOHjgsz/olxjBnHNO0Xw/LbBnZqoITpwBB4unrlRplISWNTr4UrDVnpXlmTxFfRIHQlR3Y3ZJ7l6juukqC1Rtyum3Hpt2NJng3Lvgmveg6IAanXOwZUKVwb17E3vrLZStWkX5+vVeegMeUJKpUqx9J8GAi3y3r4ecVC3fh1ji43EUFvpUc8/b2A6mAb5xwgBib5oJQOHiJT7ZL4Dv8WRs0TcNPXxhnK6Mmg2Oavj1Tc23embtbnLKqnn8skFYzf6p42I7dIigLl2Ml0atLoMD36hoUQttsyT60AnzRC3/eISA/tNUO3pNuSZ2NRuXCzY8Ce9eBTE9VZddz7MbP77fZJi9HsJi1TDpzS+3aBJA3KxZBPftS85D83GW++CzkBJW3Q5IuPBpQ2iCHY+99ne3UbV8H2GJjweXy39V86knT+EjKR5rcjKRF02n5KOPcBR4RwIjgLHwRDG/XAhRVvuoFkI4hRBlvjBOVxL6K5mKLYuU6KJGbMssYemmNG44vTvDukVrto/W2DMyjNkZue8LcNmbpZJ/PNaEBJzFxbg0nnvnqqrCWVTUfCcMlJPptMFejYb/NofqMqWkvuExGHwN3LQWojz43YjrA7O+Ug7ZmrtVvZi9qllbi6Agkhc8iqOggLxnfBCw37Uc9qyBcfeqJgkD4sjLx9ShA6Zwfcsc6rTC/DglaUtLw5KY6NPPMnbWLKTNRtHSN3y2ZwDf4UkkLEJK2bH2EQJcBrygvWkGYOTNUJKuBtNqgN3p4u6Pt5MYEcLtE/23g0VKqSJhRnTCUleqAcpdW65f5ivBVnt2DgDWTs1MRwJ0Ha2iSHqnJPP3qFmCe9YozaSLX25esX1IR7jyTRg3D7a/D4sugJLm9QSFDhpEzIwZlLz/PhU//dTMN9AMqktVU0HSIBh9q3b7tBJHbq7u9WBwNBLn105YerrPUpFugnv2JGLSRIrfeQdnWduPf7Q3mp37klJ+CozXwBbj0X8adEiCnxZqsvxr3x0kNaechy8aSESIMTSFWoKzsFCpvBvNCXPUKE2qfpOVMGgL8ZVWmL258hT1MZnV+9y7DhzaRuwaJXUVLByv6ihnfA6j57YsPWcywdg74Nr3oThNjc450LwKiPi//w1r165k338/rurq5tvgCesfVZ230/6tZBwMSrPV8jWirUTCgrq3UDy1FcTNmYOrooLid97x+d4BtMWTdOSl9R6XCyGeAJpfrOGPmK0w/EYVCSvy7pDg9MIKnv9yD5MGJnHBwBZqwBgEw3ZGHvwObOWtSkXC8ar52mHPUh1QzS7Md5MyFWrKIK1lhe0txuWCrx9XQpVxvWHuN9DjrNav23cizP4aOiTAm5fAphc9rhMzhYaS/MjD2NMzKHhBg8D9oZ/VzdmoOdB5uPfX9yKOvDysiQZwwmqbdvx1dJGzpARncbHPI2EAIf37Ez72HIqWvoGrstLn+wfQDk8iYdPqPSYC5YDxWoC0YviNKsqwdbHXlpRSct8nfxBkNvHQdO1H4WhNnUZYV4PVxKSuAGs49BzbqmXcXWWaR8Kys8FsxpLYQq2vU84Fa5hvU5LVpfDetfDNEzDkOpi5ptmCuCclrjfM+lJNBlh7LyybDTbPLkLhp59O1BWXU7h4CVV/7PCeTU670gSLSIbx87y3rga41fKNEAkTQUGYo6L8NhJmS08HfNcZeTxxc+fiLC6m5KOPdNk/gDZ4UhM2s95jtpRygZTSP29lWkLHZBVh+PWtZhcJN8Ynvx5m474C7pycQlKk7+dTehtbZiYI4dnQaV/hcil9sD7nt3oGqDkqChEUpLkT5sjKwpKYgLC0MLVlDYXe56n37XJ517iGyN+t0o/7voALn4GLXtRm3mpwhKoTG38//P4RLL4AitM9OjXhjjuwxMaSPW8e0m73jj2bX4bc39XcwJCO3llTI5zFxWC3Y4nX3wkDt1aYf3b51XVG6uSEhQ0bRtiIERQuWozUuEkogO/wJB25tHaAt/vnaCGE98JC/sCo2VBVrHTDWklRhY1HVuxkePdorhtlsMhRC7FnZKqOoWADzbo8/DMcyW11KhLUfEJLQgL2XK1rwrKxJrfSkU2ZpmYXZv3iHaMaY9cKJcBaXQozlqu/ES3lGYSAc26Haz+A4gw1LHn/102eZu7YkaQHH6AmNZXCRV742ipOV9MJ+l3old8trfGaWr6XsCQk+G0krCYtDcxmgrroN1Iudu4cHLm5lH7etvXS2xOepCNPk1KWuH+QUhYDQ7UzyYB0PxPi+6sakBZoF9Xn0ZU7OVLj4PFLB2EyGU9TqCUYsjMydQWYLNDnAq8s5wvBVrdafqvoewEIs3r/WuByKWHS96+D+L5K/6v7Gdrs1RB9L4A5X0OHRHjrUvjhP03+TUacfz4RkyZR8NJL1BxoRW1nnSaYUJ2fBtQEO546J8wANWHg36r5trQ0rF06I4JaNjvTG4SfdRbBA/pTuPA1vxa9DXAUT5wwkxCiTsBKCBFDEzMn2xxCwKhZkL1NRVhayMa9BSz75TC3jO1F38QILxqoL/bMTON1RqauhB5nQ2gzZjCeBK2dMOl0Ys/NbXlRvpvQaFUUr0VdWFUJvHs1fPuUGuZ84yqI1CEqENtL1Yn1nwbr5sHHs5qsE0uadx8iNJTsefcjW5qq3fmp6j4dP88z3TMD4DCIUKsbtxPW4v8HOmJLT9elM7I+Qgji5szFlp5O+bp1utoSwDt44oQ9C/wghHhECPEw8APwlLZmGZDTroKgiBbLVVTZnNz7ye/0jAvnL+N6e9k4/XBVV+PIyzNWZ2T+bijc2+JZkQ1hTUyom8GnBY78fHA4Wh8JA5UmK9ijNLu8RV6qqv/a/xVMeRamv6BN/ZenBHeAK5bCeQ+qMoFFFyg5i0awxMWRePfdVP3yC8Xvvtv8/apLYfVdkDxYdUT6CW61fHO8viOL3Fji48HhwFlS0vTBBkJKiS3N9xphDREx4XyCevak4JVXka3MzATQH08K899ACbTmAvnApVJK7Wf5GI3gCDXYe8cyqGh+Yen/rd9LRlElj10yiBBryzWrjIb90CHAYJ2R7lRcvwu9tqQlIQFXZSXOIxVeW7M+dRph3mhuSKl937u9FA3b+bkSYK0phxkrYOQsY6TihICz/wnXfQSl7jqxxmdGRl58EeFnnkn+s8/Vfd4e89XDUJFveE2w43Hk5mGOjsakYwqtPnWdxn6WknTk5SMrKw3hhAmzmdjZs6lJTaXi22/1NidAK/GkMP90IFNK+YKU8j9AphBitPamGZCRs9RomF+aNz5iV3YZr357gCtHdGFMr1iNjNMHW6YBNcJSV0KnYV5NlWkt2GrPygZaoRFWn8gukDyk9SlJlxO+egQ++BPEpyj9r+5jWm+ft+lzPszZoCQj3roMNj7fYJ2YEIKk+fORQPZDD3keRcj8SY0vG30LdPKvclhHXl7LJU80wFfTJ7yNuzMy2ABOGEDktKlYOiVT8N9XAtEwP8eTdOTLwJF6P1fUPtf+SEhRdUZbl3g8T9Lpkty97HeiQq3ce2F/jQ30PfZMt0aYQWpkyrJU3Z4XU5FQX7BVKyesNhLmDScMoP9UOLQFyrJbdn5VCbxzFXz3DAy7AWaugo4GkiA5nphT4OYvYMBF8OWD8NFMsJ0YtQzq0pmE226j4tvvKFvhQfOC0w7Lb1Pvfdy9GhiuLUot3xipSPBf1Xy95SmOR1itxN50M1W//krV1q16mxOgFXjihAlZz9WWUrpob4X59Rk1W6U+9npWFPnmpjR+yyzhgWkDiAozRkrAm9gyD2EKD8ccbZDh47tXqX/7T/PqskcFW7WpC7NnHcYcGem9wcBu+QT359EccnfCwnFwYANMfR6m/wcsBpIfaYzgDnD5Ejh/Puz8DF6b0OCki+jrriV08GByFzyGo7Dw5GtuehHydsCFT6uSBD/DKCOL3PizEyaCg7EkGWe6SdTll2GOjaXglVf1NiVAK/DECTsghPi7EMJa+/gH4N0ZPv5EvykQ0cmjAv2skiqeXrubsX3jmT7YwFGEVuDujBRGqBEClYKL7Q1xfb26rFvsUrNIWHY2Fm+K3canqOhQc1OSOz6F185XUaQbV8KImd6zyRcIAWfdpurEyg7Dq+PU2LH6h5jNJC94FFdFBbkLHmt8reI02PCEcmi9HFn1BdLhwFFYaJjOSABTSAimiAi/G11kS08nqFs3hKnZ45Y1wxQSQsyMGVRs3OjdiRABfIonv1G3AGcAh4FDwGhgtpZGGRqzRV2Y9n8FhfsbPUxKyQOf/YFTSh69+FTjOClexpaZaZx6sKoSOPitumB6+fM2dwjHFB5e123mbRze0AirjxDqczj4rersawqXE76cDx/OgMSBSv+rmx+XfvY+T9WJRXaBty6H7547pk4suHdvYm+ZS9mqVZSvb0D0VUpY8U81smyyfzaDOwoLweWqS6UbBX/UCrOlpRkmFVmf6GuuxhQRQeGrgWiYv+JJd2SelPJqKWWClDJRSnkt0EN70wzMsBlKCHTLokYPWfNHDl/uyuOfE/rSNSbMh8b5DulyYT90yDidkXu/AJdDMyVzS2IiDg1U86WU2A9ntV4t/3hSpoLLrj6Xk1FVDO9cCRufU7NSb1yhxnX5OzE94eZ1MPAS+KrWwaw5Wt4aN3s2wX36kDN/Ps7y8mPP3bFM3WiNv18fLTQvYDS1fDf+5oRJh0PdbBrQCTNHRBB93bWUf/EFNfsbDwoEMC4ex1aFEAOEEA8LIfbSXgvz3UQkQv/psO2tBkUiS6vsPPj5DgYkd+SmM3vqYKBvcOQXIGtqjBMJS10B4QnQeYQmy2sl2OoqK8NVWendSBhAl5EQHn/ylGTuDiXtcOAbVf817d/+Uf/lKUHhcPlimPAI7FquUq21EWwRFETygkdx5OeT9+yzR8+pKobVd6tOyFH+G/Q3rBPmZ6OL7FlZYLcb0gkDiLnhBkRwMIULX9PblAAt4KROmBCiuxDibiHEb8CbwJ+BCVJKba5y/sSo2SrN8/uHJ7z01JpUCo7U8MRlg7CYjVND4G3smRkAWLsYoDPSXq1qf1IuBI3qNiwJ8Zo4YXWdkd52wkxm6DdZRcIcNSe+/scy5ZTYq1X3o7/Vf3mKEHDm3+H6ZXAkRzUd1EYHQ087jZgbbqDkvfep+OkndfyX86GyQDmkJv/V9LPXigsbqTsS6qnm+4m0Ql1nZM8eeprRKJaYGKKuvILS5cuxHTqstzkBmkmjVyshxA/AKsAKXC6lHA6USynTfGSbsek2BhIGwpZj50luSSvi7R8zmHlmT07r4p2ROUbFlqmEWoO6GcAJO/gt2I6oAdYaYU1MxJGX5/WLhz27ViOskwYpwJRpYCtXn48blxO+eEDJOCQNUvpfXUd5f2+j0WtcbZ1YN3j7Cvj2GZCS+L//DWvXruTMfxiZvhl+XgKn/1mp4/sxjrw8MJuxxBpLm9ASH4+sqcFVVqa3KR5hNHmKhoidORNMJooWe2FIfQCfcrKQQT4QASQC7lsp/7h18QXueZI5vysxR6DG4eSeZb/TOSqUf07wbneeEbFnZoLJ5D1tq9aQukKNlep5tmZbWOITkHa710eu2A9rFAkD6HkOBHU4OkWgsgjevhy+/zeMuFkp4EcYp+1ec6J7qDqxUy+D9UqI1mR2EjNjBrb9+3G883eI7Arn3qO3pa3GkZePJS4OYTZWNM/fZCpsaemYIiKMI8PTANbkZCIvmk7JRx/5zecaQNGoEyalvAgYBPwCzBdCHASihRDt4JbZQwZdCcEdYYvKxb/yzQH25R3h0YtPJTy47Uup2TIzsSYlIfQeieJyKj2sPhM0rWfSSjXfnp2NCA7GHBPj1XUBNd+x9/mQugqyf1P1X2kblfbX1OfA0va065okKAwuew0uWKDq5V47n9CecQBU7U2HC59RmmN+jtE0wtz4nxOmOiON3uEeN2sW0uGg6I3mTXQJoC8n9RSklKXAYmCxECIBuAp4XgjRVUppgByUzgR3gCHXwtbFpI24jxfW72PqacmMSzHeF59XqSiAjM3Y92zHGhsGuzxQHteSkgw1109jLSdLYq0TlpsL/fp5bV17VhbW5GTtvuRTpsLOT9UA7vB4mLkaurTzsk4h4Iy/qnTshzcSsmE2whxGpSuFjv0m6W2dV3Dk5mLtZpDO5Xr42/xIWxTvSmMAACAASURBVFoaocOH621GkwT16EHHSRMpfuddYmfNwhwZqbdJATzA43CNlDIP+A/wHyFEd+1M8jNGzoIf/8umj/5FiPVCHpg2QG+LtMVWqYY5F6dhS08kolM1vH+d3laBNVxFwrTcQqtImLc1wo6nzwQVsU0cCFcsVd29ARSnjIU5GxDvX0dIXB5V5RpEI3XCkZdH2EjjOdt1wsd+4IS5qquxZ2cT2cM/Lnmxc+ZQtmo1xe+8Q9ytt+ptTgAPaFHOTEqZ7m1D/Ja4PuTEnc45+csxTf4HCREhelukLd8+DcVpuC58Ced7j2IdfzNcd4neVkF4HIRoe+fnTqN4W7DVnp1F8NixXl3zGEKj4LbtyhHz424/zYjuDrO/Jqz4SQrf+QBXTQ2mYP+W6XDV1OAsLTVkOtLcIRwRFuYXQ7xtGRkgpaGL8usTkpJCh7FjKVr6BjEzZmAKa5salW2Jtl+4pDH55TU8XnAW/xabuaLjDuAUvU3Sjtyd8MP/wZDrsEWOBCBo4ChIPk1nw3yDCArCHBPj1UiYq6YGZ36BtpEwgFDjFhUbArOV0JGnw9K3qd6xk7BhQ/W2qFW4o0zuqJPRsMTH4cg3/ugif+iMPJ7YuXNJv/ZaSj78kJgZM/Q2J0ATnEyi4hohhLF6mw3Iwyt2ss4+FHuHTpi2tmGxPJcLVtymoikTHsF+KBMwiEaYD7EkJHhVNd/hlqfwtlp+gGYTOlhJUlRt26azJa3HUacRZlQnLN4/ImHpKukT1L2HvoY0g7BhQwkbOZLCxUtw2Wx6mxOgCU4mUdEd+FAI8Z0Q4iEhxGhh9PYQH/N1ah7Lf8vilnH9sI66CQ5sgIK9epulDb+8Dpk/wsQFEB6LLUM5YYZRy/cR3hZsPaoRFnDC9MYSH4+1c2eqfvtNb1NaTZ1afqIxnTCrn6jm29LSMMfHYe4QrrcpzSJ27lwcubmUfvaZ3qYEaIKTSVQ8IaUcD1wI/AbcBPwihHhHCHGDEKJdV/dW1DiY9+kf9E7owC3nnlI7T9JaJ1fRpijPhS8egh5nw+BrAKURZurYEXNU2xakPR5vjy6qU8vvHHDCjEDokCFtIxJW+ztqNXIkzC+csHSC/SgK5ib8zDMIGTiQwoWvIZ1Ovc0JcBI8GeBdLqX8REo5V0o5FHgUJd7arsVI/vXFHg6XVPH4pYMItpihQwIMvBi2vXPMkOA2wZq7wVGlZgvWBkNthzIJ6tK+omAA1oREHIWFSIfDK+vZs7JBCMNeLNsboYMH48jNrYtQ+iv2vDxEUBAmg8oUWOLjcVVW4jxSobcpJ8WWlmbYcUUnQwhBzI0zsGdkUPXbdr3NCXASmj1kT0q5U0r5rJRyohYG+QO/Hypl8fcHuXZ0N0b2qNfSPnI21JQ1OE/Sb9n7BexYBmffDnG96562Z2QaUoNIaywJCeBy4Sgs9Mp69qwsLAkJ+gveBgAgdOgQAL9PSTpylVCrUStIjgq2Grc431lWhrOw0K+K8usTftZZIAQVmzfpbUqAk9B2p0trhMPp4u5l24ntEMxdk1KOfbHrKCX+uOW1Y+ZJ+i22Slj5T4jrC2fdVve0dDqxHz7c7urBwPuq+W6h1gDGIKRfP0RwMFW/+ndK0pGXhyXRuBUj/qCaX1eU76dOmCU6mpABA6j8IeCEGZmAE9ZMlnyfxo6sMuZPH0hkqPXYF4VQ0bDcPyBjs1f2k1JS9Nbb5D71NEVLl1K2Zi1V27Zhz8nxWkqsUb55UqnRT33+mHFAjrw8pN3e7joj4TjVfC9gz84OFOUbCBEURMjAgX5fF6ZGFsU3faBO+IUT5ofyFMcTfsYYKn/7DVeFsdO+7ZkmdcKEEL2AQ1LKGiHEucBpwBtSSu9OMfYDMosqee6LPZzfP4HJpzYy9HjQFbDuftiyELqPafWepcuWkfvoo2C1gt1+7IsmE5a4OCxJSVgTE7EkJmJNSsSSmFT7r3q0SHgy5w/44T8w9HroceYxL9V1RnZrf06Yu3bLG4Kt0uXCkZ2NdeIFrV4rgPcIHTKE4jffxGWzYfLTNLEjL48OY8/R24xGqYsoG9oJSweTCWtX//2eCx8zhsKFr1G5dSsdtBSEDtBiPBFr/RgYIYToDSwCPgfeQXVNthuklMz79A9MAh6+6NTGay2CwmDodfDTQtVV2IoRMbaMDHIWPEbYqFF0W7IYZ1kZjtxcVTick4sjN6f231xqDh6gYtMmXEdObAowR0crBy0xUTlsSYlYEhKxJCViTUrCkph0bAu2ywXL/6EEPic8csJ6dRphfvzl1FLMMTFgNnslHekoKEDa7VgC6UhDETpkMEWLF1OzcyehQ4bobU6zcR45gquy0rAaYQCmjh0RQUEGd8LSsHbq5LeOOEDosGGIoCAqftgUcMIMiidOmEtK6RBCXAI8L6X8jxDiV60NMxqf/5bFN3vyeXDaADpFhZ784JGzYPNL8MtSGHtni/aTDgdZd9yJMJvp9OQTCLMZS3Q0luhoSElp9DznkQocebk4cnKOOmq5uThycrHn5lK1fTvO4uITzjOFhx+NqFlKsRTsxnrGNVh+2l7rqCVijopCCIEtMxMsFqxJjUQD2zDCbFbt9V4QbHW45SkC6UhDETpYOV6V27b5pRNWpxGWYNyaMCGE4QVbbWlpfp2KBDCFhBA6fBgVmwJ1YUbFEyfMLoS4BpgBTKt9znqS49scJZU2Hl6+k8FdIrlhTI+mT4jtBb3Gw9YlcNY/wdz86VAF/32Fqt9+o9OzzzSrcNvcIRxzh1MIPqXx8UmumhoceXlHHbW82shaTg72rExqDu7EURUBO1fAayvqzhNBQViSknAdOYK1UyeEpX1OvfKWVlidRlhALd9QWBMTsHRKpmqbf3ZIHnXCjBsJA2NrhUkpsaWlETnUv8dXAYSPOYP8557DkZ9fV4sXwDh4chWdCdwCLJBSHhRC9ATe0tYsY/HYql2UVNl58+bRmE0etnyPnA3vXQO7V8KAi5q1X9W2bRS8/DIdp08jcsqUFlh8ckzBwQR17UpQQ+nED2bA7mLknI04ZEflmOXmHZP6tOfk0OHss71ul79gSYjHnp7R6nXq1PIDQq2GI2zIECr9tEPyqBNm7AuuJT6emgMH9DajQZwFBbgqKvw+EgaqLiwfqNj8I5HTpuptToDjaNIJk1LuBP4OIISIBiKklE9obZhR+GF/AR9sPcQtY3sxoFNHz0/sOxEiu6nasGY4Yc4jFRy+406siYkk3X9/CyxuBXvWws5PYfw8RGJfrIA1KYkmkq/tDmtCIlVbtrZ6HfvhLDV1oEMHL1gVwJuEDh5M2arV2HNzsRpY6qEh7O65kQYd3u3GkpBAxY8/6m1Gg7SFzkg3IQP6Y4qMpGLTpoATZkCalKgQQmwQQnQUQsSgxhctEUI8p71p+lNtd3LfJ3/QLSaMf5zXp3knm8wwYiakfQf5uz0+Lffxx7AfPkynp57EHBHRTItbga0CVt4O8Slwxj98t68fYklIwFlaiqu6ulXr2LOzAxphBsVdC+aPemGOvHxM4eGGn3doiY/HVVbW6r8jLTiqEdZdZ0tajzCbCR89mopNm5BtQb+yjeGJTliklLIMuBRYIqUcDpyvrVnG4MWv93GwoIIFl5xKaJC5+QsMuwHMQR7Pkyxbt47Sj5cRO3s2YSNGNH+/1rDhcSh1a4L5bzeQL/BWe709KytQlG9QQvr3RwQF+aVyvtGFWt3UaYUVFOhsyYnY0tIQVmubuUkKP2MMjuzsughfAOPgiRNmEUIkA1cCK5o6uK2wO6eclzfs59KhnTm7TwtrK8LjYOClsO1dqCk/6aH23Dxy7n+AkIEDif/Ln1u2X0vJ3g6bXlJDyL2gbdbW8ZZqfkAt37j4s2irEmo1dioSjtaseWv6hDepSUvD2r0bwtyCm28DEj5Gfa8HuiSNhydO2MPAWmC/lHKLEOIUYK+2ZumLyyW5Z9l2IkIs3Delf+sWGzUbbOWw/f1GD5EuF9n33IOrpoZOTz/t2zmCLqfSBAuLgQnzfbevH2P1gmq+s7wcV3l5oCjfwIQOHkz1jh1Im01vU5qFIzfX8EX5UC8SZkCZirYgT1Efa7duWDt3pjLghBmOJp0wKeWHUsrTpJS31v58QEp5mfam6cfbP2XwS0YJ86YMILZDC9Tm69N5OCQPhp8anydZ/NZbVPzwA4l330XwKT1bt19z2bIIsn6BSU8ocdYATWLxgmq+Pau2MzKQjjQsoUOGIG02qlNT9TbFY6SU2PPz6yY7GBmjquZLpxN7egbBbcgJE0IQfsYYKjb/qP24uwDNwpPC/C5CiE+EEHlCiFwhxMdCiDY7uTmntJqnVqdyZu9YLh3WufULuudJ5u+C9O9PeLl69x7ynnmWDueeS9RVV7V+v+ZQlgVfPaw0zU5t0361VzF17IgIDm7VHbw9260RFkhHGpXQobXF+X6UknSWlIDdbmihVjfmqCiwWAznhNmzs5F2e5uKhIFKSbrKy6nesUNvUwLUw5N05BLUqKJOQGdgee1zbZJKm4P+nTqy4OJBjY8mai6nXgYhUUquoh6umhqy7rgDU0QEyQse9d5+nrL6TnDZYcqzylkM4BFCCCyJia1KR7qFWi2BSJhhcY/58icnzF+EWgFE7exbozlhtrTazsju/t8ZWZ+w008HAnVhRsMTJyxeSrlESumofbwOGL/goIWcEt+BD+aOoUecF9u7g8LUIOzUFVCWXfd0/r+ep2bPHjo9tgBLbKz39vOE/2fvzsPbqu70gb9HupItybstObbjLM6+Wtkjp3QKlJa2LG2hQAothZKETillKBBooe1AKVtbppTOQNJSShdaygATlsKPlqFlsm9kIYE4i5zFi7zbkWRLVzq/P2QpduLdkq6W9/M8fhxLV/d+LRL8+pxzv+fDN4CDr4a2VSoYuLs+9U+xWce0oFitrYUwGKAUFUWxKoo2k92eVJ3zw78YJEMIA3q65ifYwvxU6hHWm1JQgIxZs+DexBCWSIYTwpqEENcJIfQ9H9cBaI51YSlnyddDi+B3PgsAcG/ahJZnn0X+l1fGf2PV7tPAG3cCttlA1a3xvXaKMIxx6yJ/bR2UkhII3XD+CZJWTPZK+Gtrx7T+L56SaSQMSMyti3xOZ6jPWgr+gmRxOODdvRtBj0frUqjHcH4C3IhQe4p6AHUArkRoKyMaiYIKYOongZ3PItDchNq774GxogK2O++Mfy3/+2Og42SoJ5g+rbYBjRrFVgy/yzXq5ofsEZYcTJWVAJJnXZg/SbYsCkvUEGacNCn+y0PiwOJwQPr98OzcpXUp1GM4d0cel1JeJqW0SiltUsrPI9S4lUZq6SrIznrU3fENqC0tKH3sUehMcd4UqPZ9YOt/AYtuACYsi++1U4his0F6vQiePj2q17NbfnLInDMHwmBImqatqssFfX4+dPFsczMGis2KQGtrQrUBSbX2FL2ZFy2EMBi4LiyBjHYu5PaoVpEupn4S7a5ydG7eD+utt8I0Z058rx/pCVYEfPKH8b12ihlLw1bp80F1uTgSlgR0RiMyZ89OmnVhakNyNGoNi/QKa06MFS5Bnw/+2tqUDWE6sxmmBQsYwhLIaENY6o3TxoHvVC0aNulgtnaj8JLl8S9g2zqg7n3gMw8Dprz4Xz+FRBq2jiKE+RsaAClhKOVIWDIw2SvRtX9/Qo3WDCRZuuWHnWnYmhhr7vwnTgDBYErsGTkQS5UD3QcPQm1p0boUwuhDWErvAtrh64j6OaWqovautYAhA6VVHohdce7y0X4SeOdHoXVpczibPFaRhq2jaFPBRq3JxWS3Q3Z3o+ujQ1qXMqTQvpHJFMISq2Frqt4Z2Vt4CyPPli0aV0LAICFMCNEphOjo56MToZ5hKWlP4x586sVPYUtddP+CNq1bB+/u3Rj3gx/AsPwLoW2MuqIf9gb017Wh6Uj2BIuKsWy5Eu4RxhCWHEz25GjaKlUVanNzUnTLD4v8O0q0EJZiPcJ6y5w7F7rsbE5JJogBQ5iUMltKmdPPR7aUUolnkfE0s2Am8jLy8Mi2R+AP+qNyTu+ePWj65X8i55JLkHvpJcDSmwDfaWDPn6Jy/iEdfC3Uo+wTdwP5k+JzzRSnM5uhy84e3XRkT7d8Zdy4aJdFMWAoKYFSXJzwIUxtbgaCweSajiwsAHS6hAph+sJC6HNytC4lZoReD8vyZXBv3DTqu7spetik6CwZ+gzcteQuHG47jBc+emHM5wu63Th1111Qim0Y9/37Qg+WLQJKFwLbB95PMmq6O0M9wYrnAo5vxvZaaUYpto2qa76/thZ6axF0GWPcl5TixlRZmfB3SCZbjzAAEIoCfWFB4oSwY6l7Z2RvZocj1P/u+HGtS0l7DGH9OL/8fFSVVuGXu3+Jlq6xLV5sePhh+I+fQOnDD/f97WrpKqDpI+DYP8dY7RDeeRDorGNPsBgYbcNWtbYWhhJORSYTk90O/8mTUJuatC5lQGdCWOLvG9lbqGt+YoSw7hpnSi/KDwuvC+OUpPYYwvohhMDaJWvhVb14YtcToz5P59/+hra/vIjCm74Oy9KlfZ+c80XAVBAaDYuVU7uAbU+HuvWXL4ndddKUYrXB3ziK6cjaOq4HSzLJsC5MTbJGrWGK1Tqqf0fRFjh9GoHGJhgnTtK6lJgzTpoEpaSEWxglAIawAVTkVeDLs76Ml6pfwgfNI9913u9yoe7e+5Axexas3/rWuQcYMoGFXwE+fB1oPxWFis8SUEM9wSw24MLvR//8FNrE29UIGQwO+zVSylCjVoawpJI5ZzZgMCR0CPO7XIBOF/99aMcoUbrm+2p6Nu5Og5EwIQQsDgfcW7dCBgJal5PWGMIGcXPlzcjPzMdDWx8a0QJGKSXqvvs9BL1elD32GMRA3asX3wjIYGQ/yaja9jRQvxf4zCNAZm70z0+htTeqikBr67BfE2hpgezuZrf8JKPLyEDmrFkJ3bRVbXBBKSqC0Ou1LmVEDDYbAs0tmoeBdGhP0ZvF4UCwvR1dBw5qXUpaYwgbRLYxG7ctvA17GvfgtaOvDft1rb//A9z/93+wrb0LGVOmDHxg/iRg2qdCIUyNYiPIthOhtWDTPg3Mvjx656U+wtM+I1kXFmlPUcaRsGRjslfCu38/pD86d01HW6hHWHKtBwN62lQEg5p3zfc5nYAQME6YoGkd8WJxhBqGc12YtmIawoQQFwshPhJCHBZC3D3AMVcJIQ4IIT4QQvwxlvWMxuVTL8fcwrl4fOfjcPvdQx7fXV0N12OPwfIvH0f+ypVDX2DpKsDtAg5uiEK1CN1t+cYdACTw2cfYEyyGDD0/8EbSsNV/ij3CkpWpshKyqythm7YmW7f8sETpFeZz1sBQUgJdZqamdcSLUlSEjOnT4d68SetS0lrMQpgQQg/glwA+A2A2gJVCiNlnHTMNwD0AVkgp5wC4LVb1jJZO6HDPsnvQ6G3E+r3rBz026PPh1J13QZeVhdIHH4QYTgCaciGQPzl6C/QPvgocehM4/7tAfuqvbdDSaPaP9Nf1dMvndGTSMYcX5+9JzHVhoRCWXIvygcTZuiiVN+4eiMXhgHfnLgS7urQuJW3FciRsKYDDUsqjUkofgD8BOHtubBWAX0opWwFASqn9LTL9mG+dj8unXI7nDjyHmo6aAY9r/I+fo/vDD1Hyox9BKSoa3sl1utDdi8c3A/X7x1ZoVzvw17uA4nnAsm+M7Vw0JKWoCBBiRLfX+2trobNYoEvhZpCpSikthWK1JuS6sGB3NwJtbUnVLT8sEUbCpJQ9ISy9fnG1VDkgfT54d+3SupS0FcsQVgbgRK+vT/Y81tt0ANOFEBuFEFuEEBf3dyIhxGohxA4hxI5Gjf6h3rboNhj1Rjy2/bF+n3dv2YKW3/wGeVdfjewLzh/Zye3XAkomsH3wkbYhvfMjoLMeuPTngD5lNzVIGMJggL6wcIQjYbUwlJYMb5SUEooQIrQuLAHvkAwHmGTrEQYg8gurliEs0NqKYGdn2o2EmRcvBgwGrgvTUCxDWH8/Zc6+xVABMA3AJwCsBPArIUTeOS+Scp2UcrGUcrHVqs1we5GpCDfPvxn/OPkP/PNk3wargfZ21N59D4wTJ6J47V0jP7m5AJh3JbD3BcDbNroCT+4Etq0Hlq4Gxi8a3TloxBSbdURd8/21tVC4Hixpmex2+E+c0HwR+dmSsVt+mDAaoc/P1zSEpdudkWE6iwXmykr2C9NQLEPYSQDlvb4eD6C2n2P+R0rpl1IeA/ARQqEsIV0761pMypmER7c/Cn8gdIeUlBJ1P/wh1KYmlD72GHRm8+hOvmQV4PeMbj/JgD/UEyx7HHDBvaO7Po2KYYQNW9VTtVyUn8QiTVsTbAujZA5hQLhXmHa7EfiOOQGkXwgDAHOVA10HDkAdQasdip5YhrDtAKYJISYLIYwArgFw9i2ArwA4HwCEEEUITU8ejWFNY2LQG7B26VrUdNTg9wd/DwDo2LABnX99E9ZbboFp3tzRn7zUDoxfMrr9JLf8F9CwD/jMo0Am1xrFk2KzDXtNWNDtRqC9nVsWJbHMOXMARYF3d2JNSYZHY5NxYT6gfcNWn9MJGAxp+QuSxeEApIRn61atS0lLMQthUkoVwC0A3gJwEMALUsoPhBD3CyEu6znsLQDNQogDAP4XwJ1SysQa5z/Lx8o+hk+M/wSe2vMU6qv3oP7+B2BatAiFq24a+8mX3AQ0VwNH3x3+a1prgHcfAqZ/Bph16dhroBFRiosRaG4eVu+oyJ2Rafg/+lShy8xE5syZCTcS5ne5QtN6eees5kgKof0jtbsvy+d0wlheDqGk31pa07x50FksnJLUSEz7hEkp35BSTpdSTpFSPtjz2PellBt6/iyllLdLKWdLKedJKUcxFxd/dy65E6rqw0f/9k1ACJQ+8kh0ulTP/jxgLhx+u4pITzDBnmAaUWxWQMphbex8JoSxPUUyM9nt8O7bB6mqWpcSoboaodhsSXvDh2K1Qm1qGtEWYNHkczphnJhed0aGCUWBedkyLs7XCDvmj8KEnAn4wZF5sB1uRvdtX4Vx/Nk3fY6SIRNY+FXgozdCXe+HcuAVoPr/ARd8D8grH/p4irqR9Apjo9bUYLLbIb1edB9KnKatydqoNSyyBVjbKG9MGgMZDMJ3/HhargcLszgc8J84Ad+JYfzcoahiCBsF7759mPbSLuycm4kHc99DUEbxt7fFN4Y+7/zN4Md1tQN/XQuUVAJL10Tv+jQiI+ma76+tBRQl0heJkpPJXgkgsRbnqw0NyR3CNOwVptbXQ3Z3p3cIq3IA4BZGWmAIG6Ggx4PaO++CUmRF4X3fxYGWg3jl8CvRu0DeBGD6xcDO3wJq98DH/f1+wN3InmAaOzMSNvQPD39dHQzFxUm3wTL1ZSgrg76oKKH6hakuFwzFSRzCIvuwxj+EpWt7it6MFRVQbDaGMA0whI1QwyOPwldTg9KHH8bF86/EAtsC/HzXz9Hh64jeRZbcBHiagAP/0//zJ7YB238dGgErXRC969KI6fPzAYNheNORtWxPkQrCTVs9CRLCAqfdCHo8qTESpsHi/G6GMAghYHE44Nm8RbN1eemKIWwEOt95B21//jMKbrwBluXLIITAPUvvQWtXK57a81T0LlRxPlAwJdR89WwBP/DqbUBOaWgtGGlK6HRQrEXDatgaCmFclJ8KTJWV8NccT4jeSsneIwzQdjrS53RCmM1J294jWixVDgTa2tD94Ydal5JWGMKGSW1sRN337kXGrFmwfvvbkcdnFc7CldOvxPMHn8eRtiPRuZhOFxoNO7kNqDtr3cnmXwKuD0J3Q2ZkR+d6NCYGqw3qEA1bpaqG1u1wJCwlRDbzToDRMNXV0yPMmrwhTJeZCV1OjmYhzDhxYtLeWRotZgfXhWmBIWwYpJSo/d73EPR4UPbYo9AZjX2e/9aCb8FkMOHhbQ9DjrTR6kDsKwHF1LddRasTePdhYOYlwMzPRec6NGaKzQb/ENMoakMDEAxyOjJFZM6dC+j1CbGZdyqMhAHaNWz11dSk3cbd/THYbMiYNpX9wuKMIWwYWv/4R7j/+R5sd96JjKlTz3k+PzMf37R/E1vqtuCdE+9E56KmfGD+l4C9fwG8raGeYK/dDuj0wGceic41KCqU4uIhFxRHeoSxW35K0JlMyJwxIyHukGQIGz3p88F/8lRarwfrzexwwLNzJ4Ldg9wURlHFEDaE7iNH4Hr0MVjOOw/51355wOOunnE1puZNxWPbH0OX2hWdiy9ZBahe4P0/Ah+8BBz5O3DBfUDu+Oicn6JCsdkQ7OhA0Osd8Bh/LXuEpRqT3Y6uvXshAwFN6/C7XNBZLNBnWTStY6y06JrvO3kKCASQwRAGINQvTHZ1Jdy2XKmMIWwQ0ufDqTvvhM5sRumPHxx0zYCiU3D30rtx6vQp/PaD30angJL5QPkyYNs64K93AyV2YOmq6JyboubM7fUD/wCJhLCScXGpiWLPtMCOoMeD7upqTetQG5K7UWtYeCQsaks6hoHtKfoyL1kK6PVwb9qkdSlpgyFsEI2/+AW6DxxEyY8eGFaDzWUly3DRxIvwq32/Qr27PjpFLFkVWgvmaQr1BNOxx1SiMQyja76/tg76ggLoTKZ4lUUxZqrsadqq8eL8ZO+WH6ZYrZA+H4IdUWz3M4RICEvTLYvOps+ywFRZycX5ccQQNgD31m1o/tWvkfelLyH7wguH/bo7Ft8BCYmf7vhpdAqZfTmQPxn42L8BpfbonJOiSol0zR98JIxTkanFUF4OfUGB5ovzVZcLShI3ag2LjCjHcV2Yz+mEPi8vaTc+jwWLw4Gu/fsRaG/XupS0wBDWj0BHB2rvvhuGCeUovnvtiF5bmlWKr8/9Ot50vont9dvHXoxiBG7dHVoLRglpOPtH+uvqYChhj7BUEmraatd0JExKGeqWnyIjYUD8QxinIvuyVDkA80NzSQAAIABJREFUKeHeulXrUtICQ1g/6v/9fqguF8oeeww6y8gXu94w9waUWkrx8LaHoQbVsRckROiDEpIuKwvCZBowhEkpORKWokx2O3xOp2ZNWwNtbZB+f8pMRwJxDmE1NQxhZzHNnw+d2cwpyThhCDuLe9s2dLz+Ooq++a8wzZ8/qnNkKpm4Y8kdONR6CC8eejHKFVKiEULAYLNFmmaeLdDWBun1slt+CgqvC+vau1eT66dKewrgTLPZeN0hGXS7oTY0MISdRRgMMC9ZAg/7hcUFQ9hZzEuWYPwvn0TR6tVjOs8nJ3wSy8Ytwy92/wJtXW1Rqo4S1WANW8N3RrJbfuoxzQs1bdVqH8kzIaxYk+tHkz7LAmE2x20kzHf8OADeGdkfS5UDvpoa+E+d0rqUlMcQdhYhBLIvvBBCUcZ8nrVL18Ltd+PJ95+MUnWUqBSbbcCGrewRlrp0ZjMyZkzXbF1YKo2EAYAhjg1bI3dGTp4Ul+slE0tVFQDAvWWLxpWkPoawGJqWPw3XzLwGfzn0F3zU8pHW5VAMKcXFUBsa+u1xpIa75TOEpSRTZSW69u7TpGmrv2fj+FTZfDrUsDXOIWzChLhcL5kYp06F3lrELYzigCEsxr5R+Q3kGnPx0LaH4tqEkOJLsVkhu7v77XHkP1ULYTLxNvgUZbbbEXS70X34SNyvrbpc0OflnbOfbbJSbPEdCVPGjWPvvn4IIWBxOODevBkyGNS6nJgJut1al8AQFmu5Gbn41sJvYWfDTrzlfEvrcihGBmvY6q+thaGkZNAdFyh5meyh/n1aTEmqrsZIn7pUoFit8McthPHOyMFYHFUItLRoviNErMhgEMeuuhoNjzyqaR0MYXHwxalfxKyCWfjJjp/A4/doXQ7FQKRha38hrK6OU5EpzDBhAvT5+Zps5p0q3fLDFKsV0uNB4HTsRyhCPcLYKX8gFsdyAIB7Y2puYdT59t/gO3IkdHONhhjC4kCv0+OeZfegwdOAX+//tdblUAxEGrb20zWfPcJSmxACpspKbUbCGhpSZj0Y0OvfUWNs21Sora0ItLdzJGwQhnHjYKyoSMl+YVJKND39FIwTJyL705/WtBaGsDhZYFuAz1V8Ds/ufxYnOk9oXQ5FWaTR5FkjYcGuLgRaWtgjLMWZ7Hb4jh5FoC1+7WikqkJtbk65kTAg9g1buXH38FgcDnh27EDQ59O6lKhyv/ceug8cROHqVRB6bfdjZgiLo39b+G/Q6/T4yfafaF0KRZkuMxO63NxzQpi/lndGpgOTvWcz73374nZNtbkFCAZhSLE1YUA8QlgNACCDIWxQlioHpNer+Sb10db09DooJSXIvfRSrUthCIunYksxVs9fjXdOvINNp1Jznj2dGWw2+M/qmh/pEcZ9I1Oaad48QKeDd3f8flilWo8woPeIchxGwvR6GMrKYnqdZGdeuhTQ6VJqStKzfTu8O3ei8Otfh0iAu4oZwuLsq7O/ivLscjy8/WH4g36ty6Eo6q9hq7+OjVrTgc5iQcb0+DZtDW+TFd7uJxXocnIgjMbYj4TV1MA4fjyEwRDT6yQ7fXY2TPPmpdQWRk1PPQ19YSHyrrxC61IAMITFnVFvxNola3Gs/RieP/i81uVQFIVC2NnTkbWATpdSbQSofyZ7Jbx798atr1IqjoQJIUINW+OwJozrwYbHXOWAd98+BDo7tS5lzLz79sO9cSMKvnY9dJmZWpcDgCFMEx8f/3F8rOxj+K89/4Umb5PW5VCUKMU2qI2NfTqnq7V1UIqLx7wNFiU+U6UdwdOn4TsSn6atfpcrFPCLCuNyvXhRbLaYhjAZDIZGwhjChiWrqgoIBuHZtk3rUsased3T0OXkIH/lSq1LiWAI04AQAnctuQtdgS48sesJrcuhKFFsNiAQQKClJfIY21Okj/Di/Hht5q26XFCKijS/uyvaYj0SprpckF4v94wcJlNlJYTJlPRbGHVXV6Pz7b+h4LrroM/K0rqcCIYwjUzOnYyvzPoKXj78MvY37de6HIqCcNf83g1bw93yKfUZJ02CPjc3bk1b1YbUatQaFusQxvYUIyOMRpiXLE76xflN69dDmM3I/8p1WpfSB0OYhlbPX40iUxEe2vYQgjJ19+dKF+F1X+GGrTIQgL+hgSNhaUIIgUx7/Jq2plq3/DDFakWwowPBrq6YnD8SwiayW/5wWRxV8B09Cn99vdaljIrvxAl0vP4G8q++Gkp+vtbl9MEQpqEsYxZuW3gb9jbuxWtHX9O6HBoj5az9I9XGRkBVGcLSiNluh+/wEQT62cg92lSXC0pxaoYwIHa9wnzOGojMTN4sMwKWKgcAwL15i8aVjE7z+l9B6HQouOFrWpdyDoYwjV065VLML5qPx3c+jtO+01qXQ2OgFBYCOl0khJ1p1MrpyHQR2cx7b2ybtgZ9PgTa2iJT4KnkzNZFsQphThgnToTQ8cffcGVMmwZ9YSHcm5Kvv6W/oQHtL7+M3Cu+mJD/Xvi3UGM6ocM9y+5Bk7cJ6/au07ocGgOhKFAKCyP73kUatXIkLG1kzpsHCBHzKclUbE8RFt4LM1YNW9meYuSETgfL8uVwb94MKaXW5YxIyzO/gQwGUXjTTVqX0i+GsAQwt2guvjD1C/jdwd/hWPsxrcuhMVBsNvgbQk002S0//eizspAxbRpD2BjEcjpS+v3wnTzJEDYKlioHAk1N6K6u1rqUYVNbW9H6wgvIveQSGMeP17qcfjGEJYhbF96KTH0mHtn+SNL9pkFn9O6a76+rhT43FzqLReOqKJ5Mdju8e/bEtGnrmRCWeuua9Hl5gKKc0/g4GvynTgGqyhA2ChZHaF2YJ4nukmx57jnIri4Url6ldSkDYghLEEWmInyj8hvYeGoj/nnyn1qXQ6PUu2u+v7YWShmnItONqbISwc5O+I7FblT7TAizxuwaWhE6HZSiopiMhHXzzshRM5SWwjhxYtL0Cwt0dqL1939A9kUXIWPKFK3LGRBDWAJZOWslKnIr8Mj2R+AL+LQuh0ZBKbYh0NKCoM8HtbYOhhKGsHRjWtCzOD+GU5KqywVhMIRGjVJQrLrm+2tqAICNWkfJXOWAe/t2SH/i73vc+sfnEezsROGa1VqXMiiGsARi0BmwdulanOg8gecOPKd1OTQKhkibikZ2y09TxkmToMvNjWkI8/c0ahVCxOwaWopVw9ZupxO63NyUDa+xZqmqgvR44N27V+tSBhX0etHy29/Cct55MM2Zo3U5g2IISzBVpVW4oPwCrNu7Dg3uBq3LoREKL5T2HTmMoNvNEJaGhE4H0/z58L4fu875oR5hqbceLEyxxmY6MnRn5MSUDa+xZlm6FNDpEn5Ksu0vLyLQ0oKim9doXcqQGMIS0B1L7kAgGMDjux7XuhQaofAPxvD+gbwzMj2Z7JXoPnwYgc7OmJw/VbvlhylWKwKtrZC+6C7L8DlrkMFF+aOmz81F5ty5Cb2FkfT50PzMMzAvXgzzokValzMkhrAEVJ5djq/N/RpeP/o6drt2a10OjUD4B2N4KsrAhflpyWS3A1LGbNomFMJSb1F+WKRNRVNT1M4Z9Hqh1tXxzsgxsjgc8O7Zg8DpxGwu3r5hA9T6ehSuSfxRMIAhLGF9fe7XUWwuxkNbH0IgGNC6HBomfV4ehMGArp6O6RwJS0+m+fNDTVtjsJl34LQ7NNWd4iNhQHR7hfmOHwfAOyPHyuJwAIEAPNu3a13KOaSqomn9emTOmQPLx1ZoXc6wMIQlKLPBjO8s/g4OthzEy4df1rocGiYhBBSbDUG3GyIjA/rCQq1LIg3os7ORMXVKTBbnR9pTpPKasBhsXeQ75gQAjoSNkWmBHSIzMyGnJDvefAv+muMovHlN0qz7YwhLYBdPuhgLbQvxxK4n0N7drnU5NEzhHyCGkpKk+R8BRV+oaeveqDdtjYQwK0fCRsIXbk/BkbAx0WVkwLxoUcLtIymDQTQ//TSMU6cg+8ILtS5n2BjCEpgQAvcsuwftvnY8uftJrcuhYYqEMG7cndZMdjuC7e3wOWuiet7w3qQpvTC/sBDQ6aIbwpxOKDYbd7CIAkuVA77DR+BviP6uBqN1+t130V1djaLVq5Nqc/bkqTRNzSyYiWtmXIM/f/Rn7G/ar3U5NAxKceiHo8L2FGnNVFkJIPpNW9WevUlTOYQJvR76wgL4o7h1ETfujp7IFkZbEmNKUkqJpqeehmH8eOR89rNalzMiDGFJ4JYFt6DIVIT7N98PNahqXQ4NwdBrOpLSl7GiArqcnKiHML/LBZ3ZDH1Wao/oRLthK0NY9GTMnAl9Xl7C9AvzbNmCrr17UXjTTRCKonU5I8IQlgSyjdlYu3QtDrYcxJ8+/JPW5dAQzkxHlmlcCWkp0rQ1yndIqq7GlF6UH2awRm/rokBbGwKtrVwPFiVCp4PZsRzuzZshpdS6HDQ99TQUmw25X/yC1qWMGENYkvjUxE9hRdkK/GL3L1Dvrte6HBqEcfJkAEDG1KkaV0JaM1VWoru6GoHT7qidM9UbtYYptuiNhPm4Z2TUWaqqoLpc8B09qmkdnt274dm6FQU33gCd0ahpLaPBEJYkhBD43rLvISADeHT7o1qXQ4MwzZuHKX97G6Z5c7UuhTRmstuBYBBd+6LXtFVtaEiPEGa1ItDcAqmOfQlGJIRxOjJqLI4qANB8SrL56XXQ5+Uh/6qrNK1jtBjCkkh5djlurrwZb9e8jX+e/KfW5dAgjOPHa10CJQBT5XwAiNqUpJQy5bvlhylWKxAMQm1uGfO5fE4noNPx32UUGceXwTBhgqb9wro+/BCn330XBdd/FTqzWbM6xoIhLMlcP/t6TMmdgge3PAiv6tW6HCIahD4nB8YpU+DdHZ3F+YG2Nki/H4Y0WBMWzV5hPqcThvHjIZJwuiqRWRwOeLZujcpo5Wg0Pf00dBYL8q+9VpPrRwNDWJIx6A24d/m9qHXX4qk9T2ldDhENwWSvhHfPnqgsYFZdoUCSFtORka75Y29T0e10wjiJi/KjzeJwIOh2w7tvX9yv3X3sGDrffAv5X/4y9Dk5cb9+tDCEJaHF4xbj81M/j+c+eA7VrdVal0NEgzDZ7Qi0tcFfM/amraor9XuEhUVrJExKCZ+zBsaJk6JQFfVmXrYUEEKTKcnm9b+CyMhAwdeuj/u1o4khLEndvuh2ZBmz8MCWBxCU0d0WhYiix2y3AwA8UegXFtmyKB1CWM++q2MNYaqrEdLj4UhYDCj5+cicPRueOC/O9586hfYNG5D3pS9F/p4kK4awJJWfmY/bF92O3a7deOXwK1qXQ0QDME6ZAl1WVlSatqZTCBNGI/T5+WMOYb4aJwDeGRkrlioHPHv2IOiOXhuWoTQ/8xtACBTeeEPcrhkrDGFJ7PNTP49FxYvws50/Q0vX2O8gIqLoizRtfX/sd0j6XS7o8/KSsh/SaChWa2Qd3Gj5nE4AQAZDWExYHA7A74dnx464XE9takLbiy8i9/LLUmJXEoawJCaEwH3L74Pb78ZPd/xU63KIaAAmux3dhw6NebRAbUiPRq1h0di6yOesgTAaoaTAD+xEZFq4EMJojFu/sJZnn4X0+1F0001xuV6sMYQluSl5U3DDnBuw4cgGbK/frnU5RNQPk70SCAbh3bd/TOdJl275YYpt7FsX+ZxOGCdOhNDxx10s6DIzYVq0MC6L8wPt7Wj94/PIufjilJle5t/KFLBq/iqUZZXh/s33wxfwaV0OEZ3FVFkJAGNeF6a6XFCK0yiEWa1Qm5ogg6O/+cjH9hQxZ6mqQvehQ1HdcL0/Lb//PYIeDwrXrInpdeKJISwFmBQT7l1+L5wdTvxm/2+0LoeIzqLPzYWxomJMnfNlIAC1qSm9RsKsVkBVEWhrG9XrparCd+JEyoyaJKrIFkZbtsbsGkG3G63P/Q5ZF1yAzBnTY3adeGMISxEfK/sYPjXxU1i3dx2OdxzXuhwiOoupshLe998fddNWtakZCAZhSLcQhjN3hY6Uv64O8PsZwmIsc9ZM6HNzYzol2frnFxBob0fRmtUxu4YWGMJSyNqla2HUG/Hg1gej0p2biKLHZLcj0NoK//HR/ZKUTu0pwsJ7ZI52mit8ZyRDWGwJvR7m5cvh3rw5Jj97gt3daP7NMzA7lkem9lMFQ1gKsZlt+NaCb2FT7Sa86XxT63KIqBdTT9PW0U5JhrfvUWypv29kWGTrolG2qfAdcwJgCIsHi8MBta4uEnyjqf2llxBobELRmpujfm6tMYSlmKtnXI05hXPw6PZH0eHr0LocIuqRMXUKdBbLqBfnp+VI2Bi3LvI5ndBlZ0NfUBDNsqgflioHAER9SlL6/Wj+1a9hqqwMbZOUYhjCUoxep8d9jvvQ0tWCJ3Y9oXU5RNRD6PXInD9v1NsX+RsaAJ0OSmH6BApdRgZ0OTljCmHGiRMhhIhyZXQ2Q3k5DGVl8EQ5hLW//jr8p06h8OY1KfnfkSEsBc0pnIOVM1fihY9ewL7G+O9uT0T9M9nt6P7oEIIez4hfq7pcUAoLIRQlBpUlrlDX/NEtzA+1p5gU3YKoX0IIWKoccG/ZChkIROWcMhhE87r1yJgxA1mf+ERUzploGMJS1C32W2A1WXH/lvuhBlWtyyEi9PQLCwTg3T/ypq2qqxFKcfqsBwsbbdf8YHc3/HV1DGFxZHE4EOzsRNco/n73p/Ptv8F39CiK1qxOyVEwgCEsZWUZs7B26Vp82PIhnv/wea3LISL0bto68sX56dYtP2y0Icx//DggJUNYHJmXLwcQnXVhUko0Pf0UjJMmIfvTnx7z+RIVQ1gKu2jiRTiv7Dw8uftJ1LvrtS6HKO0p+fkwTpo0qjsk1YaGSMuGdKLYQiFspK0PutmeIu6UggJkzJoVlX0k3e+9h+4DB1G4ahWEXh+F6hITQ1gKE0Lgu8u+i6AM4pFtj2hdDhEhtC5spE1bgz4fAm1taTsSJn0+BDtGdrf3mR5h3LIonixVDnh37x7Vusfemp5eB6WkBLmXXhKlyhITQ1iKG589Hmsq1+Bvx/+Gf5z4h9blEKU9k70SgeZm+E+eHPZrwn2yDGm6JgwYeZsKn9MJfVER9FlZsSiLBmBxVEH6/fDs3DXqc3i2b4d3504Ufv3rEEZjFKtLPAxhaeD62ddjSu4U/Hjrj+Hxj+23EyIam0jT1hGsC0vHHmFho926yOes4SiYBsyLFkIYDGNaF9b01NPQFxYi78orolhZYmIISwMGvQH3Oe5DrbsWT+19SutyiNJaxrRpEGbziJq2qq4GAGkewkYxEsb1YPGnM5lgWrhw1CHMu28/3Bs3ouBr10OXmRnl6hIPQ1iaWFS8CF+Y+gX87oPf4VDrIa3LIUpbQq+Had68EYawdB4J69m6aAQhLNDZiUBzMzIYwjRhcTjQffAg1JaWEb+2ed3T0OXkIH/lyhhUlngYwtLI7YtuR7YxGw9sfgBBGdS6HKK0ZbLb0fXRRwh6vcM6XnW5IAwG6PPyYlxZ4tFnWaAzm0cUwnzOGgC8M1Ir4S2MPFu2jOh13dXV6Hz7byi47rq0WcvHEJZG8jLz8J3F38H7je/j5eqXtS6HKG2Z7JWAqqLrgw+Gdby/p0dYqjasHMpIe4X52J5CU5lz5kCXnT3iKcmm9eshzGbkf+W6GFWWeBjC0sxlUy7D4uLF+NnOn6HZ26x1OURp6UzT1uFNSaoN6dmoNUyxWuEfwcJ8n9MJCAFDeXnsiqIBCb0eluXL4N64aditWHwnTqDj9TeQf/XVUPLzY1xh4mAISzNCCNy3/D54VA9+tvNnWpdDlJaUggIYJk4YdtPWdO2WHxZu2DpcPqcThtJS6DIyYlgVDcbscMBfWxvauWAYmtf/CkKnQ8ENX4ttYQmGISwNVeRV4IY5N2DDkQ3YVrdN63KI0pLZbodnmE1bVZcLSnEahzCrDWpj07CP552R2rM4QuvChjMl6W9oQPvLLyP3ii/CkGa/bDCEpanV81djfNZ4PLDlAfgCPq3LIUo7mZWVCDQ2wX+qdtDjAqfdCLrdaffDqTfFZoX0eBA47R7yWCklfDU1DGEaM06aBKWkZFhbGLU88xvIYBCFN90Uh8oSC0NYmspUMnHv8nvh7HDimf3PaF0OUdoxR5q2Dr4uTG1M3/YUYWd6hQ29LizQ3Izg6dMMYRoTQsBS5YB761bIQGDA49TWVrS+8AJyL7kExvHj41hhYmAIS2Mrylbg4kkXY/3e9ajpqNG6HKK0kjF9eqhp6xDrwtQGhrAzXfOHXhfGOyMTh8VRhWB7O7oOHBzwmJbnnoPs6kLh6lVxrCxxxDSECSEuFkJ8JIQ4LIS4e5DjrhRCSCHE4ljWQ+e6a8ldMOqNeHDLgyPaUJiIxkYoCkxz53IkbBhG0jWfG3cnDsvyZQAGXhcW6OxE6+//gOyLLkLGlCnxLC1hxCyECSH0AH4J4DMAZgNYKYSY3c9x2QBuBbA1VrXQwKxmK25deCs2123GX4/9VetyiNKKqbISXQcPItjVNeAxZ7rlp9/m3WEjDmEGAwylpTGuioaiFBUhY8YMuDdv6vf51j8+j2BnJwrXrI5zZYkjliNhSwEcllIelVL6APwJwOX9HPcAgEcBDPx/IYqpq6ZfhTmFc/Do9kfR4evQuhyitGFaYA81bT1wYMBjVJcLOrMZ+ixLHCtLLLqcHIiMjGGFsG6nE8YJEyD0+jhURkOxOBzw7tx1zi8aQa8XLb/9LSznnQfTnDkaVae9WIawMgAnen19suexCCHEAgDlUsrXBjuREGK1EGKHEGJH4wg3caWh6XV6fN/xfbR2t+KJXU9oXQ5R2og0bd098JSkP80btQKhRd7D7Zrv552RCcVS5YD0+eDdtavP421/eRGBlhYU3bxGo8oSQyxDWH/7a0QWHQkhdAAeB/CdoU4kpVwnpVwspVxs7RmWpuiaXTgbX575Zbzw0QvY27hX63KI0oJSWAhDefmg68LSvVFr2HBCmAwE4Ks5zvVgCcS8aBFgMPRZFyZ9PjQ/8wzMixeHnk9jsQxhJwH03jNiPIDeDXGyAcwF8K4QwglgOYANXJyvnVsW3AKr2YoHtjwANahqXQ5RWjDZ7fAO0rQ11Kg1fdeDhSlWa2R93ED8dfWQPh9HwhKIzmKBubKyT7+w9g0boNbXo/DmmzWsLDHEMoRtBzBNCDFZCGEEcA2ADeEnpZTtUsoiKeUkKeUkAFsAXCal3BHDmmgQFoMF9yy9Bx+2fIg/Hvyj1uUQpQWTvRJqYyPUurpznpNS9oyEcQZgOCNh4TsjMxjCEoq5yoGuAwegtrZCqiqa1q9H5pw5sKyo0ro0zcUshEkpVQC3AHgLwEEAL0gpPxBC3C+EuCxW16WxuXDChfj4+I/jyfefRL27XutyiFKeqXLgpq2BtjZIny+tu+WHKTYbgp2dg95JGg5hhomcjkwkFocDkBKerVvR8eZb8NccR+HNayBEf6uW0ktM+4RJKd+QUk6XUk6RUj7Y89j3pZQb+jn2ExwF054QAt9d9l1IKfHwtoe1Loco5WXOmA6Rmdlv09Zwc1KuCRtemwqf0wmd2Rw5lhKDad486CwWuDduRPPTT8M4dQqyL7xQ67ISAjvm0znKsspwc+XN+Pvxv+PdE+9qXQ5RShMGA0xz58LTz0hYpEcY14QNO4QZJ03iCEuCEYoC87JlaH/lf9BdXY2i1ashdIwfAEMYDeCrc76KqXlT8eOtP4bH79G6HKKUZrJXouvAQQS7u/s8fqZRK0fCwuviBlucz427E5elqgrS74ehvBw5n/2s1uUkDIYw6pdBZ8D3Hd9HnbsOT+15SutyiFKayW4H/P5zmraqrgYA4PQaht4/MujzwX/qFENYgso672OAXo+im9dAKIrW5SQMhjAa0ALbAlwx7Qo8d+A5HGo9pHU5RCkr0rT1/b7rwvwuF/S5udBlZGhRVkLR5+UBBsOA05H+EyeAYBDGyZPiWhcNj3HiREz7x7vIu+IKrUtJKAxhNKjbFt6GHGMO7t98P4IyqHU5RClJsVphKCs75w5J1dXI9WA9hE4HpahowBAW2bibd0YmLKWoSOsSEg5DGA0qLzMPdyy5A3sa9+C/q/9b63KIUpbJbj/nDkl2y+9rsF5hDGGUjBjCaEiXVlyKJeOW4PGdj6PZ26x1OUQpyWS3Q62vh7/+TH8+taGBIayXoUKYvqAA+tzcOFdFNHoMYTQkIQTuXX4vvKoXP9nxE63LIUpJJnvfpq0yEIDa1MRu+b0o1qIB7470OXlnJCUfhjAalorcCtw490a8dvQ1bK3bqnU5RCknc8Z0iIyMyOJ8tbkZCAZh4JqwCMVqjewicLZwjzCiZMIQRsO2at4qlGeX40dbfgRf4Nz/CRLR6AmjEZlz50ZGwtgt/1zh90JtaurzeOC0G2pjI0MYJR2GMBq2TCUT9y67F84OJx7f+Tj8Qb/WJRGlFJO9El0ffICgz3emRxhDWMRAXfN9NU4AXJRPyYchjEakqqwKV0y7Ar8/+HtcseEK/PPkPyGl1LosopRgqqyE9PvRfeAAu+X3Y8AQFr4zkiNhlGQYwmjEfuD4AZ44/wkEZRDf/Ps3sebtNahurda6LKKkF1mcv2dPKITpdFAKCzWuKnGEQ5j/rMX5Z9pTTIh3SURjwhBGIyaEwPkTzsfLl72MtUvW4oPmD3Dlq1fi/s33s4UF0RgYbDYYSkvhef99+F0uKIWF3OKlF6WwENDp+pmOrIFSWgJdZqZGlRGNDkMYjZpBb8B1s6/DG198AytnrsTL1S/jcy9/Dr/e92t0B7qHPgERncNkr4T3/T1QG9io9WxCr4dSWNjPdGQNMjgVSUmIIYzGLDcjF3cvvRsvXf4SlhQvwX/s+g9c/srleNP5JteLEY2QyW6HWleHrgMHGML6cXbDVikl21NQ0mIIo6iZnDsZv7jwF1j/qfWwGCy48x934vo3r8e+xn1al0avqdhgAAAad0lEQVSUNMLrwgLNzVCKGcLOdnYIC7S2ItjRwTsjKSkxhFHULS9ZjhcueQE/dPwQxzuO48tvfBl3v3c36t31Q7+YKM1lzpwJYTQC4J2R/VFs1kgPNYB3RlJyYwijmNDr9Lhi+hV4/Yuv46Z5N+Ft59u49OVL8eTuJ+Hxe7QujyhhCaMRmXPmAAgt1Ke+FKsVgeZmSFUFAPiOOQEwhFFyYgijmLIYLPj2wm/j1S+8ivPLz8fTe5/GJS9fglcOv4KgDGpdHlFCCk9JciTsXIrNBkgJtbkFQOjOSCgKDGVlGldGNHIMYRQXpVmlePRfHsXvPvM7lFhKcN/G+3DNa9dge/12rUsjSjiWKgcgBEd3+nF2w1af0wljeTlbeVBSYgijuLLb7Pj9Z3+PR857BK3drbjxrRtx2//ehuMdx7UujShhZJ13Hqb+410YJ7D56NnOhLBQw1beGUnJjCGM4k4Igc9WfBavfv5V3LrgVmyu3YzL/+dyPLb9MXT4OrQujyghcD1Y/3qPhMlgEL6aGt4ZSUmLIYw0k6lkYtX8VXj9i6/jsimX4XcHfofPvfQ5PP/h81CDqtblEVECCm/jpLoaodbXQ3Z3cySMkhZDGGmuyFSEf6/6d/zl0r9gRv4M/Hjrj7k5OBH1SxiN0OfnQ21sZHsKSnoMYZQwZhTMwPpPrccT5z+BgAzgm3//Jm7+283cHJyI+lBsNqiNjegOh7DJk7Qsh2jUGMIoofTeHPyuJXdhX9M+bg5ORH2Eu+b7a2ogTCa28qCkxRBGCcmgN+Ars7+CN75wZnPwS16+BM/sf4abgxOluXAI6+65M1IIoXVJRKPCEEYJLS8zL7I5+OLixXh85+O4/JXL8ZbzLa4XI0pTitUKtakJvqPHeGckJTWGMEoK4c3B1120DhaDBXf84w587c2vYX/Tfq1LI6I4U6xWQFXhP3ECxkkMYZS8GMIoqThKHZHNwWs6arDy9ZX47nvf5ebgRGmk9xow3hlJyYwhjJLO2ZuDv+V8C5e9chleqn6JU5REaSDcsBUAMhjCKIkxhFHSCm8OvuELGzC/aD5+sOkHuP3d29HW1aZ1aUQUQ4rtTAjjSBglM4YwSnplWWVY96l1uH3R7Xj35Lu4YsMV2FK3ReuyiChGwiNh+rw86PPyNK6GaPQYwigl6IQON8y9AX/47B9gNpix6v+twk93/BS+gE/r0ogoynQZGdDl5PDOSEp6DGGUUmYXzsYLl76Aq2dcjWc/eBbXvnEtjrYd1bosIooy88KFMDuWa10G0ZiIZFvIvHjxYrljxw6ty6Ak8O6Jd/H9jd+HR/XgzsV34qoZV7GpIxERxZUQYqeUcnF/z3EkjFLWJ8o/EWny+qOtP8K33vkWtz4iIqKEwRBGKa3IVIT//OR/4u6ld2Nz7WZcseEKvHfyPa3LIiIiYgij1KcTOlw761o8f8nzyM/Mx7/+/V/x0NaH0KV2aV0aERGlMYYwShvT86fjT5f8CdfNug5//PCPWPn6ShxqPaR1WURElKYYwiitZOgzsHbpWjz1yafQ1t2Ga167Br878DsEZVDr0oiIKM0whFFaWlG2Av992X9jRdkKPLr9UXzjb99Ao6dR67KIiCiNMIRR2irILMAT5z+B+5bfh10Nu/DFDV/EO8ff0bosIiJKEwxhlNaEELhqxlX486V/RomlBN/+32/j/s33w+P3aF0aERGlOIYwIgAVuRX4w2f/gBvm3oAXD72Iq1+7Gh80f6B1WURElMIYwoh6GPQG3L7odqz/1Hp4VA+ue/06/HrfrxEIBrQujYiIUhBDGNFZlpUsw0uXvYTzJ5yP/9j1H1j19irUu+u1LouIiFIMQxhRP3IzcvHTf/kp7q+6H/ub9uOKDVfgLedbWpdFREQphCGMaABCCHxh2hfw4qUvYmLORNzxjztw7//dC7ffrXVpRESUAhjCiIYwIWcCfvuZ32LN/DV49eiruHLDldjTuEfrsoiIKMkxhBENg0FnwC0LbsFvPv0bBGUQ1//1ejy15ymoQVXr0oiIKEkxhBGNwMLihXjxshdx8eSL8cv3f4kb37oRp06f0rosIiJKQgxhRCOUbczGw+c9jIfOewjVrdW4csOVeO3oa1qXRURESYYhjGiULqm4BC9e9iKm5U/DPe/dg7X/XIsOX4fWZRERUZJgCCMag7KsMjzz6Wdwi/0WvOV8C1/a8CXsbNipdVlERJQEGMKIxkjRKVhTuQbPfeY56HV63PjWjXh85+PY1bAL9e56Lt4nIqJ+CSml1jWMyOLFi+WOHTu0LoOoX26/G49sewQvH3458phe6GEz21BiKUFJVknoc++PrBJYDBYNqyYiolgRQuyUUi7u9zmGMKLoO9FxAsc7j6POXYc6dx3q3fWoPV2LOncdGtwNUGXf0bFsYzZKLaUosZRgnGUcSrJKUGopDf3ZUgKr2Qqd4MA1EVGyGSyEKfEuhigdlOeUozynvN/nAsEAmrxNkXBW565D7enayJ93uXads8Bf0SkoNhf3GT3rPZo2zjIOZoM5Ht8aERFFCUMYUZzpdXoUW4pRbCke8JjTvtORUNbn43QddjTsgOuYCwEZ6POavIy8c0LaOMu40AhbVgkKMgs4mkZElEAYwogSUJYxC1ONUzE1f2q/z6tBNTKaFp7mDIe2453HsbV+6zl7XOqFHoWZhSgyF6HIVASrydrnc5H5zJ+NemM8vk0iorTGEEaUhBSdgnGWcRhnGYcFtgX9HtPp64yMntW56+DyuNDkbUKTtwmNnkYcaD6Alq4WBGXwnNfmGHNCgaxXMAsHNqvZikJTIawmK7IMWRBCxPrbJSJKSQxhRCkq25iNbGM2pudPH/CYQDCA1u5WNHoa0eht7BPSmrxNaPQ2YrdrN5q8TegOdJ/z+kx95pmAZu4b1no/lp+RD71OH8tvl4go6TCEEaUxvU4fCU6zMGvA46SU6PR3osnTFAlnkbDW1YQmTxOOtB3B1rqt/e4aoBd6FGQW9Als47PGY1r+NEzPn44SSwlH1Igo7TCEEdGQhBDIMeYgx5iDiryKQY/tDnRHAlqztxmN3nNH2T5s+RCN3sbIa7IMWZiaNxXT86djWv60yEeOMSfW3xoRkWYYwogoqjL0GSjLKkNZVtmgx532ncbhtsM41HoI1a3VqG6rxl+df8ULh16IHDPOMi4UzPKmRUbNJuVOgkFniPW3QUQUcwxhRKSJLGMW7DY77DZ75DEpJRo8DX2C2aHWQ9hUuymy/ZOiUzA5d3IknIVHz4rNxZzSJKKkwo75RJTw/AE/jnUcCwWz1lAwq26rRr27PnJM+CaE3qNm0/KncUsoItIUO+YTUVIz6A2Ynj/9nDs927vbcbjt8Jlg1lqNV4++2qdHWllWWWiNWd40TC+Yjul50zEhZwIUHf/3R0Ta4v+FiChp5WbkYlHxIiwqXhR5TEqJWndtn2B2qPUQ3jv5XmSXAaPOiCl5U86Es/zpqMirQJGpiOGMiOKG05FElBa6A9042nYU1W3VfQJa77s0dUKHwsxC2My2yMc4y7g+XxebiznFSUTDxulIIkp7GfoMzCqchVmFffuhtXa1orq1Gs4OJ1weF1weFxo8DTjReQI7Gnag09d5zrmyDFnnBLNic3Hoa0voa+7VSURDYQgjorSWn5mPpSVLsbRkab/Pe/weNHob4fK4UO+ujwS18MeWui1o9jafs6G6IhRYzdb+g1rP1zaLDRn6jHh8m0SUgBjCiIgGYTaYMdEwERNzJg54TCAYQHNXc2QUzeVxocHdEAlq1a3V+L9T/wev6j3ntXkZeX2DWc/nkqwS2K12mA3mWH57RKQhhjAiojHS6/SRIDUXc/s9RkqJ0/7TfYJaZPrT3YAGTwMONh9ES1cLJEJrdRWdgoW2hXCUOrCidAVmFMzgFCdRCuHCfCKiBOIP+tHkacKxjmPYUrsFG2s34lDrIQBAYWYhHKUOVJVWoaq0CoWmQo2rJaKhDLYwnyGMiCjBNXoasbluMzae2ojNtZvR2t0KAJhVMAtVpVVYUbYCdqsdBj23cyJKNAxhREQpIiiDONhyEJtObcLG2o3Y49oDVaowKSYsHbc0EsomZE/gNk5ECYAhjIgoRZ32nca2+m3YVLsJG09txMnTJwGEdgpYUboCVWVVWDZuGbKMWRpXSpSeGMKIiNLEiY4T2Fi7ERtrN2Jb3TZ4VA8UoWC+dT5WlK3AitIVmFU4iwv8ieKEIYyIKA35A3683/h+ZJTsYMtBAKG2GI4SB6rKQgv8bWabxpUSpS6GMCIiQrO3GZvrNmNzbWiRf3NXMwBgWv600NRlaRUWFi9kA1miKNIshAkhLgbwcwB6AL+SUj581vO3A7gJgAqgEcCNUsqawc7JEEZENHZSShxqPYSNtRux6dQm7HLtgj/oR6Y+E4vHLQ4t8C9dgcm5k2O2wD8QDKA70I2uQBe61dDnLrWrz2PegBfdaje6A93wqt7Qcz3HKDoF2cZsZBmykGXMQrYhO/R1z5+zjFmwGCyceiVNaRLChBB6AIcAXATgJIDtAFZKKQ/0OuZ8AFullB4hxDcAfEJKefVg52UIIyKKPo/fgx0NO7Dx1EZsqt0EZ4cTADDOMg4rSldgeelyWBRLJCBFwlKvz12BrjNhqSc4DXasP+gfVa06oUOGPgNqUB3yHAIiEtJ6h7NweOv9eaDHTIqJd5rSqGkVwhwAfiil/HTP1/cAgJTyoQGOXwDgSSnlisHOyxBGRBR7p06fivQl21K3Baf9pwc9PkOfgUwlM/RZn4kMJQMmvQkZSkbkscjzvT5n6s/6s5IRecykmJChz4g8Fj5G0SmRUNQd6EanrxOdvk6c9p1Gp7/ns68Tp/19P4f/fPbzZ+/7eTa90MNisPQJamcHumxDNgpNhZicOxmTcibxblSKGCyExXLbojIAJ3p9fRLAskGO/zqAv/b3hBBiNYDVADBhwoRo1UdERAMoyyrDVTOuwlUzroIaVPFRy0cIyECfEBUJSfoMzUaKMvQZyDBloMhUNKrXSynhVb2RcNbh6zgT1HoFuj4Bzt+J2tO1kT+7/W4EZbDPeW0mWyiQ5U7C5NzJmJw7GRW5FSg2F3NUjSJiGcL6+1vW77CbEOI6AIsB/Et/z0sp1wFYB4RGwqJVIBERDU3RKZhTNEfrMmJCCAGzwQyzwTzqu0SllPCoHjR4GuBsd+Jo+1Ecaz8GZ7sTbxx9A53+zsixJsWESTlnglk4nE3ImcAbItJQLEPYSQDlvb4eD6D27IOEEJ8E8D0A/yKl7I5hPURERFEnhIDFYEFFbgUqcitwAS6IPCelRHNXM461H+vz8b7rfbxx7I3IcTqhQ1lWWSiY5UzuE9LyM/O1+LYoDmIZwrYDmCaEmAzgFIBrAHy59wE968CeBnCxlNIVw1qIiIjiTgiBIlMRikxFWDJuSZ/nPH4PjncePyegba3biu7AmTGJvIy8M6GsV0AryyqDXqeP97eU9Nq62rCvaR/2Nu3F9PzpuGjiRZrVErMQJqVUhRC3AHgLoRYVz0gpPxBC3A9gh5RyA4DHAGQB+EvPHPlxKeVlsaqJiIgoUZgNZswsmImZBTP7PB6UQdSerj0TzDpCn9898S5e6nopcpxBZ8DEnIl9Rs3CQc1sMMf720lI/qAf1a3V2Nu4N/TRtBc1HaFOWDqhw7WzrtU0hLFZKxERUZJo724/J5w525040Xmiz12exeZiTM6djCl5UzAlbwqm5k3FlLwpyDHmaFh97DW4G7C3aW8kdB1oPoCuQBcAoDCzEPOt8zHfOh+V1krMKZwTl7DKjvlEREQpzB/w40TniT7h7EjbERxtPwqv6o0cZzPZzglmU/OmJmVLjS61CweaD0RGuPY27kWDpwFAaJRwVuEszC8KBa751vkosZRocmeqVi0qiIiIKA4MegMq8ipQkVfR5/Hw1OaRtiM43HY48vnFQy9GRoiA0MhZ71AWDmoWgyXe30q/pJQ43nm8z7TioZZDUKUKINRSZWHxwlDgKpqPGQUzYNQbNa56aBwJIyIiSjNBGcSpzlOhYNZ+JqAdaz/W56aAEkvJOaNmFbkVMZ/G6/B1YH/T/kjo2te0D23dbQAAs2LGvKJ5kanFeUXzUGgqjGk9Y8GRMCIiIorQCR3Kc8pRnlOO83F+5PFAMICTp0/2GTU72nYU2+q2wRf0RY4ryyo7Z1qzIrcCJsU04lrUoIojbUf6rOU62n4UQGjbqSl5U3DBhAswvygUuipyK1LmrlCOhBEREdGg1KCKk50n+05rth+Gs90Z2b9TQKAsq6zPdGY4nGUqmZFzNXmb+kwr7m/aH1m3lp+RHxnhmm+dj7mFc5NyvVpvXJhPREREUacGVRzvPN4nnB1pOwJnuzOyXktAYHz2eJRnl8PZ7kStO9S3XREKZhbMPBO6iuZjfPb4lNvWiSGMiIiI4sYf9ON4x/E+05onO09iQs6EyLTizIKZfUbIUhXXhBEREVHcGHSGyHQkDUyndQFERERE6YghjIiIiEgDDGFEREREGmAIIyIiItIAQxgRERGRBhjCiIiIiDTAEEZERESkAYYwIiIiIg0whBERERFpgCGMiIiISAMMYUREREQaYAgjIiIi0gBDGBEREZEGGMKIiIiINMAQRkRERKQBhjAiIiIiDTCEEREREWmAIYyIiIhIAwxhRERERBpgCCMiIiLSAEMYERERkQYYwoiIiIg0wBBGREREpAEhpdS6hhERQjQCqInDpYoANMXhOsmK78/g+P4Mje/R4Pj+DI3v0eD4/gwtHu/RRCmltb8nki6ExYsQYoeUcrHWdSQqvj+D4/szNL5Hg+P7MzS+R4Pj+zM0rd8jTkcSERERaYAhjIiIiEgDDGEDW6d1AQmO78/g+P4Mje/R4Pj+DI3v0eD4/gxN0/eIa8KIiIiINMCRMCIiIiINMIQRERERaYAh7CxCiIuFEB8JIQ4LIe7Wup5EI4QoF0L8rxDioBDiAyHEt7WuKREJIfRCiN1CiNe0riURCSHyhBAvCiE+7Pm75NC6pkQihPi3nn9f+4UQzwshMrWuSWtCiGeEEC4hxP5ejxUIId4WQlT3fM7XskYtDfD+PNbzb2yvEOJlIUSeljVqrb/3qNdzdwghpBCiKJ41MYT1IoTQA/glgM8AmA1gpRBitrZVJRwVwHeklLMALAfwTb5H/fo2gINaF5HAfg7gTSnlTACV4HsVIYQoA3ArgMVSyrkA9ACu0baqhPAsgIvPeuxuAH+XUk4D8Peer9PVszj3/XkbwFwp5XwAhwDcE++iEsyzOPc9ghCiHMBFAI7HuyCGsL6WAjgspTwqpfQB+BOAyzWuKaFIKeuklLt6/tyJ0A/PMm2rSixCiPEAPgfgV1rXkoiEEDkAPg7g1/j/7d1biFVVHMfx7w+t8FIvRWVNNWbiQ1AaFZVEkAURYkEPdkXKl4KyeigJIYgiDCJFiqKiKJIg1EiQSjEwpJsYXro8RCU5ZmWESRfK7NfDXgNnbI5kxaw9M78PHM7eaw5zfudwzua/11pnL8D277b31k3VOmOBcZLGAuOBryvnqc7228APBzVfBbxQtl8Arh7SUC0y2Ptje63tP8rue0DPkAdrkS6fIYAlwL3AkP9SMUXYQCcDOzv2+0iB0ZWkXmAG8H7dJK2zlOYL/WftIC11OrAHeL4M2T4raULtUG1hexfwKM1Z+W7gR9tr66ZqrRNs74bmBBE4vnKeNrsFeL12iLaRNAfYZXtrjedPETaQBmnLNTwGIWkisBK4y/a+2nnaQtJs4Dvbm2tnabGxwDnAk7ZnAD8zuoeRBijzmq4CJgMnARMk3Vg3VQxnkhbRTCVZXjtLm0gaDywC7q+VIUXYQH3AKR37PWQY4G8kHUFTgC23vap2npaZCcyRtINmOPtSSS/VjdQ6fUCf7f4e1BU0RVk0LgO+tL3H9n5gFXBR5Uxt9a2kSQDl/rvKeVpH0jxgNnCDc2HQg02hOdnZWo7ZPcCHkk4cqgApwgbaBEyVNFnSkTSTYVdXztQqkkQzl+dT24/VztM2tu+z3WO7l+bz85bt9GJ0sP0NsFPStNI0C/ikYqS2+Qq4QNL48n2bRX640M1qYF7Znge8VjFL60i6AlgIzLH9S+08bWN7u+3jbfeWY3YfcE45Rg2JFGEdygTG24E3aQ56r9j+uG6q1pkJ3ETTw7Ol3K6sHSqGnTuA5ZK2AdOBhyvnaY3SQ7gC+BDYTnOcHvXLz0h6GXgXmCapT9J8YDFwuaTPaH7dtrhmxpq6vD+PA0cD68qx+qmqISvr8h7VzZTeyYiIiIihl56wiIiIiApShEVERERUkCIsIiIiooIUYREREREVpAiLiIiIqCBFWEQMS5IOdFwmZYuk/+2q+5J6JX10GI+fIGld2d5Y1nyMiDikHCgiYrj61fb02iGKC4H3ypJDP3csmhwR0VV6wiJiRJG0Q9Ijkj4otzNK+2mS1kvaVu5PLe0nSHpV0tZy618iaIykZyR9LGmtpHGDPNcUSVuAl4Drgc3A2aVnLotJR8QhpQiLiOFq3EHDkXM7/rbP9vk0VwxfWtoeB160fRbNQsbLSvsyYIPts2nWsOxfJWMq8ITtM4G9wDUHB7D9eemN2wycD7wIzLc93XbWMYyIQ8oV8yNiWJL0k+2Jg7TvAC61/UVZbP4b28dK+h6YZHt/ad9t+zhJe4Ae2791/I9eYJ3tqWV/IXCE7Ye6ZNlk+zxJK4EFtnf9zy83Ikag9IRFxEjkLtvdHjOY3zq2DzDIHFpJT5UJ/FPLsOQVwBpJdx9O2IgYnVKERcRINLfj/t2y/Q5wbdm+AdhYttcDtwFIGiPpmH/6JLZvBR4AHgSuBtaUocgl/y1+RIwG+XVkRAxX40rvU783bPdfpuIoSe/TnGheV9oWAM9JugfYA9xc2u8EnpY0n6bH6zZg92HkuIRmLtjFwIZ/9UoiYlTKnLCIGFHKnLBzbX9fO0tExKFkODIiIiKigvSERURERFSQnrCIiIiIClKERURERFSQIiwiIiKighRhERERERWkCIuIiIio4C/vc9W1VtkGzwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "plt.plot(cnn3.history.history['accuracy'], label = \"train_acc\")\n", + "plt.plot(cnn3.history.history['val_accuracy'], label = \"validation_acc\")\n", + "plt.plot(cnn3.history.history['loss'], label = \"train_loss\")\n", + "plt.plot(cnn3.history.history['val_loss'], label = \"val_loss\")\n", + "plt.title('Training Loss and Accuracy on Dataset')\n", + "plt.ylabel('Loss / Accuracy')\n", + "plt.xlabel('Epoch #')\n", + "plt.legend(loc='upper right')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Both the precision, recall and f1-score for the two classes are close to one, indicating that the tests are highly accurate." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + "Pneumonia (Class 0) 0.91 0.94 0.92 390\n", + " Normal (Class 1) 0.89 0.84 0.86 234\n", + "\n", + " accuracy 0.90 624\n", + " macro avg 0.90 0.89 0.89 624\n", + " weighted avg 0.90 0.90 0.90 624\n", + "\n" + ] + } + ], + "source": [ + "predictions = cnn3.predict_classes(x_test)\n", + "predictions = predictions.reshape(1,-1)[0]\n", + "predictions\n", + "print(classification_report(y_test, predictions, target_names = ['Pneumonia (Class 0)','Normal (Class 1)']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The confusion matrix, in comparison with the previous matrix, demonstrates a far higher number of correctly classified cases, particularly within the True Positive and True Negative region." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "cm = confusion_matrix(y_test,predictions)\n", + "cm_df = pd.DataFrame(cm , index = ['0','1'] , columns = ['0','1'])\n", + "plt.figure(figsize = (10,10))\n", + "sns.heatmap(cm_df, linewidth = 5 , annot = True, fmt='d',\n", + " xticklabels = ['Pneumonia', 'Normal'],\n", + " yticklabels = ['Pneumonia', 'Normal'],\n", + " cbar = False, cmap = \"YlGnBu\")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "cnn3.save('cnn3_model_attempt5_normalimages_FINAL 25.05.2020.model')\n", + "cnn3.save_weights('cnn3_model_attempt5_normalimages_weights_FINAL 25.05.2020.h5')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### In the following Notebook, labelled '02', I will investigate a multi-class image dataset." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/your-project/Notebooks/.ipynb_checkpoints/02 Image Processing_CNN Pneumonia_and_COVID19-checkpoint.ipynb b/your-project/Notebooks/.ipynb_checkpoints/02 Image Processing_CNN Pneumonia_and_COVID19-checkpoint.ipynb new file mode 100644 index 00000000..357720a0 --- /dev/null +++ b/your-project/Notebooks/.ipynb_checkpoints/02 Image Processing_CNN Pneumonia_and_COVID19-checkpoint.ipynb @@ -0,0 +1,1634 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Notebook 02: Continuing from my previous notebook, I acquired X-Ray scans of lungs from patients who have suffered from Coronavirus (COVID-19). To clarify, COVID-19, in severe cases can result in pneumonia, however I thought it would be potentially for radiologists / doctors if it's possible to differentiate between COVID-19 induced pneumonia and typical pneumonia. " + ] + }, + { + "cell_type": "code", + "execution_count": 285, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from IPython.core.display import HTML \n", + "from collections import Counter\n", + "\n", + "import cv2\n", + "import pandas as pd\n", + "import random\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt \n", + "import os\n", + "import os.path\n", + "import shutil\n", + "import seaborn as sns\n", + "import joblib\n", + "\n", + "# Keras Libraries\n", + "import tensorflow as tf\n", + "import keras\n", + "from sklearn.model_selection import train_test_split\n", + "from keras.utils import to_categorical\n", + "from keras.models import Model\n", + "from keras.models import Sequential\n", + "from keras.layers import Input\n", + "from keras.layers import Conv2D\n", + "from keras.layers import MaxPooling2D\n", + "from keras.layers import Flatten\n", + "from keras.layers import Dense\n", + "from keras.preprocessing.image import ImageDataGenerator, load_img, img_to_array, array_to_img\n", + "from sklearn.metrics import classification_report, confusion_matrix\n", + "from tensorflow.keras.models import load_model\n", + "from keras.utils import plot_model\n", + "from sklearn.metrics import multilabel_confusion_matrix" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "keras.backend.clear_session()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This function serves to feed in the from the train, validation and test image datasets, label them appropiately as a 0, 1, 2 based on their location (either in the Pneumoniam, Normal or COVID files). Then, it iterates through the images, converts them to grayscale, resizes the image to a smaller 128 x 128 dimension and converts it into an array of numbers. This list of pixels, along with the label (0 1, 2), is then appended into the an array. " + ] + }, + { + "cell_type": "code", + "execution_count": 331, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['PNEUMONIA', 'NORMAL', 'COVID']\n", + "\n", + "def get_training_data(data_dir):\n", + " data = []\n", + " for label in labels:\n", + " path = os.path.join(data_dir, label)\n", + " class_num = labels.index(label)\n", + " print(path)\n", + " for img in os.listdir(path):\n", + " try:\n", + " img_arr = cv2.imread(os.path.join(path, img), \n", + " cv2.IMREAD_GRAYSCALE)\n", + " resized_arr = cv2.resize(img_arr, (128, 128))\n", + " data.append([resized_arr, class_num])\n", + " \n", + " except Exception as e:\n", + " print(e)\n", + " return np.array(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 332, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\COVID\n", + "OpenCV(4.2.0) C:\\projects\\opencv-python\\opencv\\modules\\imgproc\\src\\resize.cpp:4045: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'\n", + "\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\COVID\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\COVID\n" + ] + } + ], + "source": [ + "train = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\")\n", + "val = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\")\n", + "test = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here's the distribution of our images per set.\n", + "#### I have now included additional CT scans from COVID-19 patients in the dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 252, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nuCjjz5i7969AFx//fVnTEJqgTnLcvokJSW55OTkaIeRjl77kp5e+yIiInL2S0lJ4ZJLLol2GHKGeeSRR3j99deZO3cuV111VbTDyTUi/fdkZoudc+newaM1pCIiIiIiIr5NYUYoFi1axD//+U/Kly/PFVdcEYWozl6asisiIiIiIuK75JJLqFu3LjVq1CAuLo4VK1akTjceNmxY6rtQJWfoaYqIiIiIiPgeeOABpk6dyujRo9m3bx/x8fG0bt2axx9/nAYNGkQ7vLOOElIRERERERHfwIEDGThwYLTDyDO0hlRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIjkWsuWLcPM6N69e7RDkdOgQLQDEBERERHJVcqXj3YEmdu0KVvNzSxL9UeOHEnnzp2zdc3M7Nu3j2LFitGqVSumTJly2q5zOsybN4/XX3+d+fPns2XLFgoVKkSZMmWoWbMmjRo1onv37sTGxp5y/+3bt+ezzz5j69atlC5dOgcjzz2UkIqIiIiI5CFPP/10urJXX32V3bt388gjj1CyZMk052rXrv1nhRZWtWrVSElJIT4+PqpxhHrrrbfo1q0bZkaLFi1o3749AGvWrGHhwoVMnDiRjh07cs4550Q50txNCamIiIiISB7Sv3//dGWjRo1i9+7dPProo1SuXPlPjykzMTExXHzxxdEOI41du3bx6KOPEhMTw4wZM2jQoEGa8845Zs+eTbFixaIU4ZlDa0hFRERERCQiW7dupVevXlx00UXExcURHx/Pddddx6xZs9LVPXjwIIMGDaJ27dqULFmSIkWKUKVKFW655RZmz54NwNChQ1OTti+++AIzS/0MGjQIyHgNafv27TEztm7dymuvvUb16tWJi4sjMTGR7t27s3///rD3MHHiRK688koKFy5MQkIC7du3Z/Xq1an9bdu27aTPYcmSJRw6dIikpKR0ySh406KbNGlCkSJF0p378ccf6dixIxUqVCAmJobExETuvvtuVq9enVpn3759mBmfffYZAGXKlEl9LjVr1jxpfGcSjZCKiIiIiMhJrVy5kmbNmrFx40auvvpqWrVqxZ49e5g0aRLNmzfngw8+oEOHDqn1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R0pKCpdccgngJYbHjh2jc+fOYdcsTpo0ibfeeovFixezfft2jh1Lu//njh07KFOmTJbjWbJkCQBNmjRJd65x48bkyxd+LG3OnDm8/vrrfPvtt/z+++8cOZJmZR8bN26kfPlTf5VPYI1o48aNw27u1KxZM8aOHcvSpUvp0KFDmnNJSUnp6p933nmAtxlRpHr06EHXrl2ZNm0a8+fPZ+nSpcyfP5/Ro0czevRonnnmGZ56ynszZkpKCrt27aJcuXIMGDAgbH9xcXGkpKREfP3TKeoJqYiIiIiI/PkCm/f06dOHESNGMHjwYJxzqRvbhNvY55VXXqFnz56UKlWKa665hkqVKlGoUCHMjM8//5wff/yRw4cPn1I8u3d7b1QsV65cunMxMTFpRk0DPvnkE26//XYKFSpEixYtOP/88ylSpAj58uVjxowZzJkz55TjCY0ro12BA+W7du1Kd65kyZLpygJJbVZHkosUKULbtm1T3wd75MgRhg8fTo8ePejfvz8333wztWrVYvv27QCsWLGCZ555JsP+9u3bl6Xrny5KSEVERERE8qh77rmHp556ivfff5+BAwcyZ84cVq9eTbNmzahatWqaukePHqV///6UL1+eJUuWpEsc58yZk61YSpQoAcCWLVuoWLFimnNHjhxh586d6RK8J598kri4OBYvXsxFF12U5tz69euzHVNwXJs3bw57/rfffktT788SExPDww8/zIIFCxg7diwzZ86kVq1aqXH85S9/Ydy4cX9qTKciN6whFRERERGRKChXrhxt2rRJXQMZeA1M6GZG4CWKe/fupWHDhumS0T179oR9/UlWBN6H+s0336Q7N3v2bE6cOJGufNWqVdSsWTNdMnr8+HHmzZuXrn5g2m9WRifr1KkDeAl3uHYzZ85ME/+fLbDRU+BVLjVq1KBYsWIsWLAg3XTqjARvevRnU0IqIiIiIpKHBd5JOnjwYCZMmEDp0qW5+eab09VLTEwkLi6ORYsWsX///tTyI0eO8NBDD2VpTWQ499xzDwADBgxIM/314MGD9O3bN2ybSpUqsWLFijSjl845nnrqqbDv+syXLx/x8fGsW7cu4rgqV67M1VdfzapVqxgyZEiac/PmzePjjz8mISEh3QZQOeXNN9/McAOk5cuX89ln3psoGzVqBEDBggXp3r07GzZs4NFHH+XQoUPp2m3atCnNGtLA62ey8lxyiqbsioiIiIjkYddeey1VqlRJTXq6d+9OTExMunr58+ene/fuDBo0iFq1atGmTRsOHz7MjBkz2L17N02aNAk7uhmpxo0b061bN958801q1KhB+/btU99DWqZMGcqWLZuuTY8ePejevTu1a9emXbt2FChQgDlz5rBy5Upat27NlClT0rVp3rw5n376KTfddBN16tShQIECNG3alIYNG2YY21tvvUXDhg3p0aMHX375JfXq1Ut9D2mBAgUYNWoURYoUOeV7z8wXX3zBAw88QJUqVWjQoAHnnXcehw8fZuXKlXz11VccO3aMxx57LM0I7TPPPMMPP/zAsGHDmDhxIs2aNaN8+fJs2bKFn3/+mfnz5/P3v/89dSOrEiVKkJSUxMyZM7nzzjupVq0a+fLlo23bttl6r2wklJCKiIiIiORhZkaXLl3o168f8MeIaTgDBw6kbNmyvPvuu7z11luULFmSFi1a8Pzzz9OnT59sxzJ06FAuuugihg8fzvDhwyldujS33HILzz//PNWrV09X/8EHH6RQoUK89tprjBw5ksKFC9O4cWM++OADxowZEzYhHTJkCAUKFGD69OlMmTKFEydOMGDAgEwT0gsvvJDFixfz3HPPMXXqVGbOnEnx4sVp1aoVffv2Dbubbk4ZNGgQTZs2Zfr06Xz77beMHz+eY8eOpU637tKlCzfccEOaNgULFmTSpEl88MEHvPfee0yePJl9+/ZRpkwZzj//fJ577jluv/32NG1Gjx7NY489xtSpU/noo49wzlG5cuXTnpBaYK6xnD5JSUkuOTk52mGkk43dr89a2XxNlYiIiJwBgl9xIiLZE+m/JzNb7JxLl7lrDamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERETyHOdctEMQOePlxL8jJaQiIiIikqfkz5+fo0ePRjsMkTPe0aNHyZ8/f7b6UEIqIiIiInlKsWLF2LNnT7TDEDnj7dmzh2LFimWrDyWkIiIiIpKnlCpVip07d7Jt2zaOHDmi6bsiWeCc48iRI2zbto2dO3dSqlSpbPVXIIfiEhERERE5I8TGxlKxYkV27NjB2rVrOX78eLRDEjmj5M+fn2LFilGxYkViY2Oz1ZcSUhERERHJc2JjY0lMTCQxMTHaoYjkaZqyKyIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhU5IqE1Mz+bmbTzWy9mR00sx1mttTMnjazhAzaNDCzqX7dA2b2g5k9amb5M7lOazObZWa7zWyfmX1nZnefJLa7zWyhX3+33751du9ZREREREQkr8sVCSnQAygCTANeA0YDx4D+wA9mdl5wZTO7CZgNNAbGA8OAGOAfwNhwFzCz7sBkoCbwIfA2UB4YZWaDMmgzCBgFJPr1PwRqAZP9/kREREREROQUmXMu2jFgZnHOuUNhyp8H+gJvOuce8MuKA78AJYCrnHPJgT6AGUB94A7n3NigfioDPwH7gXrOubV+eTywCLgAaOCcWxDUpgEwD1gFXOac2xnU12K8BPriQF+ZSUpKcsnJyZE+jj9N+fLRjiD32bQp2hGIiIiIiJx9zGyxcy4ptDxXjJCGS0Z94/zjhUFl7YEywNhAMhrURz//a7eQfv4KxAJDgxNIP8l8wf/6t5A2ge/PB5JRv81avBHZWOCeDG9KREREREREMpUrEtJM3Ogffwgqa+Yf/xWm/mzgANDAzGIjbPNlSJ3stBEREREREZEIFYh2AMHMrBdQFG86bhLQEC8ZfTGo2kX+cWVoe+fcMTNbA9QAzgdSImjzm5ntB841s8LOuQNmVgSoAOxzzv0WJtSf/WO1rNyfiIiIiIiI/CFXJaRAL6Bc0Pd/AZ2dc1uDykr4x90Z9BEoL5nFNkX8egdO8RoiIiIiIiKSBblqyq5z7hznnAHnALfgjXIuNbO6WejGAt2d5jaZ1jezrmaWbGbJW7duzaiaiIiIiIhInpWrEtIA59wW59x44FogAXg/6HRgdLJEuoae4iH1stJmT4T1TzaCinPun865JOdcUpkyZTKqJiIiIiIikmflyoQ0wDn3K7AcqGFmpf3iFf4x3fpNMysAVMF7h+nqoFOZtUnEm667wTl3wL/ufmAjUNQ/Hyqw62+6NakiIiIiIiISmVydkPoCb8s87h9n+Mfrw9RtDBQG5jvnDgeVZ9amZUid7LQRERERERGRCEU9ITWzi83snDDl+czseaAsXoIZeBfop8A24HYzSwqqHwc85399M6S7kcBhoLuZVQ5qEw/09b8OD2kT+P6EXy/QpjLwoN/fyIhuUkRERERERNLJDbvsXg+8bGazgVXAdryddpvgbWq0GbgvUNk5t8fM7sNLTGeZ2VhgB9AG7/UunwIfB1/AObfGzHoDrwPJZvYxcARoD5wLDHbOLQhpM9/MXgEeA34ws0+BGOA2oBTwkHNubU4+CBERERERkbwkNySkXwP/BK4C/gfvVSr78dZnfgC87pzbEdzAOTfBzJoATwDtgDjgF7zk8XXnXLrdb51zQ8xsLd6rZTrhjQ4vB/o5594LF5hzrqeZ/QB0B7oCJ4AlwMvOuSnZvG8REREREZE8zcLkbpLDkpKSXHJycrTDSKd8+ZPXyWs2bYp2BCIiIiIiZx8zW+ycSwotj/oaUhEREREREcmblJCKiIiIiIhIVCghFRERERERkahQQioiIiIiIiJRoYRUREREREREokIJqYiIiIiIiESFElIRERERERGJCiWkIiIiIiIiEhVKSEVERERERCQqlJCKiIiIiIhIVCghFRERERERkahQQioiIiIiIiJRoYRUREREREREokIJqYiIiIiIiESFElIRERERERGJCiWkIiIiIiIiEhVKSEVERERERCQqlJCKiIiIiIhIVCghFRERERERkahQQioiIiIiIiJRoYRUREREREREokIJqYiIiIiIiESFElIRERERERGJCiWkIiIiIiIiEhVKSEVERERERCQqlJCKiIiIiIhIVCghFRERERERkahQQioiIiIiIiJRoYRUREREREREoqJAdjsws4uBlsABYKxzbne2oxIREREREZGzXsQjpGb2lJn9ZmalgsquAZYCg4A3gCVmlpDzYYqIiIiIiMjZJitTdlsCPznndgSVDQQc8DTwJlAFeCTnwhMRERER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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "train_cases = pd.DataFrame(train)\n", + "test_cases = pd.DataFrame(test)\n", + "val_cases = pd.DataFrame(val)\n", + "\n", + "train_cases = train_cases[1].value_counts()\n", + "test_cases = test_cases[1].value_counts()\n", + "val_cases = val_cases[1].value_counts()\n", + "\n", + "labels = ['PNEUMONIA', 'NORMAL', 'COVID']\n", + "\n", + "index = np.arange(len(labels))\n", + "bar_width = 0.25\n", + "opacity = 0.9\n", + "\n", + "fig, ax = plt.subplots(figsize = (15, 10))\n", + "\n", + "train_bar = ax.bar(index - bar_width, train_cases, bar_width,\n", + " alpha=opacity, color='b',\n", + " label='Training Set')\n", + "\n", + "test_bar = ax.bar(index, test_cases, bar_width,\n", + " alpha=opacity, color='r', tick_label = ('Pneumonia', 'Normal', 'COVID'),\n", + " label='Testing Set')\n", + "val_bar = ax.bar(index + bar_width, val_cases, bar_width,\n", + " alpha=opacity, color='g', tick_label = ('Pneumonia', 'Normal', 'COVID'),\n", + " label='Validation Set')\n", + "\n", + "\n", + "plt.xlabel('Class', fontsize = 20)\n", + "plt.ylabel('Number of Images', fontsize = 20)\n", + "plt.yticks(fontsize = 20)\n", + "plt.title('Total Images per set', fontsize = 20)\n", + "plt.xticks(index + 0.3 * bar_width, fontsize = 20)\n", + "plt.legend(fontsize = 20)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here's a further breakdown of the how the images are distributed in the set." + ] + }, + { + "cell_type": "code", + "execution_count": 253, + "metadata": {}, + "outputs": [], + "source": [ + "def percentage(image_set):\n", + " for l, i in zip(labels, list(image_set)):\n", + " num = (int(i) / sum(list(image_set)))\n", + " print(l,' images make up ',round(num * 100),'% of the set')" + ] + }, + { + "cell_type": "code", + "execution_count": 254, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 72 % of the set\n", + "NORMAL images make up 25 % of the set\n", + "COVID images make up 3 % of the set\n" + ] + } + ], + "source": [ + "percentage(train_cases)" + ] + }, + { + "cell_type": "code", + "execution_count": 255, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 59 % of the set\n", + "NORMAL images make up 36 % of the set\n", + "COVID images make up 5 % of the set\n" + ] + } + ], + "source": [ + "percentage(test_cases)" + ] + }, + { + "cell_type": "code", + "execution_count": 256, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 48 % of the set\n", + "NORMAL images make up 26 % of the set\n", + "COVID images make up 26 % of the set\n" + ] + } + ], + "source": [ + "percentage(val_cases)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### As mentioned in the previous notebook, our dataset is quite unbalanced, which might affect the fit of the CNN. In order to avoid this, I will use the ImageDataGenerator, which I will describe later." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Preparing the image data for implementation into our CNN." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here, I extract the feature (the numpy array per image), and the label (the class of the image), and append the data into x and y sets. " + ] + }, + { + "cell_type": "code", + "execution_count": 333, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = []\n", + "y_train = []\n", + "\n", + "x_val = []\n", + "y_val = []\n", + "\n", + "x_test = []\n", + "y_test = []\n", + "\n", + "for feature, label in train:\n", + " x_train.append(feature)\n", + " y_train.append(label)\n", + "\n", + "for feature, label in test:\n", + " x_test.append(feature)\n", + " y_test.append(label)\n", + " \n", + "for feature, label in val:\n", + " x_val.append(feature)\n", + " y_val.append(label)" + ] + }, + { + "cell_type": "code", + "execution_count": 336, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 390\n", + "1 234\n", + "2 32\n", + "dtype: int64" + ] + }, + "execution_count": 336, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(y_test).value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 258, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[19, 27, 30, ..., 16, 9, 2],\n", + " [24, 26, 34, ..., 17, 11, 4],\n", + " [22, 30, 39, ..., 19, 11, 4],\n", + " ...,\n", + " [10, 8, 7, ..., 15, 15, 15],\n", + " [10, 8, 7, ..., 15, 15, 15],\n", + " [10, 10, 7, ..., 15, 15, 15]], dtype=uint8)" + ] + }, + "execution_count": 258, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As we now have a multi-class classification, we need to convert our labels to be categorical." + ] + }, + { + "cell_type": "code", + "execution_count": 259, + "metadata": {}, + "outputs": [], + "source": [ + "y_train = to_categorical(y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 260, + "metadata": {}, + "outputs": [], + "source": [ + "y_val = to_categorical(y_val)\n", + "y_test = to_categorical(y_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Here's the output of converting our y values to categorical. In the case of multi-class image recognition, despite our labels extending from 0 to 2, the CNN still needs to \"see\" the labels as values between 0 and 1. By converting the labels into an array of numbers, whereby the position of the number indicates the label, this ensures that the model can interpert the label input correctly.\n", + "\n", + "### As you can see below, a 1, in the zero index = Pneumonia, first index = Normal, second index = COVID." + ] + }, + { + "cell_type": "code", + "execution_count": 268, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.]], dtype=float32)" + ] + }, + "execution_count": 268, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_val" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reducing the Colour Data Down to Grayscale (0 - 1) instead of (0 - 255)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This significantly reduces the amount of information that the neural network needs to process, thereby reducing the amount of data that's needed to be allocated to memory and reducing the computation time." + ] + }, + { + "cell_type": "code", + "execution_count": 262, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = np.array(x_train) / 255\n", + "x_val = np.array(x_val) / 255\n", + "x_test = np.array(x_test) / 255" + ] + }, + { + "cell_type": "code", + "execution_count": 263, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5365, 128, 128)" + ] + }, + "execution_count": 263, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 267, + "metadata": {}, + "outputs": [], + "source": [ + "img_size = 128\n", + "x_train = x_train.reshape(-1, img_size, img_size, 1)\n", + "y_train = np.array(y_train)\n", + "\n", + "x_val = x_val.reshape(-1, img_size, img_size, 1)\n", + "y_val = np.array(y_val)\n", + "\n", + "x_test = x_test.reshape(-1, img_size, img_size, 1)\n", + "y_test = np.array(y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 269, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(5365, 128, 128, 1)\n" + ] + } + ], + "source": [ + "print(x_train.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[0.0745098 ],\n", + " [0.10588235],\n", + " [0.11764706],\n", + " ...,\n", + " [0.0627451 ],\n", + " [0.03529412],\n", + " [0.00784314]],\n", + "\n", + " [[0.09411765],\n", + " [0.10196078],\n", + " [0.13333333],\n", + " ...,\n", + " [0.06666667],\n", + " [0.04313725],\n", + " [0.01568627]],\n", + "\n", + " [[0.08627451],\n", + " [0.11764706],\n", + " [0.15294118],\n", + " ...,\n", + " [0.0745098 ],\n", + " [0.04313725],\n", + " [0.01568627]],\n", + "\n", + " ...,\n", + "\n", + " [[0.03921569],\n", + " [0.03137255],\n", + " [0.02745098],\n", + " ...,\n", + " [0.05882353],\n", + " [0.05882353],\n", + " [0.05882353]],\n", + "\n", + " [[0.03921569],\n", + " [0.03137255],\n", + " [0.02745098],\n", + " ...,\n", + " [0.05882353],\n", + " [0.05882353],\n", + " [0.05882353]],\n", + "\n", + " [[0.03921569],\n", + " [0.03921569],\n", + " [0.02745098],\n", + " ...,\n", + " [0.05882353],\n", + " [0.05882353],\n", + " [0.05882353]]])" + ] + }, + "execution_count": 178, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### ImageDataGenerator\n", + "#### This parameter can be used to generate more data from our dataset by feeding in images and manipulating them by flipping their horizontal axis or rotating them. This serves as a way to artificially increase the size of our dataset. This is applied to both the Training Data and Validation Data." + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "metadata": {}, + "outputs": [], + "source": [ + "datagen = ImageDataGenerator(horizontal_flip = True,\n", + " rotation_range = 5,\n", + " zoom_range = 0.1,\n", + " width_shift_range = 0.2,\n", + " height_shift_range = 0.2)" + ] + }, + { + "attachments": { + "example.jpg": { + "image/jpeg": "/9j/4QnARXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAiAAAAcgEyAAIAAAAUAAAAlIdpAAQAAAABAAAAqAAAANQACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpADIwMjA6MDU6MjMgMDk6MTQ6NDcAAAOgAQADAAAAAf//AACgAgAEAAAAAQAAAoCgAwAEAAAAAQAAAIAAAAAAAAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAABIgEbAAUAAAABAAABKgEoAAMAAAABAAIAAAIBAAQAAAABAAABMgICAAQAAAABAAAIhgAAAAAAAABIAAAAAQAAAEgAAAAB/9j/7QAMQWRvYmVfQ00AAf/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIACAAoAMBIgACEQEDEQH/3QAEAAr/xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/2gAMAwEAAhEDEQA/AIdQvrOdkndr6tn/AFTlS+uFN9vSwaGF9baaySOzWn9I7+yub611DNp6zngOBYzKtgRrtFjl6N0quvPxTXtDm1tl8mJafpj+ykpX+Kc1fsElrwbN1pcB2O53/fVd/wAY1pZ9Wbcev33ZAbVVU3V73WO27K2N9z3bf3VDpGFgYrbKejg0srbBiIlxnn27v+uKOfgdP6rmV/a7LLb8SxttLOILeHN1b9FJTx3Tes1ftDHxq3tL63BobIJ9giI/srS6r9U8nL6jiZ3TAGZFFzX2Gf8ABTvG0a73sXHQafrK+waObnWg/wDbljV6dXa6vo9J+jfbu2P/AJJ9u3+S97v5tJTtN6rk/ZAwVF1/p7QexJdtXLdL6RlYPq3Zob9utdbbbY2ffvc4sc7X81r9i3eo1WUdKZDoshrLHknwcX/nKhk3ep0n19HWh8WPHcwSxw/r/npKfL8qRkWkc/aCW/H1V6l0+xpwTlPG/wBGAGQDIPDBuDvzt39heWXuDLLHk/RtLj8A/cV6SHhnTsbHYf51nru4n3HYx7P6jGbXJKdXFd9qwbMjYGurD91YECfa6FXffWOnnqLK2VOYW+xrYlxguf8A1Nq0+mVBnTi4SWk7m7tTEBvu1csXKb6X27Bd7Q+t7mBxknaPWqP8mtrA5JTn/VroXWOg9Xzspjg7AusLq2zJPuOtn7rtdq6fqeXnZuHbjYsY9lpc0Wkj2mNu5s7f3lTyj9o6q2mg7K22bnM8QCfVt3CfpfmInX6nCqtzPa0lznbRJ9oDklOP03pDelYjaHuYba6yx91YAD3Rs3O2/wCFd+f/ANNcF1hxu6vkNOorc2ofAe7/AL+vSnX/AGnpTgDNlcOcT9J7B+f+9+hn+2vNOot29WyPE2McR5kN/wDIpKe66Nsy8F273E3WEt5A2vfU4n+qtfoOPk9DxX4leQMljnG4BxO4Gx/q/wAj2uc9Y/1TIppvtMbK3W6O4c59lmys/wBd/wD1C1uhNdbm2WEuh4cTv7ubH9rv+6kpzev/AFcf1nq1HU8u5rqsZzgcU/nGdzRt/M+j/bWR9bc2vpmFXUwgA7w0Dgvc137v+auuMYfV3ucT6VxDpP0Gztbud/Lrsbv2Lzj68+oMxtNh1rFziPP2hJT/AP/Q4n6wD/K3USePtN0/9uOXonTXjF6VWW625Q3nb9IVtO1u3+S+z2vXAdfbPVOpDxvv/wCreu76FXbfj9GvOwUsxa3brDHvdv8A5rR257Pz0lPTdJxRTQdw/SOh9ukSY+jH8lrVhtccTqTLRtBDtxLdXh276O07l02My4GwPHIbDgSZOqw8jofVMix94tYN5GyvUHTxtG76SSnyrqVja+r5eSBDWZtj9vgPWdovUMRvrdRrqHtrxqqySNQYa1zWOb+/6j/+215b1NhF2c1whzbbgRGkte+f+kF6l0RtDxjZzm+o7LxaHGHEAM2MY0emP5x3qJKdjqJa3pfquIGz3AnjSfpLmacit2Nl1tIcwY7rB4ewtsHpt/7+uwOLTZjCp43V7pgnz3R/0lkfWXExaOk5uTVU2u2vGuDXNABgsdLXR9JiSnx693qY9lkfTa53+d7l6v0rotXUen4mRfa5oOLS1jGwIhn0ySHfpNznLyz0azgA6/zIPP8AIXtf1bpYOjYXOmPX3/ktSUkoxLMfAGO1wcQQA537oP50/wAhq53r++h+Tl7mOqx8S8PLJ3Ahj3t9Td+Z+7s/wi7T0K3MAMwdDr5lc39Z+n4/7G6uNzw37LGjuxLXnlv8tySkXSWhzsi9xibH1saHS3Qy939p35vvWl1dzfsAtE7gJaW8gkTp/WhAwMT7Pk31V40t9R287DucSf51znfm/wCD9i1hj/oAzYdrIgEExB/lJKePwn3VZlBtqsqpuPpuc9pGj/Z7nFrGsrbu/wCuLzzPLj1fLDvpMv2EeGza2F7fk1uNZ9kjwgR9y8V6lRY3rnUG7T/S3HWO5a5JT1nQ3XHo9lVTXWWWZ+Q3YBulrHP+l/J3W/TXUfVxtgday6t9T2aBtnYHjb/WlyzvqBW/7DlHbM5uTr/bhda2p0ucG6wBMfHwSU819YH1DGGS1zRZW7QuP5rz+5+dtd7v3F559ebfW6/lt/0FIB8dz2+o/cvU+p4dtza8U0foHODAA0E6/wCEYf8ABvr/AHl5R9YcPqOR1jq1wxbS022MBDZ9tbfRb3/kJKf/2f/tEWpQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAADxwBWgADGyVHHAIAAAIf/QA4QklNBCUAAAAAABDrRdcH9fF+vWfNAKSYXDsWOEJJTQQ6AAAAAADlAAAAEAAAAAEAAAAAAAtwcmludE91dHB1dAAAAAUAAAAAUHN0U2Jvb2wBAAAAAEludGVlbnVtAAAAAEludGUAAAAAQ2xybQAAAA9wcmludFNpeHRlZW5CaXRib29sAAAAAAtwcmludGVyTmFtZVRFWFQAAAABAAAAAAAPcHJpbnRQcm9vZlNldHVwT2JqYwAAAAwAUAByAG8AbwBmACAAUwBlAHQAdQBwAAAAAAAKcHJvb2ZTZXR1cAAAAAEAAAAAQmx0bmVudW0AAAAMYnVpbHRpblByb29mAAAACXByb29mQ01ZSwA4QklNBDsAAAAAAi0AAAAQAAAAAQAAAAAAEnByaW50T3V0cHV0T3B0aW9ucwAAABcAAAAAQ3B0bmJvb2wAAAAAAENsYnJib29sAAAAAABSZ3NNYm9vbAAAAAAAQ3JuQ2Jvb2wAAAAAAENudENib29sAAAAAABMYmxzYm9vbAAAAAAATmd0dmJvb2wAAAAAAEVtbERib29sAAAAAABJbnRyYm9vbAAAAAAAQmNrZ09iamMAAAABAAAAAAAAUkdCQwAAAAMAAAAAUmQgIGRvdWJAb+AAAAAAAAAAAABHcm4gZG91YkBv4AAAAAAAAAAAAEJsICBkb3ViQG/gAAAAAAAAAAAAQnJkVFVudEYjUmx0AAAAAAAAAAAAAAAAQmxkIFVudEYjUmx0AAAAAAAAAAAAAAAAUnNsdFVudEYjUHhsQFIAAAAAAAAAAAAKdmVjdG9yRGF0YWJvb2wBAAAAAFBnUHNlbnVtAAAAAFBnUHMAAAAAUGdQQwAAAABMZWZ0VW50RiNSbHQAAAAAAAAAAAAAAABUb3AgVW50RiNSbHQAAAAAAAAAAAAAAABTY2wgVW50RiNQcmNAWQAAAAAAAAAAABBjcm9wV2hlblByaW50aW5nYm9vbAAAAAAOY3JvcFJlY3RCb3R0b21sb25nAAAAAAAAAAxjcm9wUmVjdExlZnRsb25nAAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNA/IAAAAAAAoAAP///////wAAOEJJTQQNAAAAAAAEAAAAWjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAAAAEAOEJJTScQAAAAAAAKAAEAAAAAAAAAAjhCSU0D9AAAAAAAEgA1AAAAAQAtAAAABgAAAAAAAThCSU0D9wAAAAAAHAAA/////////////////////////////wPoAAA4QklNBAAAAAAAAAIABDhCSU0EAgAAAAAACgAAAAAAAAAAAAA4QklNBDAAAAAAAAUBAQEBAQA4QklNBC0AAAAAAAYAAQAAAAc4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADQwAAAAYAAAAAAAAAAAAAAIAAAAKAAAAABwBlAHgAYQBtAHAAbABlAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAgAAAAABSZ2h0bG9uZwAAAoAAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAIAAAAAAUmdodGxvbmcAAAKAAAAAA3VybFRFWFQAAAABAAAAAAAAbnVsbFRFWFQAAAABAAAAAAAATXNnZVRFWFQAAAABAAAAAAAGYWx0VGFnVEVYVAAAAAEAAAAAAA5jZWxsVGV4dElzSFRNTGJvb2wBAAAACGNlbGxUZXh0VEVYVAAAAAEAAAAAAAlob3J6QWxpZ25lbnVtAAAAD0VTbGljZUhvcnpBbGlnbgAAAAdkZWZhdWx0AAAACXZlcnRBbGlnbmVudW0AAAAPRVNsaWNlVmVydEFsaWduAAAAB2RlZmF1bHQAAAALYmdDb2xvclR5cGVlbnVtAAAAEUVTbGljZUJHQ29sb3JUeXBlAAAAAE5vbmUAAAAJdG9wT3V0c2V0bG9uZwAAAAAAAAAKbGVmdE91dHNldGxvbmcAAAAAAAAADGJvdHRvbU91dHNldGxvbmcAAAAAAAAAC3JpZ2h0T3V0c2V0bG9uZwAAAAAAOEJJTQQoAAAAAAAMAAAAAj/wAAAAAAAAOEJJTQQUAAAAAAAEAAAACzhCSU0EDAAAAAAIogAAAAEAAACgAAAAIAAAAeAAADwAAAAIhgAYAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAIACgAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8Ah1C+s52Sd2vq2f8AVOVL64U329LBoYX1tprJI7Naf0jv7K5vrXUM2nrOeA4FjMq2BGu0WOXo3Sq68/FNe0ObW2XyYlp+mP7KSlf4pzV+wSWvBs3WlwHY7nf99V3/ABjWln1Ztx6/fdkBtVVTdXvdY7bsrY33Pdt/dUOkYWBitsp6ODSytsGIiXGefbu/64o5+B0/quZX9rsstvxLG20s4gt4c3Vv0UlPHdN6zV+0MfGre0vrcGhsgn2CIj+ytLqv1TycvqOJndMAZkUXNfYZ/wAFO8bRrvexcdBp+sr7Bo5udaD/ANuWNXp1drq+j0n6N9u7Y/8Akn27f5L3u/m0lO03quT9kDBUXX+ntB7El21ct0vpGVg+rdmhv2611tttjZ9+9zixztfzWv2Ld6jVZR0pkOiyGsseSfBxf+cqGTd6nSfX0daHxY8dzBLHD+v+ekp8vypGRaRz9oJb8fVXqXT7GnBOU8b/AEYAZAMg8MG4O/O3f2F5Ze4MsseT9G0uPwD9xXpIeGdOxsdh/nWeu7ifcdjHs/qMZtckp1cV32rBsyNga6sP3VgQJ9roVd99Y6eeosrZU5hb7GtiXGC5/wDU2rT6ZUGdOLhJaTubu1MQG+7VyxcpvpfbsF3tD63uYHGSdo9ao/ya2sDklOf9WuhdY6D1fOymODsC6wurbMk+462fuu12rp+p5edm4duNixj2WlzRaSPaY27mzt/eVPKP2jqraaDsrbZuczxAJ9W3cJ+l+YidfqcKq3M9rSXOdtEn2gOSU4/TekN6ViNoe5htrrLH3VgAPdGzc7b/AIV35/8A01wXWHG7q+Q06itzah8B7v8Av69Kdf8AaelOAM2Vw5xP0nsH5/736Gf7a806i3b1bI8TYxxHmQ3/AMikp7ro2zLwXbvcTdYS3kDa99Tif6q1+g4+T0PFfiV5AyWOcbgHE7gbH+r/ACPa5z1j/VMimm+0xsrdbo7hzn2WbKz/AF3/APULW6E11ubZYS6HhxO/u5sf2u/7qSnN6/8AVx/WerUdTy7muqxnOBxT+cZ3NG38z6P9tZH1tza+mYVdTCADvDQOC9zXfu/5q64xh9Xe5xPpXEOk/QbO1u538uuxu/YvOPrz6gzG02HWsXOI8/aElP8A/9DifrAP8rdRJ4+03T/245eidNeMXpVZbrblDedv0hW07W7f5L7Pa9cB19s9U6kPG+//AKt67voVdt+P0a87BSzFrdusMe92/wDmtHbns/PSU9N0nFFNB3D9I6H26RJj6MfyWtWG1xxOpMtG0EO3Et1eHbvo7TuXTYzLgbA8chsOBJk6rDyOh9UyLH3i1g3kbK9QdPG0bvpJKfKupWNr6vl5IENZm2P2+A9Z2i9QxG+t1Guoe2vGqrJI1BhrXNY5v7/qP/7bXlvU2EXZzXCHNtuBEaS175/6QXqXRG0PGNnOb6jsvFocYcQAzYxjR6Y/nHeokp2Oolrel+q4gbPcCeNJ+kuZpyK3Y2XW0hzBjusHh7C2wem3/v67A4tNmMKnjdXumCfPdH/SWR9ZcTFo6Tm5NVTa7a8a4Nc0AGCx0tdH0mJKfHr3epj2WR9Nrnf53uXq/Sui1dR6fiZF9rmg4tLWMbAiGfTJId+k3OcvLPRrOADr/Mg8/wAhe1/Vulg6Nhc6Y9ff+S1JSSjEsx8AY7XBxBADnfug/nT/ACGrnev76H5OXuY6rHxLw8sncCGPe31N35n7uz/CLtPQrcwAzB0OvmVzf1n6fj/sbq43PDfssaO7EteeW/y3JKRdJaHOyL3GJsfWxodLdDL3f2nfm+9aXV3N+wC0TuAlpbyCROn9aEDAxPs+TfVXjS31HbzsO5xJ/nXOd+b/AIP2LWGP+gDNh2siAQTEH+Ukp4/CfdVmUG2qyqm4+m5z2kaP9nucWsaytu7/AK4vPM8uPV8sO+ky/YR4bNrYXt+TW41n2SPCBH3LxXqVFjeudQbtP9LcdY7lrklPWdDdcej2VVNdZZZn5DdgG6Wsc/6X8ndb9NdR9XG2B1rLq31PZoG2dgeNv9aXLO+oFb/sOUdszm5Ov9uF1ranS5wbrAEx8fBJTzX1gfUMYZLXNFlbtC4/mvP7n5213u/cXnn15t9br+W3/QUgHx3Pb6j9y9T6nh23NrxTR+gc4MADQTr/AIRh/wAG+v8AeXlH1hw+o5HWOrXDFtLTbYwENn21t9Fvf+Qkp//ZOEJJTQQhAAAAAABdAAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAAFwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAQwAgADIAMAAxADUAAAABADhCSU0EBgAAAAAABwAEAAAAAQEA/+ESHWh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwNjcgNzkuMTU3NzQ3LCAyMDE1LzAzLzMwLTIzOjQwOjQyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNS0yM1QwOToxMzozNCswMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDUtMjNUMDk6MTQ6NDcrMDI6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjEiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJEb3QgR2FpbiAyMCUiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyYjE0ZDAyNi1mMDcyLTgyNDgtOGE5NC1kNWNmODEzYjE2Y2QiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowN2ExOWE4Zi05Y2M1LTExZWEtYTk4Zi1hMTczYTg4NWYxOWYiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTNjNTVhNC04NzFkLTVmNDYtYTk4Zi1kYTViMzg4YjZmYzUiPiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT4wMjQ3NkE3MEY1MEMyQzU4QTM2RERCNDUxMDNGRThEMDwvcmRmOmxpPiA8cmRmOmxpPjNBREZENTdGRjhBREM1RkNCRUVENTEzNDY0NzJFMzFFPC9yZGY6bGk+IDxyZGY6bGk+NEEzQUI5QUNFN0ZCOTAyMUNDMUVFMDI2RkVBMEZBQjE8L3JkZjpsaT4gPHJkZjpsaT5CNTMyNDNENDUyQUEyQTVCNjEzRjQyN0ZEQzVGREYxMDwvcmRmOmxpPiA8cmRmOmxpPkQ4MUM4MDgxQjQxRjc5NjY0RTFGMjk1NEJBRURGOUFEPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjUzYzU1YTQtODcxZC01ZjQ2LWE5OGYtZGE1YjM4OGI2ZmM1IiBzdEV2dDp3aGVuPSIyMDIwLTA1LTIzVDA5OjEzOjM0KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjRkYjgwYTg4LTAwNzMtOTM0Ny04ZGUwLTg5ZDliNGFiNGUzOCIgc3RFdnQ6d2hlbj0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJiMTRkMDI2LWYwNzItODI0OC04YTk0LWQ1Y2Y4MTNiMTZjZCIgc3RFdnQ6d2hlbj0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ZGI4MGE4OC0wMDczLTkzNDctOGRlMC04OWQ5YjRhYjRlMzgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkNGNkZDVlNC05Y2M0LTExZWEtOTA3ZC1mOGE5M2FiMGUwYWEiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTNjNTVhNC04NzFkLTVmNDYtYTk4Zi1kYTViMzg4YjZmYzUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iA6BJQ0NfUFJPRklMRQABAQAAA5BBREJFAhAAAHBydHJHUkFZWFlaIAfPAAYAAwAAAAAAAGFjc3BBUFBMAAAAAG5vbmUAAAAAAAAAAAAAAAAAAAABAAD21gABAAAAANMtQURC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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![example.jpg](attachment:example.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CNN Model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below I utilised the same model as I used in my previous notebook, with some modification to the final Dense activation layer (\"softmax\") and my loss model ('categorical crossentropy') to assess wherever this can differentiate between COVID-19 induced pneumonia and the previous pneumonia images." + ] + }, + { + "cell_type": "code", + "execution_count": 273, + "metadata": {}, + "outputs": [], + "source": [ + "model = Sequential()\n", + "\n", + "#Convolution \n", + "model.add(Conv2D(32, (3, 3), activation=\"relu\", input_shape=(128, 128, 1)))\n", + "\n", + "#Pooling\n", + "model.add(MaxPooling2D(pool_size = (2, 2)))\n", + "\n", + "# 2nd Convolution\n", + "model.add(Conv2D(32, (3, 3), activation=\"relu\"))\n", + "\n", + "# 2nd Pooling layer\n", + "model.add(MaxPooling2D(pool_size = (2, 2)))\n", + "\n", + "# Flatten the layer - this flattens the 3D feature maps into 1D \n", + "# feature vectors.\n", + "model.add(Flatten())\n", + "\n", + "# Density\n", + "model.add(Dense(activation = 'relu', units = 2048, kernel_initializer = 'uniform'))\n", + "model.add(Dense(activation = 'relu', units = 1024, kernel_initializer = 'uniform'))\n", + "model.add(Dense(activation = 'relu', units = 512, kernel_initializer = 'uniform'))\n", + "model.add(Dense(activation = 'relu', units = 265, kernel_initializer = 'uniform'))\n", + "model.add(Dense(activation = 'softmax', units = 3, kernel_initializer = 'uniform'))\n", + "\n", + "# Compile \n", + "model.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])" + ] + }, + { + "cell_type": "code", + "execution_count": 274, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential_6\"\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "conv2d_11 (Conv2D) (None, 126, 126, 32) 320 \n", + "_________________________________________________________________\n", + "max_pooling2d_11 (MaxPooling (None, 63, 63, 32) 0 \n", + "_________________________________________________________________\n", + "conv2d_12 (Conv2D) (None, 61, 61, 32) 9248 \n", + "_________________________________________________________________\n", + "max_pooling2d_12 (MaxPooling (None, 30, 30, 32) 0 \n", + "_________________________________________________________________\n", + "flatten_6 (Flatten) (None, 28800) 0 \n", + "_________________________________________________________________\n", + "dense_26 (Dense) (None, 2048) 58984448 \n", + "_________________________________________________________________\n", + "dense_27 (Dense) (None, 1024) 2098176 \n", + "_________________________________________________________________\n", + "dense_28 (Dense) (None, 512) 524800 \n", + "_________________________________________________________________\n", + "dense_29 (Dense) (None, 265) 135945 \n", + "_________________________________________________________________\n", + "dense_30 (Dense) (None, 3) 798 \n", + "=================================================================\n", + "Total params: 61,753,735\n", + "Trainable params: 61,753,735\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "model.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 275, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/20\n", + "84/84 [==============================] - 79s 942ms/step - loss: 0.6609 - accuracy: 0.7236 - val_loss: 1.6378 - val_accuracy: 0.2903\n", + "Epoch 2/20\n", + "84/84 [==============================] - 79s 939ms/step - loss: 0.4082 - accuracy: 0.8382 - val_loss: 1.8378 - val_accuracy: 0.3548\n", + "Epoch 3/20\n", + "84/84 [==============================] - 80s 951ms/step - loss: 0.3019 - accuracy: 0.8816 - val_loss: 0.9258 - val_accuracy: 0.6452\n", + "Epoch 4/20\n", + "84/84 [==============================] - 82s 982ms/step - loss: 0.2746 - accuracy: 0.8986 - val_loss: 1.1091 - val_accuracy: 0.6774\n", + "Epoch 5/20\n", + "84/84 [==============================] - 85s 1s/step - loss: 0.2445 - accuracy: 0.9048 - val_loss: 1.2701 - val_accuracy: 0.6129\n", + "Epoch 6/20\n", + "84/84 [==============================] - 83s 984ms/step - loss: 0.2304 - accuracy: 0.9118 - val_loss: 1.0148 - val_accuracy: 0.6774\n", + "Epoch 7/20\n", + "84/84 [==============================] - 84s 995ms/step - loss: 0.2188 - accuracy: 0.9158 - val_loss: 0.6180 - val_accuracy: 0.7742\n", + "Epoch 8/20\n", + "84/84 [==============================] - 81s 959ms/step - loss: 0.2271 - accuracy: 0.9109 - val_loss: 0.9372 - val_accuracy: 0.7419\n", + "Epoch 9/20\n", + "84/84 [==============================] - 78s 929ms/step - loss: 0.2156 - accuracy: 0.9158 - val_loss: 0.9267 - val_accuracy: 0.7419\n", + "Epoch 10/20\n", + "84/84 [==============================] - 78s 930ms/step - loss: 0.1930 - accuracy: 0.9318 - val_loss: 0.9475 - val_accuracy: 0.7419\n", + "Epoch 11/20\n", + "84/84 [==============================] - 79s 943ms/step - loss: 0.2174 - accuracy: 0.9148 - val_loss: 0.9869 - val_accuracy: 0.8065\n", + "Epoch 12/20\n", + "84/84 [==============================] - 80s 948ms/step - loss: 0.1935 - accuracy: 0.9297 - val_loss: 0.8906 - val_accuracy: 0.7742\n", + "Epoch 13/20\n", + "84/84 [==============================] - 78s 928ms/step - loss: 0.1974 - accuracy: 0.9292 - val_loss: 1.0173 - val_accuracy: 0.6129\n", + "Epoch 14/20\n", + "84/84 [==============================] - 79s 941ms/step - loss: 0.1836 - accuracy: 0.9316 - val_loss: 0.6113 - val_accuracy: 0.7097\n", + "Epoch 15/20\n", + "84/84 [==============================] - 78s 931ms/step - loss: 0.1802 - accuracy: 0.9355 - val_loss: 0.5754 - val_accuracy: 0.8065\n", + "Epoch 16/20\n", + "84/84 [==============================] - 78s 926ms/step - loss: 0.1756 - accuracy: 0.9363 - val_loss: 0.8186 - val_accuracy: 0.7419\n", + "Epoch 17/20\n", + "84/84 [==============================] - 78s 926ms/step - loss: 0.1832 - accuracy: 0.9331 - val_loss: 0.4973 - val_accuracy: 0.7742\n", + "Epoch 18/20\n", + "84/84 [==============================] - 78s 931ms/step - loss: 0.1675 - accuracy: 0.9335 - val_loss: 0.7917 - val_accuracy: 0.6774\n", + "Epoch 19/20\n", + "84/84 [==============================] - 78s 933ms/step - loss: 0.1564 - accuracy: 0.9437 - val_loss: 0.6315 - val_accuracy: 0.7419\n", + "Epoch 20/20\n", + "84/84 [==============================] - 78s 925ms/step - loss: 0.1624 - accuracy: 0.9383 - val_loss: 0.8040 - val_accuracy: 0.7097\n" + ] + } + ], + "source": [ + "model_covid = model.fit(datagen.flow(x_train, y_train, batch_size = 64), epochs = 20,\n", + " validation_data = datagen.flow(x_val, y_val))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As you can see, the accuracy of the model is quite good at 87%, whilst the losses could be improved with further tweaking of the CNN." + ] + }, + { + "cell_type": "code", + "execution_count": 276, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "656/656 [==============================] - 2s 3ms/step\n", + "Loss of the model is - 41.88435183974301 %\n", + "656/656 [==============================] - 2s 3ms/step\n", + "Accuracy of the model is - 84.90853905677795 %\n" + ] + } + ], + "source": [ + "print(\"Loss of the model is - \" , model.evaluate(x_test,y_test)[0]*100 , \"%\")\n", + "print(\"Accuracy of the model is - \" , model.evaluate(x_test,y_test)[1]*100 , \"%\")" + ] + }, + { + "cell_type": "code", + "execution_count": 277, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training_accuracy 0.9383038\n", + "validation_accuracy 0.7096773982048035\n" + ] + } + ], + "source": [ + "print(\"training_accuracy\", model_covid.history['accuracy'][-1])\n", + "print(\"validation_accuracy\", model_covid.history['val_accuracy'][-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 299, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " ...,\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.]], dtype=float32)" + ] + }, + "execution_count": 299, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predictions = model.predict_classes(x_test, batch_size = 128)\n", + "predictions = predictions.reshape(1,-1)[0]\n", + "predictions = to_categorical(predictions)\n", + "predictions" + ] + }, + { + "cell_type": "code", + "execution_count": 281, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "plt.plot(model_covid.history['accuracy'], label = \"train_acc\")\n", + "plt.plot(model_covid.history['val_accuracy'], label = \"validation_acc\")\n", + "plt.plot(model_covid.history['loss'], label = \"train_loss\")\n", + "plt.plot(model_covid.history['val_loss'], label = \"val_loss\")\n", + "plt.title('Training Loss and Accuracy on Dataset')\n", + "plt.ylabel('Loss / Accuracy')\n", + "plt.xlabel('Epoch #')\n", + "plt.legend(loc='lower left')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below is the confusion matrix for this CNN. As you can see, the model successfully distinguises between COVID-19 Pneumonia and regular Pneumonia. The precision is the lowest for COVID-19, which is to be expected given the small size of the image dataset for COVID.\n", + "\n", + "### We a larger dataset of COVID-19 images, this could be developed and improved further." + ] + }, + { + "cell_type": "code", + "execution_count": 302, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + "Pneumonia (Class 0) 0.83 0.98 0.90 390\n", + " Normal (Class 1) 0.97 0.61 0.75 234\n", + " COVID (Class 2) 0.63 0.97 0.77 32\n", + "\n", + " micro avg 0.85 0.85 0.85 656\n", + " macro avg 0.81 0.85 0.80 656\n", + " weighted avg 0.87 0.85 0.84 656\n", + " samples avg 0.85 0.85 0.85 656\n", + "\n" + ] + } + ], + "source": [ + "print(classification_report(y_test, predictions, target_names = ['Pneumonia (Class 0)','Normal (Class 1)','COVID (Class 2)']))" + ] + }, + { + "cell_type": "code", + "execution_count": 322, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[190, 76],\n", + " [ 6, 384]],\n", + "\n", + " [[417, 5],\n", + " [ 92, 142]],\n", + "\n", + " [[606, 18],\n", + " [ 1, 31]]], dtype=int64)" + ] + }, + "execution_count": 322, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm = multilabel_confusion_matrix(y_test, predictions)\n", + "cm" + ] + }, + { + "cell_type": "code", + "execution_count": 329, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 329, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "cm = confusion_matrix(y_test.argmax(axis = 1), predictions.argmax(axis = 1))\n", + "cm_df = pd.DataFrame(cm)\n", + "plt.figure(figsize = (10,10))\n", + "sns.heatmap(cm_df, linewidth = 5 , annot = True, fmt='d',\n", + " xticklabels = ['Pneumonia', 'Normal', 'COVID'],\n", + " yticklabels = ['Pneumonia', 'Normal', 'COVID'],\n", + " cbar = False, cmap = \"YlGnBu\")" + ] + }, + { + "cell_type": "code", + "execution_count": 337, + "metadata": {}, + "outputs": [], + "source": [ + "model.save('model_PNEUCOVIDCOMPARE_FINAL 25.05.2020.model')\n", + "model.save_weights('model_PNEUCOVIDCOMPARE_FINAL 25.05.2020.h5')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### I decided to also explore further balancing dataset by 1) increasing the ratio of test to train data (80:20) 2) also significantly reduce the size of the dataset to match the number of COVID-19 images." + ] + }, + { + "cell_type": "code", + "execution_count": 338, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5365, 2)" + ] + }, + "execution_count": 338, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 339, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(656, 2)" + ] + }, + "execution_count": 339, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 340, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(31, 2)" + ] + }, + "execution_count": 340, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "val.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As I am unable to increase the size of the test imageset, I have chosen to reduce the training dataset. " + ] + }, + { + "cell_type": "code", + "execution_count": 341, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['PNEUMONIA', 'NORMAL', 'COVID']\n", + "\n", + "def get_training_data(data_dir):\n", + " data = []\n", + " for label in labels:\n", + " path = os.path.join(data_dir, label)\n", + " class_num = labels.index(label)\n", + " print(path)\n", + " for img in os.listdir(path):\n", + " try:\n", + " img_arr = cv2.imread(os.path.join(path, img), \n", + " cv2.IMREAD_GRAYSCALE)\n", + " resized_arr = cv2.resize(img_arr, (128, 128))\n", + " data.append([resized_arr, class_num])\n", + " \n", + " except Exception as e:\n", + " print(e)\n", + " return np.array(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 342, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\COVID\n", + "OpenCV(4.2.0) C:\\projects\\opencv-python\\opencv\\modules\\imgproc\\src\\resize.cpp:4045: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'\n", + "\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\COVID\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\COVID\n" + ] + } + ], + "source": [ + "train = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\")\n", + "val = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\")\n", + "test = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\")" + ] + }, + { + "cell_type": "code", + "execution_count": 343, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "12.051868802440884" + ] + }, + "execution_count": 343, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "632 / 5244 * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 344, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "20.0" + ] + }, + "execution_count": 344, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "632 / 3160 * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 345, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2084" + ] + }, + "execution_count": 345, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "5244 - 3160" + ] + }, + { + "cell_type": "code", + "execution_count": 346, + "metadata": {}, + "outputs": [], + "source": [ + "train = train[2084:]" + ] + }, + { + "cell_type": "code", + "execution_count": 347, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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7hQtWpR77rmHMmXKMGfOHOrXr0+VKlWCfhclS5YEYMuWLRw/fpyIiIig2n311Vfcc889OOdo27YtlSpVYvPmzYwdO5apU6cyb948qlevTlhYGM899xzjx48nISGBp556isKFCwNQpkyZoOO8ECghFRERERGRs+rcuTM7d+5k0qRJtG3bNql879693HDDDfzjH//glltuoXjx4vz2229MmTKFxo0bM3v27BQbKTnn2LdvHwD16tWjevXqDBo0iGrVqgWcTnw2P/zwA6tWrSImJgaAkydP0qBBA6ZOncrq1aupXr06AHv27OGRRx6hcOHCLFu2LMU04F69ejFixIign1mjRg1q1qzJqlWraNSoEd27d6d+/fpUr16dggULBmyzc+dO7r33XqKjo5k3b16KBHj58uXccMMNPPjgg8ybN4+wsDAGDBjAqlWrSEhI4Omnn75oNzXSlF0REREREcnQggULiI+P5957702RjII3Wvjss89y+PBhJk+enOJeeHh4ml19zSxphDEnvPDCC0nJKHhrTrt27QrA0qVLk8o///xzjh49Svfu3dOsSX3hhReSRiCDUaBAAb766isaNGhAfHw8PXv2pHbt2hQtWpQGDRowdOjQNFOG33vvPf744w9eeeWVNKOx11xzDffeey/z589ny5YtQcdxMdAIqYiIiIiIZGjRokWAt4Y00Cjm9u3bAUhISAAgJiaGZs2aMX36dOLi4rj99ttp1KgR9erVC3p6a7Di4uLSlF122WUA7N+/P6ls5cqVADRs2DBN/RIlSlC9enXi4+ODfm6VKlVYsGABP//8M99//z3Lly9nyZIlLFq0iEWLFvH2228zZ84cYn3HCPnf4bJly9i4cWOa/jZt2gR477B8+fJBx3GhU0IqIiIiIiIZ2rt3L+BtPPT111+nW+/IkSNJf548eTIvv/wyn332Gf369QOgcOHC3H333bz22muUKFEiR2JLfUwNeCOYAImJiUllBw8eBKBs2bIB+0mv/Gxq1apFrVq1kn7++eef6datGytWrODpp5/mk08+Af58h2ebGpz8HeYFmrIrIiIiIiIZioqKArxpp865dD/Dhg1LalO0aFFefvll1q9fz6ZNm/jwww+Ji4vj/fffp3Pnzuf9OxQrVgyAXbt2BbyfXnlm1apVi/fffx+AmTNnJpX73+H69eszfIft27fPkTguFEpIRUREREQkQ9dffz0A8+bNy1L7ChUqcN999zFjxgzKlSvHd999x7FjxwDInz8/kHI081yoU6cOAPPnz09zb9++faxevTrHnuU/ysY5l1SWlXd4vt5NKCkhFRERERGRDDVp0oS6devyySefMHbs2IB1Vq5cmbRmc8eOHaxYsSJNncOHD/PHH38QFhaWlGwVKlSIQoUKnfPNfDp06EDhwoV57733WLNmTYp7/fv35+jRo0H3lZCQwNtvv83hw4fT3Dtz5gwvv/wyAI0bN04q79GjB0WKFOGZZ57hxx9/TNPu9OnTac5zTX68zMVKa5vm7TEAACAASURBVEhFRERERCRDZsaECRNo0aIFnTp1YsiQIVx77bUUK1aMrVu3snLlSn755Rd+/vlnoqOj2bBhA40aNaJWrVrUrl2bcuXKceDAAaZMmcKBAwd45plnCAsLS+q/RYsWTJ06lfbt21OrVi0KFCjAjTfemDSqmBNKly7N66+/To8ePYiLi6Njx46ULl2auXPn8uuvv1K/fn0WLVpEvnxnH7Pbu3cvDz30EE888QQ33HADNWrUoGjRouzatYvp06ezZcsWypUrxyuvvJLUJjY2lnHjxtGxY0fq1q1Ly5Ytueqqq3DOsXXrVhYsWMDp06fZs2dPivfy9ttvc99999GuXTuKFClCmTJl6NGjR469l1BTQioiIiIiImdVuXJlVq5cyRtvvMFXX33FRx99hHOOmJgYatSowVNPPZV0nMmVV15J//79mT17Nt9//z179+6lZMmSXHXVVbz++ut06NAhRd8jR47k8ccfZ/bs2UycOJEzZ84QERGRowkpwAMPPECpUqUYNGgQY8aMoVChQjRv3pyPP/6Yv/3tb8Cfa00zcs011zBhwgS+++47li5dytixY9m3bx9FixalWrVq3H///Tz66KNpNm5q06YNP/zwA0OGDGH69OnMnj2biIgIYmJiaNWqVZr30r59e1566SVGjx7N0KFDOXnyJDVq1LioElJLPq9Zzo24uDiXmS2kzxffDtSSzI4doY5AREREzrWEhASuuuqqUIchucjJkye59NJLiYqKYt26daEO54IS7L8nM1vunEtzRo/WkIqIiIiISJ6wb98+jh8/nqLszJkz9OvXj927d3P77beHKLK8S1N2RUREREQkT5g5cyY9evSgZcuWVKhQgUOHDrFgwQJWrVpFlSpV6Nu3b6hDzHOUkIqIiIiISJ5Qq1YtbrrpJhYtWsSUKVM4c+YM5cuXp0+fPvTt25fo6OhQh5jnKCEVEREREZE84YorrmDcuHGhDkOS0RpSERERERERCQklpCIiIiIiIhISSkhFREREREQkJJSQioiIiIiISEgoIRUREREREZGQUEIqIiIiIiIiIaGEVEREREREREJCCamIiIiIiIiEhBJSERERERERCQklpCIiIiIick78+uuvmBl///vfU5R36dIFM2Pbtm1B93XppZdSpUqVnA4xhfTilXOnQKgDEBERERHJTWKHxIY6hAzt6LMjW+07derE2LFjeeutt+jZs2eGdVu2bMn333/PV199Rbt27bL13Nzg9OnTFCxYkBYtWvD999+HOpygHTt2jOHDh/P555/zyy+/cOzYMUqWLEm5cuWoX78+d911F40aNcpy/7/++itVq1ale/fujBo1KgcjPzslpCIiIiIieUiPHj0YO3Ys7777boYJ6aZNm5gxYwYxMTG0adMmR2N47bXX6NevH5dcckmO9ptdFSpUICEhgeLFi4c6lCSHDx+mUaNG/Pjjj8TExNChQwfKlCnDrl27WLt2LSNHjkyqcyFSQioiIiIikoc0bdqUatWqsXLlSlasWEHdunUD1hs1ahTOOe6//34KFMjZtCEmJoaYmJgc7TMnFCxYkCuvvDLUYaQwZMgQfvzxR2655RYmTpxIwYIFU9zfv38/v/zyS4iiyz6tIRURERERyWMeeOABAN59992A9xMTExk9enSa9ZTbt2/n+eefp0GDBlxyySWEhYVRrlw5OnfunKmkKL01pM453nzzTapXr054eDjlypXj0Ucf5dChQwH7OXDgAK+++irNmjWjXLlyhIWFUaZMGdq1a8fSpUtT1B01alRSMjdjxgzMLOnz4osvAhmvId2xYwc9e/akQoUKhIeHU6ZMGdq3b8/KlSvT1B01ahRmxieffMKMGTNo0qQJRYsWJSoqiltvvZU1a9YE/a4WLlwIQM+ePdMkowDR0dHUr18/Tfnp06cZPnw41113HcWKFaNw4cLUrVuXt956C+dcUr1+/fpRtWpVAN57770U7+WTTz4JOs6s0gipiIiIiEge07VrV/71r3/x6aefMmTIEAoXLpzi/rRp09i+fTstW7akUqVKSeWzZs1KSgDr1KlDkSJFWLduHePHj2fKlCksXLiQmjVrZjmuXr168dZbbxEbG8uDDz5IgQIFmDhxIkuXLuXUqVNERESkqL9q1Sr69etHkyZNuPXWWylevDibN29m8uTJTJs2jWnTpnHjjTcCULduXZ599lkGDhxIpUqVuO+++5L6ady4cYZxrV+/noYNG7Jz505uvPFGOnXqxJYtW5gwYQJff/01X331Fa1atUrTbuLEiUyaNIlbbrmFnj17smrVKqZOncqyZctYvXo1JUqUOOs7KVmyJABr1649a12/kydP0rp1a77//nuuvPJKOnfuTHh4ODNnzuThhx9m6dKljB49GoDmzZtz6NAhhg0bRp06dWjbtm1SP1dffXXQz8wqJaQiIiIiInlM6dKladeuHePHj2f8+PF069YtxX3/xjY9evRIUd6yZUt27dpF0aJFU5SvXLmShg0b0rdvX6ZMmZKlmObOnctbb71F1apVWbJkCdHR0QC89NJLNGnShN9//53IyMgUbWrWrMlvv/2WlLT5bd68meuuu47evXvz888/A15CevXVVzNw4EAqV67MgAEDgo6tR48e7Ny5k1deeYX/+7//Syr/xz/+QdOmTbnvvvvYvHlzmsR+0qRJTJ8+naZNmyaVPfXUUwwePJjRo0fzxBNPnPXZHTt2ZNy4cTzzzDNs2LCBW265hbp162a4/vaFF17g+++/57HHHmPIkCHkz58f8Ea+u3fvzocffsidd95J69atad68OeXLl2fYsGHUrVs3U+8lJ2jKroiIiIhIHuRPNlPvqvrbb78xbdo0ypYty2233ZbiXtmyZdMkowB16tShSZMmzJgxg8TExCzF88EHHwDw7LPPJiWjAIUKFeLll18O2KZ48eJpklHwNie64447WLVqFTt2ZG9X4k2bNjFz5kwqVapEnz59Utxr1KgRd911F3v27GHixIlp2nbu3DlFMgp/vvfUU4rT065dO4YOHUp4eDgjRoygdevWxMTEEBsbS5cuXZg/f36K+omJiYwYMYJy5cqlSEYB8ufPz5AhQwAYM2ZMUM8/1zRCKiIiIiKSBzVv3pzLL7+cBQsWkJCQwFVXXQV4ieHp06fp1q1bwDWLkydP5p133mH58uXs3buX06dPp7i/b98+Spcunel4VqxYAUCTJk3S3GvcuDH58gUeS5s3bx5vvvkmixcv5vfff+fkyZMp7m/fvp3Y2Kwf5eNfI9q4ceOAmzs1b96ccePGsXLlSjp16pTiXlxcXJr6l112GeBtRhSs3r1706NHD6ZPn87ChQtZuXIlCxcuZMyYMYwZM4bnn3+e/v37A5CQkMCBAwcoW7YsAwcODNhfREQECQkJQT//XFJCKiIiIiKSB/k37+nbty+jRo1iyJAhOOeSNrYJtLHP0KFD6dOnDyVKlODGG2+kQoUKFCpUCDPjyy+/5Oeff+bEiRNZiufgwYOANwqbWlhYWIpRU78JEyZw9913U6hQIVq2bEnlypUpUqQI+fLlY+bMmcybNy/L8aSOK71dgf3lBw4cSHMv0PEx/qQ2syPJRYoUoV27dknnwZ48eZKRI0fSu3dvBgwYwO23306tWrXYu3cvAGvWrOH5559Pt78jR45k6vnnihJSEREREZE86v7776d///589NFHDBo0iHnz5rFhwwaaN29OlSpVUtQ9deoUAwYMIDY2lhUrVqRJHOfNm5etWKKiogDYtWsX5cuXT3Hv5MmT7N+/P02C9+yzzxIREcHy5cu54oorUtzbunVrtmNKHtfOnTsD3v/tt99S1DtfwsLCePTRR1m0aBHjxo1j1qxZ1KpVKymOO++8k/Hjx5/XmLJCa0hFRERERPKosmXL0rZt26Q1kP5jYFJvZgReonj48GEaNmyYJhk9dOhQwONPMsN/HuqcOXPS3Js7dy5nzpxJU75+/Xpq1qyZJhlNTExkwYIFaer7p/1mZnSyTp06gJdwB2o3a9asFPGfb/6NnvxHudSoUYPIyEgWLVqUZjp1epJvenS+KSEVEREREcnD/GeSDhkyhIkTJ1KqVCluv/32NPViYmKIiIhg2bJl/PHHH0nlJ0+e5JFHHsnUmshA7r//fgAGDhyYYvrrsWPHeOaZZwK2qVChAmvWrEkxeumco3///gHP+syXLx/R0dFs2bIl6LgqVqxIs2bNWL9+PcOGDUtxb8GCBXz22WeULFkyzQZQOeXtt99OdwOk1atX88UXXwDeBksABQsWpFevXmzbto3HH3+c48ePp2m3Y8eOFGtI/cfPZOa95BRN2RURERERycNuuukmKlWqlJT09OrVi7CwsDT18ufPT69evRg8eDC1atWibdu2nDhxgpkzZ3Lw4EGaNGkScHQzWI0bN6Znz568/fbb1KhRgw4dOiSdQ1q6dGnKlCmTpk3v3r3p1asXtWvXpn379hQoUIB58+axdu1a2rRpw9SpU9O0adGiBZ9//jm33XYbderUoUCBAjRt2pSGDRumG9s777xDw4YN6d27N9988w3XXHNN0jmkBQoUYPTo0RQpUiTL3z0jX3/9NQ899BCVKlWiQYMGXHbZZZw4cYK1a9fy7bffcvr0aZ544okUI7TPP/88P/30EyNGjGDSpEk0b96c2NhYdu3axbp161i4cCH//ve/kzayioqKIi4ujlmzZtGlSxeqVatGvnz5aNeuXbbOlQ2GElIRERERkTzMzOjevTv9+vUD/hwxDWTQoEGUKVOG999/n3feeYfixYvTsmVLXnrpJfr27ZvtWIYPH84VV1zByJEjGTlyJKVKleKOO+7gpZdeonr16mnqP/zwwxQqVIg33niDDz74gMKFC9O4cWM+/vhjxo4dGzAhHTZsGAUKFGDGjBlMnTqVM2fOMHDgwAwT0qpVq7J8+XJefPFFpk2bxqxZsyhWrBitW7fmmWeeCbibbk4ZPHgwTZs2ZcaMGSxevJivvvqK06dPJ0237t69O7fcckuKNgULFmTy5Ml8/PHHfPjhh0yZMoUjR45QunRpKleuzIsvvsjdd9+dos2YMWN44oknmDZtGp9++inOOSpWrHjOE1LzzzWWcycuLs7Fx8eHOow0srH79UUrm8dUiYiIyAUg+REnIpI9wf57MrPlzrk0mbvWkIqIiIiIiEhIKCEVERERERGRkFBCKiIiIiIiIiGhhFRERERERERCQgmpiIiIiIiIhIQSUhEREREREQkJJaQiIiIiIiISEkpIRURERCTPcc6FOgSRC15O/DtSQioiIiIieUr+/Pk5depUqMMQueCdOnWK/PnzZ6sPJaQiIiIikqdERkZy6NChUIchcsE7dOgQkZGR2epDCamIiIiI5CklSpRg//797Nmzh5MnT2r6rkgmOOc4efIke/bsYf/+/ZQoUSJb/RXIobhERERERC4I4eHhlC9fnn379rFp0yYSExNDHZLIBSV//vxERkZSvnx5wsPDs9VXrkhIzawD0ASoDfwFiATGOOe6BKhbEdiYQXefOefuTuc5XYGHgepAIrASGOycm5pO/fzAI8DfgKrAMWAx8KJzbmEw301EREREcp/w8HBiYmKIiYkJdSgieVquSEiBfniJ6BFgG3BlEG1+BCYGKF8VqLKZDQb6+Pp/FwgD7gammNkjzrnhqeobMA7oAKwBhgMlgI7AXDNr75ybFEScIiIiIiIiEkBuSUh74yWKv+KNlM4Kos0PzrkBwXRuZg3wktH1wLXOuf2+8teA5cBgM5vqnNuUrNndeMnoQqCFc+64r81IYD7wrpnNdM4dDiYGERERERERSSlXbGrknJvlnFvnzt2K8n/4ri/5k1HfczcBI4Bw4P5UbXr6rv38yaivzTLgM6A0XsIqIiIiIiIiWZArEtIsijWzB83sGd/16gzqNvdd/xvg3jep6mBm4UAD4CgwL5g2IiIiIiIikjm5ZcpuVrT0fZKY2Wygq3NuS7KyIkA54Ihz7rcA/azzXaslK6sC5Ac2OOdOB9lGREREREREMuFCHCE9CgwErgGifR//utOmwAxfEuoX5bseTKc/f3nxbLZJwcx6mFm8mcXv3r07vWoiIiIiIiJ51gWXkDrnfnfO9XfOrXDOHfB95gI3AUvwRjf/npWuM1HXztbGOfcf51yccy6udOnSWQhHRERERETk4nbBJaTp8U2tHeX7sXGyW/7RzCgCCzQaerY2xQK0ERERERERkUy4aBJSH//c2KQpu865P4DtQFEzC3TycVXfdW2ysl+BRKCymQVaZxuojYiIiIiIiGTCxZaQXu+7bkhVPtN3/WuANq1S1cE5dwLv/NHCQKNg2oiIiIiIiEjmXHAJqZldZ2ZhAcqbA719P36S6vZI3/VfZhadrE1F4GHgBPBBqjZv+64vmllEsjbXAh3xRmO/yNq3EBERERERkVxx7IuZtQPa+X68xHetb2ajfX/e45x70vfnfwM1fEe8bPOVXc2fZ4I+65xbmLx/59xCMxsKPAH8ZGafA2F4iWUJ4BHn3KZUYY0D7gA6ACvNbApQ0tcmP/CAc+5Qlr+0iIiIiIhIHpcrElKgNtA1VVll3wdgM+BPSD8GbgeuxZs6WxDYBYwHhjvn5gV6gHOuj5n9BPQCegBngBXAa865qQHqOzO7B2/q7t+AR4DjwFzgxdRJr4iIiIiIiGSOOZeZ004kK+Li4lx8fHyow0gjNjbUEeQ+O3aEOgIRERERkYuPmS13zsWlLr/g1pCKiIiIiIjIxUEJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQkCoQ6ABERufDFxoY6gtxnx45QRyAiIpL7aYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJiVyRkJpZBzMbZmbzzOyQmTkz+ySdulXN7P/MbKaZbTWzk2a2y8wmmVmzdNp08/WZ3ucf6bQrZGbPm9kaMztuZr+b2Xgzuyonv7+IiIiIiEheVCDUAfj0A/4CHAG2AVdmUHcg0BFYDUwD9gFXAG2Btmb2mHPuzXTaTgJ+CFAen7rAzMKB6cANvvtvAJcBdwKtzay5c27J2b+aiIiIiIiIBJJbEtLeeInor0ATYFYGdf8L/Ns5tzJ5oZk1wUsgXzOzCc653wK0neicGx1kTE/gJaOfAx2dc2d8z/kMmAi8b2a1/OUiIiIiIiKSObliyq5zbpZzbp1zzgVRd3TqZNRXPgeYDYQBDbITj5kZ4J/G+3TypNM5NwmYB1THS55FREREREQkC7I9QmpmVwKtgKPAOOfcwWxHlXWnfNfT6dyvbWaPAxHAdmCWc25bgHqXA+WBtc65jQHufwM0ApqT8WiuiIiIiIiIpCPohNTM+gM9gRrOuX2+shuBKXijkgBPm1k959zeHI/07PFVAFrgJcZz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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "train_cases = pd.DataFrame(train)\n", + "test_cases = pd.DataFrame(test)\n", + "val_cases = pd.DataFrame(val)\n", + "\n", + "train_cases = train_cases[1].value_counts()\n", + "test_cases = test_cases[1].value_counts()\n", + "val_cases = val_cases[1].value_counts()\n", + "\n", + "labels = ['PNEUMONIA', 'NORMAL', 'COVID']\n", + "\n", + "index = np.arange(len(labels))\n", + "bar_width = 0.25\n", + "opacity = 0.9\n", + "\n", + "fig, ax = plt.subplots(figsize = (15, 10))\n", + "\n", + "train_bar = ax.bar(index - bar_width, train_cases, bar_width,\n", + " alpha=opacity, color='b',\n", + " label='Training Set')\n", + "\n", + "test_bar = ax.bar(index, test_cases, bar_width,\n", + " alpha=opacity, color='r', tick_label = ('Pneumonia', 'Normal', 'COVID'),\n", + " label='Testing Set')\n", + "val_bar = ax.bar(index + bar_width, val_cases, bar_width,\n", + " alpha=opacity, color='g', tick_label = ('Pneumonia', 'Normal', 'COVID'),\n", + " label='Validation Set')\n", + "\n", + "\n", + "plt.xlabel('Class', fontsize = 20)\n", + "plt.ylabel('Number of Images', fontsize = 20)\n", + "plt.yticks(fontsize = 20)\n", + "plt.title('Total Images per set', fontsize = 20)\n", + "plt.xticks(index + 0.3 * bar_width, fontsize = 20)\n", + "plt.legend(fontsize = 20)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below I follow the same process as I described in the previous notebook by converting the data into the correct \"state\" for the image and labels to be understand by the CNN." + ] + }, + { + "cell_type": "code", + "execution_count": 349, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = []\n", + "y_train = []\n", + "\n", + "x_val = []\n", + "y_val = []\n", + "\n", + "x_test = []\n", + "y_test = []\n", + "\n", + "for feature, label in train:\n", + " x_train.append(feature)\n", + " y_train.append(label)\n", + "\n", + "for feature, label in test:\n", + " x_test.append(feature)\n", + " y_test.append(label)\n", + " \n", + "for feature, label in val:\n", + " x_val.append(feature)\n", + " y_val.append(label)" + ] + }, + { + "cell_type": "code", + "execution_count": 350, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = np.array(x_train) / 255\n", + "x_val = np.array(x_val) / 255\n", + "x_test = np.array(x_test) / 255" + ] + }, + { + "cell_type": "code", + "execution_count": 351, + "metadata": {}, + "outputs": [], + "source": [ + "y_train = to_categorical(y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 352, + "metadata": {}, + "outputs": [], + "source": [ + "y_val = to_categorical(y_val)\n", + "y_test = to_categorical(y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 353, + "metadata": {}, + "outputs": [], + "source": [ + "img_size = 128\n", + "x_train = x_train.reshape(-1, img_size, img_size, 1)\n", + "y_train = np.array(y_train)\n", + "\n", + "x_val = x_val.reshape(-1, img_size, img_size, 1)\n", + "y_val = np.array(y_val)\n", + "\n", + "x_test = x_test.reshape(-1, img_size, img_size, 1)\n", + "y_test = np.array(y_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Here we begin training the model with the correct parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 354, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1837 - accuracy: 0.9375 - val_loss: 0.4875 - val_accuracy: 0.8710\n", + "Epoch 2/20\n", + "26/26 [==============================] - 36s 1s/step - loss: 0.1632 - accuracy: 0.9427 - val_loss: 0.4290 - val_accuracy: 0.8387\n", + "Epoch 3/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1500 - accuracy: 0.9467 - val_loss: 0.4593 - val_accuracy: 0.8387\n", + "Epoch 4/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1477 - accuracy: 0.9448 - val_loss: 0.6189 - val_accuracy: 0.8065\n", + "Epoch 5/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1499 - accuracy: 0.9473 - val_loss: 0.4445 - val_accuracy: 0.8387\n", + "Epoch 6/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1501 - accuracy: 0.9470 - val_loss: 0.3956 - val_accuracy: 0.8710\n", + "Epoch 7/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1462 - accuracy: 0.9467 - val_loss: 0.4963 - val_accuracy: 0.8387\n", + "Epoch 8/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1476 - accuracy: 0.9482 - val_loss: 0.5705 - val_accuracy: 0.8065\n", + "Epoch 9/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1424 - accuracy: 0.9488 - val_loss: 0.4129 - val_accuracy: 0.8065\n", + "Epoch 10/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1359 - accuracy: 0.9521 - val_loss: 0.4245 - val_accuracy: 0.8710\n", + "Epoch 11/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1518 - accuracy: 0.9424 - val_loss: 0.4908 - val_accuracy: 0.9032\n", + "Epoch 12/20\n", + "26/26 [==============================] - 34s 1s/step - loss: 0.1393 - accuracy: 0.9500 - val_loss: 0.7253 - val_accuracy: 0.8387\n", + "Epoch 13/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1590 - accuracy: 0.9451 - val_loss: 0.3632 - val_accuracy: 0.8387\n", + "Epoch 14/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1322 - accuracy: 0.9485 - val_loss: 0.3611 - val_accuracy: 0.8065\n", + "Epoch 15/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1396 - accuracy: 0.9473 - val_loss: 0.4116 - val_accuracy: 0.8387\n", + "Epoch 16/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1450 - accuracy: 0.9448 - val_loss: 0.2926 - val_accuracy: 0.8710\n", + "Epoch 17/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1374 - accuracy: 0.9506 - val_loss: 0.2777 - val_accuracy: 0.9032\n", + "Epoch 18/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1393 - accuracy: 0.9464 - val_loss: 0.3946 - val_accuracy: 0.8710\n", + "Epoch 19/20\n", + "26/26 [==============================] - 37s 1s/step - loss: 0.1278 - accuracy: 0.9549 - val_loss: 0.2493 - val_accuracy: 0.9032\n", + "Epoch 20/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1336 - accuracy: 0.9534 - val_loss: 0.3705 - val_accuracy: 0.8387\n" + ] + } + ], + "source": [ + "model_covid_split = model.fit(datagen.flow(x_train, y_train, batch_size = 128), epochs = 20,\n", + " validation_data = datagen.flow(x_val, y_val))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### By reducing the training dataset, and thereby balancing the distribution of images between pneumonia, normal and COVID images, the accuracy of the model increases." + ] + }, + { + "cell_type": "code", + "execution_count": 357, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "656/656 [==============================] - 2s 3ms/step\n", + "Loss of the model is - 32.247731961855074 %\n", + "656/656 [==============================] - 2s 3ms/step\n", + "Accuracy of the model is - 87.5 %\n" + ] + } + ], + "source": [ + "print(\"Loss of the model is - \" , model.evaluate(x_test,y_test)[0]*100 , \"%\")\n", + "print(\"Accuracy of the model is - \" , model.evaluate(x_test,y_test)[1]*100 , \"%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Importantly, the validation accuracy increases, this means that our model is less likely to be overfitting." + ] + }, + { + "cell_type": "code", + "execution_count": 356, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training_accuracy 0.9533679\n", + "validation_accuracy 0.8387096524238586\n" + ] + } + ], + "source": [ + "print(\"training_accuracy\", model_covid_split.history['accuracy'][-1])\n", + "print(\"validation_accuracy\", model_covid_split.history['val_accuracy'][-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 358, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " ...,\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.]], dtype=float32)" + ] + }, + "execution_count": 358, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predictions = model.predict_classes(x_test, batch_size = 128)\n", + "predictions = predictions.reshape(1,-1)[0]\n", + "predictions = to_categorical(predictions)\n", + "predictions" + ] + }, + { + "cell_type": "code", + "execution_count": 359, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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MWtaW1tz0VYRERGRvMplCBvsFJeBY5/vAX5urZ0BnAncYozZp03W2uuttYustYumTJmSg6aKiIiI5FcuQ9gmIP3c9xnsO9x4KXArgLX2MaASmJzDNomIiIgUhFyGsCeBucaYQ4wxIeAC4O4B22wATgMwxhyBC2EabxQREZGSl7MQZq2NAx8F7gPCwK3W2rXGmK8bY87xNvt34DJjzHPAb4AP2GJbuExERERkFAK53Lm35te9A277ctrv64BluWyDiIiISCFS7RARERERHyiEiYiIiPhAIUxERETEBwphIiIiIj5QCBMRERHxgUKYiIiIiA8UwkRERER8oBAmIiIi4gOFMBEREREfKISJiIiI+EAhTERERMQHCmEiIiIiPlAIExEREfGBQpiIiIiIDxTCRERERHygECYiIiLiA4UwERERER8ohImIiIj4QCFMRERExAcKYSIiIiI+UAgTERER8YFCmIiIiIgPFMJEREREfKAQJiIiIuIDhTARERERHyiEiYiIiPhAIUxERETEBwphIiIiIj5QCBMRERHxgUKYiIiIiA8UwkRERER8oBAmIiIi4gOFMBEREREfKISJiIiI+EAhTERERMQHCmEiIiIiPlAIExEREfGBQpiIiIiIDxTCREQKXPczz7D7j/f43QwRybKA3w0QEZHhtf3kGiLPP8+4t57td1NEJIvUEyYiUuAizWESu3eT7OryuykikkUKYSIiBSze2kqitQ2A2ObNPrdGRLJJIUxEpIBFwuG+36OvveZjS0Qk2xTCREQKWGTd3hAWUwgTKSkKYSIiBSzS3ExwxgxMKKThSJESo7MjRUQKWCS8jsoFC+gNBIi9phAmUkrUEyYiUqASnZ3E1m+g8oj5BBsa1BMmUmIUwkREClRvczMAFUccQbCxUXPCREqMQpiISIFKTcqvPGIBwcYGEjt2kIxEfG6ViGSLQpiISIGKNDdTPmkSgalTCDY2AlorTKSUKISJiBSoSDhM5fz5GGMINjQAWqZCpJQohImIFCAbjdLb0kLlgiMA9vaE6QxJkZKhECYiUoB6W1ogFqPyCBfCAlOmQDConjCREqIQJiJSgCLhvWdGApjycoLTp2tOmEgJUQgTESlAkXAYU11N6OCD+27TMhUipUUhTESkAEXCYSrnzcOU7f2Y1oKtIqVFIUxEpMDYZJLecLhvPlhKsLGB+Pbt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MlRUyt3l1O2vo3hyMRs2bMDr9TJt2jQ2bdpE7969D9vA++abb2b16tV4vV4uvvhiHnzwQZ555hnKysoYO3YsmZmZlJaW0q1bN9asWUNmZiZPPvkk//rXvwC44YYbuO2229ixYwcTJ05k1KhRrFy5kvz8fEpKSkhOTm7x5/XCCy8wc+ZM/H4/vXr1Ys6cOVgsFsrLy7npppvYvn07AM899xxnn302s2fP5oknnkBRFPr168ecOXMi9SsghBBCtDtyJSwCLr/8ct54443m7998802mTZvG/PnzWbt2LaWlpTxw9wN0T+lON0c3AA54D7DDuYNAOECNr4a//u2vWCwW1q9fz7333svnn3/efLxHHnmENWvWsH79ej766CPWr1/PrbfeSl5eHqWlpZSWlh6W5/PPP+ell17i008/ZdWqVbzwwgt88cUXAHz77bfccsstbNy4kdTUVObOnXvUn9fUqVNZvXo1X375Jb179+af//wnALfeeis/+tGP+PLLL1m7di19+/Zl48aNPPLIIyxZsoQvv/ySp59+OlL/eoUQQoh2qf1dCTvGFatoGThwIBUVFZSVlVFZWUlaWhq5ubn8+te/5uOPP0an07F3714qKirIyclBQeHUtFPxVHhQVZUyVxnvL3mfaTdNo9xdTq/evejXr1/z8d98801mzpxJMBhk3759bNq06bDnj7R8+XKKi4uxWq1AY5latmwZkyZNonv37gwYMJISFogAAB+KSURBVACAwYMHs2PHjqMeZ8OGDdx3333U1tbicrk499xzAViyZAmzZ88GQK/X43A4mD17NhdffDGZmZkApKenn9S/UyGEEKK9a38lTCMXX3wxb731Fvv37+fyyy/nlVdeobKyks8//xyj0Ui3bt3w+XzNrzfpTXSydMKkN9EztScmvQmdomver9IX8lHuLufLLV/yxBNPsHr1atLS0rj++usPO05LjrUpu9n8/Sc19Xr9Ybc9j3T99dezYMEC+vfvz6xZs1i6dOkxzynz0YRIbGE1zLqKdeTZ8six5mgdR4h2T25HRsjll1/O66+/zltvvcXFF1+M0+kkKysLo9FIaWkpO3fuPOp7kwxJTBg7gSUlSzg9/XTqdtXxzcZv8Aa9bN2/FX2Sniq1ig3fbeDd995tLll2u536+vofHG/06NEsWLAAj8eD2+1m/vz5FBYWtvnnVF9f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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "plt.plot(model_covid_split.history['accuracy'], label = \"train_acc\")\n", + "plt.plot(model_covid_split.history['val_accuracy'], label = \"validation_acc\")\n", + "plt.plot(model_covid_split.history['loss'], label = \"train_loss\")\n", + "plt.plot(model_covid_split.history['val_loss'], label = \"val_loss\")\n", + "plt.title('Training Loss and Accuracy on Dataset')\n", + "plt.ylabel('Loss / Accuracy')\n", + "plt.xlabel('Epoch #')\n", + "plt.legend(loc='lower left')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below, the classification report details a similar trend to the previous classification report, however the accuracy for the determination of COVID has increased, whilst the precision for the Normal has slightly decreased, indicating perhaps there is less overfitting / misclassification of the normal images." + ] + }, + { + "cell_type": "code", + "execution_count": 360, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + "Pneumonia (Class 0) 0.86 0.97 0.91 390\n", + " Normal (Class 1) 0.93 0.71 0.80 234\n", + " COVID (Class 2) 0.76 0.97 0.85 32\n", + "\n", + " micro avg 0.88 0.88 0.88 656\n", + " macro avg 0.85 0.88 0.86 656\n", + " weighted avg 0.88 0.88 0.87 656\n", + " samples avg 0.88 0.88 0.88 656\n", + "\n" + ] + } + ], + "source": [ + "print(classification_report(y_test, predictions, target_names = ['Pneumonia (Class 0)','Normal (Class 1)', 'COVID (Class 2)']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Finally, the confusion matrix illustrates the emphasis on the True Positives in the dataset. Of all the 32 images in our COVID dataset, 31 of them were correctly predicted. Additionally, our model maintains excellent classification for Pneumonia and Normal images." + ] + }, + { + "cell_type": "code", + "execution_count": 361, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 361, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "cm = confusion_matrix(y_test.argmax(axis = 1), predictions.argmax(axis = 1))\n", + "cm_df = pd.DataFrame(cm)\n", + "plt.figure(figsize = (10,10))\n", + "sns.heatmap(cm_df, linewidth = 5 , annot = True, fmt='d',\n", + " xticklabels = ['Pneumonia', 'Normal', 'COVID'],\n", + " yticklabels = ['Pneumonia', 'Normal', 'COVID'],\n", + " cbar = False, cmap = \"YlGnBu\")" + ] + }, + { + "cell_type": "code", + "execution_count": 362, + "metadata": {}, + "outputs": [], + "source": [ + "model.save('model_PNEUCOVIDCOMPARE_attempt_split 25.05.2020.model')\n", + "model.save_weights('model_PNEUCOVIDCOMPARE_attempt_split 25.05.2020.h5')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/your-project/Notebooks/01 Image Processing_CNN Model_Pneumonia.ipynb b/your-project/Notebooks/01 Image Processing_CNN Model_Pneumonia.ipynb new file mode 100644 index 00000000..2e4a31c1 --- /dev/null +++ b/your-project/Notebooks/01 Image Processing_CNN Model_Pneumonia.ipynb @@ -0,0 +1,1628 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Final Project: Pneumonia and COVID-19 Detection by Image Classification using Convolutional Neural Networks

\n", + "

Gareth Hughes

\n", + "

Data Analytics March 2020

\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This notebook describes the series of steps I took in order to train a convolutional neural network to try to detect the presence of Pneumonia in lungs. This was achieved by looking at computerized tomography (CT) scans of lungs of patients whole have normal lungs and those suffering from pneumonia. In order to better train the model, all images utilised are from an Anterior Posterior (AP) viewpoint. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### The use of machine learning to assist doctors and radiologists in determining the presence of pneumonia would be beneficial in reducing mis-diagnosis, reducing work loads and potentially providing a second opinion." + ] + }, + { + "attachments": { + "300px-Chest_radiograph_in_influensa_and_H_influenzae,_posteroanterior,_annotated.jpg": { + "image/jpeg": "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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![300px-Chest_radiograph_in_influensa_and_H_influenzae,_posteroanterior,_annotated.jpg](attachment:300px-Chest_radiograph_in_influensa_and_H_influenzae,_posteroanterior,_annotated.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Pneumonia is characterised as inflammation of the lungs which affects the alveoli. Pneumonia can be caused by viruses (COVID-19), bacteria, medications or autoimmune diseases." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using TensorFlow backend.\n" + ] + } + ], + "source": [ + "# Here I import the libraries that I need to use in the project.\n", + "from IPython.display import Image\n", + "from IPython.core.display import HTML \n", + "from collections import Counter\n", + "\n", + "import cv2\n", + "import pandas as pd\n", + "import random\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt #for plotting things\n", + "import os\n", + "import os.path\n", + "import shutil\n", + "import seaborn as sns\n", + "import joblib\n", + "\n", + "# Keras Libraries utilised for the CNN.\n", + "import keras\n", + "from keras.models import Sequential\n", + "from keras.layers import Conv2D\n", + "from keras.layers import MaxPooling2D\n", + "from keras.layers import Flatten\n", + "from keras.layers import Dense\n", + "from keras.preprocessing.image import ImageDataGenerator, load_img\n", + "from sklearn.metrics import classification_report, confusion_matrix\n", + "from keras.models import model_from_json\n", + "from tensorflow.keras.models import load_model\n", + "from keras.utils import plot_model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This function below is used to reset the CNN model incase I want to retrain it from scratch." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "keras.backend.clear_session()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here are the absolute paths to the training, validation and test images that are available in the dataset. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "train_images = r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\"\n", + "val_images = r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\"\n", + "test_images = r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This function serves to feed in the from the train, validation and test image datasets, label them appropiately as a 0 or a 1 based on their location (either in the Pneumonia or Normal files). Then, it iterates through the images, converts them to grayscale, resizes the image to a smaller 128 x 128 dimension and converts it into an array of numbers. This list of pixels, along with the label (0 or 1), is then appended into the an array. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['PNEUMONIA', 'NORMAL']\n", + "\n", + "def get_training_data(data_dir):\n", + " data = []\n", + " for label in labels:\n", + " path = os.path.join(data_dir, label)\n", + " class_num = labels.index(label)\n", + " print(path)\n", + " for img in os.listdir(path):\n", + " try:\n", + " img_arr = cv2.imread(os.path.join(path, img), \n", + " cv2.IMREAD_GRAYSCALE)\n", + " resized_arr = cv2.resize(img_arr, (128, 128))\n", + " data.append([resized_arr, class_num])\n", + " \n", + " except Exception as e:\n", + " print(e)\n", + " return np.array(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\NORMAL\n" + ] + } + ], + "source": [ + "train = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\")\n", + "val = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\")\n", + "test = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here's the distribution of our images per set." + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6QAAAJ0CAYAAAAF9u5GAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd3hVVbrH8e9LSUInhGJAKYqoFC8lFpAmiIogojAWUMRBcVAsCHgviIqi4ig4KqA4omBBEAtVHAcpUhUCOMoQQSnSBOm9s+4fe594cnISTkjwBPL7PM95tmfttdZ+9054Zt6sss05h4iIiIiIiMifLV+0AxAREREREZG8SQmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVEZE8zcxam5kzs17RjkVERCSvUUIqIiI5wk/qsvLpfIrXGeS3T8rhW4j0+oEEdko0ri9nLjPbZmbLoh2HiEhuUiDaAYiIyFnjmTBljwIlgNeAXSHnvj/tEYmIiEiupoRURERyhHOuf2iZPwpaAnjVObf2Tw5JREREcjlN2RURkagzs+pm9pGZ/WZmR8xsg5m9a2aVQ+ptA3r6XxcFTf/dF9LXy2a2xJ8iedjM1pjZG2Z2zmm8h+5+LO3N7EYzW2Bm+81si5kNN7Oifr0rzOwrM9tlZnvM7DMzqxCmvyvNbKiZ/ejXPWRmK8zsRTMrlkEMpfz73OTX/6+ZPWhmNf3YhoZpU9TMnvKvc8DM9prZHDO7JUzdfGZ2n5l95z/bg2a2zsymmlnbCJ9T6pRrM+tqZj/4/Ww2s7fMrHQG7cr4bVf497bTf45Nw9QN/lnc5N/PHjPbG0F85c3sNTNb6T+PnWaWYmbvmNl5Yeq3MbN/m9kO/3ftZzN7IfDz9uu0NjMHJAA1Qqaup/uZiIjkJRohFRGRqDKzRsCXQCFgPPAzUAO4B7jJzJo65370q78EtAXqA28Dm/zyI0FddgD+CswCZgPHgUuBvwGtzCzJObf1NN7SHUBrYBIwD2gC3A+ca2aDganAdGAEUBe4BTgPuDykn+5AM/8evgIKApcB/wtca2YNnHOHApX9JHU23rNbBLyPlwC9AMwIF6iZlcF7TtWBhXjPNAZoCXxmZn2ccy8GNXkVeAjvZzQG2AeUB67A+7lMiPgpwZNAc+Bj4AvgaqAr0MTMrnTOpU7xNrNq/j1UAGb69YsDbYDpZnaXc+6jMNe427+XKcCbQGJmAZlZceA7/57+7d9PQaAS0B74AFgfVP8loDfwO97PeytQD+gDXGdmjZxzB4CVeFPaH8d7Zm8EXXZhZjGJiJz1nHP66KOPPvroc1o+wFrAAZUzOF8gqM5NIee6+OWLQ8oH+eVJGfR5HhATpryt3+7lkPLWfnmvCO8pUH9KSHl3v/wwcHlQeX68xNQBO4C2Ie0+9s81DymvDOQLc/1H/PoPhpT/3S8fEVJ+AbDbPzc05NynGfRVGPgGOAZU88vyAQeBX4DYMHGVjvD5BX5++4HqIef+6Z97LaR8kR9Lm5DyBOAnYA9QMszP4hjQJAu/r3f47QaEORcHFA3zezAdKJbB78KAkPJtwLLT8W9NH3300edM/WjKroiIRFNzvNGnac65icEnnHPvAEuBumZWN9IOnXPrnXNHwpRPANYA12Uv5JN61zmXOurlnDsOjPa/fuvHEex9/1g7uNA5t9Y5dyJM/2/gjQiH3sfdfnm/kH5WkXZEDgAzOxdvdHaWc25YSJsDQF+8ZPr24FP+NY6H9uec2xYm1syMcM4tDyl7Ai/pvdvM8vlxXgUkAR845yaFXHM7MAAohjdaGmqMc+6bLMaFH0MazrlDzrl9QUWP+Mcuzrm9IXWH4iXuHU/h2iIieYqm7IqISDQFEs2wU0rxpmfW8T9LIunQT2Q6A3cBtYCSeIlVwI5TCTQLksOUBaYWLw5zbqN/PDe40MxigQeAW4GL8aaoBv8huUJQ3USgHJDinNsc5hpzw5RdCRhQ0Mz6hzlfxD9eAuCcO2FmY/GmUi8zs0+AOcCC0IQsQukSRefcVjNbjjft9Xy8pK6+f7pMBnEGnsMlYc5ldTrsNLxptwPMrAHeVPJ5wA9h/jhQH2+Ut7OZZdRfFTOLdc4dzmIcIiJ5hhJSERGJphL+8bcMzgfKS2ahz7eAe4ENeOs1NwGBtZZd8RK702l3mLJjEZwrGCgwL8OZBFyLt17zc2ALf6yVfRyIDeoj8By3ZBBTuPIE/3iV/8lI0aD/vh9viuzd/DESe9TMJgE9nXO/ZtJPJDEBBBLqwD0F4mzlfyKJM7SviDjntpnZFUB/vCm5gettMbPXgb875477fywIJOxPn6TbonjTuEVEJAwlpCIiEk2BBC2j3W8TQ+plyrxdee/FW3PYxDl3MOT8fVkPMSqa4CWjk4Cbg0fn/GToyZD6e/xjuQz6C1ceeKYDnHNPRRKUc+4o3sZSL5m3Y3Ej4E6gHXCxmf2PP0U5EhnFGvhd2B1y7OKcezfCvlNDzmJ9nHNr+GPKcE28aeXdgefxpir/3Tl32MwOA7875ypm9RoiIvIHrSEVEZFoWuofm2ZwPlAePF03kPDkJ72q/vHLMMnohXi7p54JAvcxIcxU0UaE/O+3c24T3ojjBRb+1TYNw5R9G9RfljnnNjvnPnHO3YQ3NbZGUNyRaBJa4O/6Wx0vCV2dE3GeKufcCefcD865f+CNloK3MVbAt8B5FvJqopM4TvjfWxGRPEsJqYiIRNPXwDrgejNrGXzCzDrjrTH93jkXnJBu94/hRqbW+sfGFrSwz8xK4O3geqZY6x+bBheaWXngtQzafID3ypbnQtqcj7cWNQ3n3Fq81+w0NbPHApsIhbStFnj3pv++0nBJZCx/TK9NtxlQJu41s+ohZc/jvf7n/aBE/Bu8P0jcaWZ3hOvIzOqYWXwWrh2WmdX2N3sKFRjNPRBU9op/fNfMyobpq5iZhb7KZzuQaGYFQ+uLiORVmrIrIiJR45w7Zmad8DaPmWxmn+NtZFMDuBHYibdBUbDABkj/8P8P/27giHPuJefcL2Y2BW9Ea7GZzQBK4e1Iuw1v/eN5p/m2csI3eKPHnfwRuG/xRndb4W2aFO59mgPw7ruLmdXCe04JeJsizcAb3Qsdbb0PqAIMxksQ5+M9p/J4P4O6eD+H9XjreGeZ2Sq8EdF1eK+HuR64EPjIObcuC/f4NbDQzD7Ge4/n1XjvM10JpE4hds45M/sL3utVPjKznnhTsvfg/Szr4G36VAvv9yU7WgPPmNlcYAXes6gE3IQ3ujkoKK5JZvYc3lraX8zsX3i7OBfHe2VPE7w1zO2D+p+ON/33SzObBxwFFjnnvspm3CIiZywlpCIiElXOuW/8xLIfXlLSFm+n0/eBZ51zq0PqJ/trQR8BHsLb3Gc/3tpGgA54Cc0teP/nfwvwCd7mM9NP+w3lAOfcUTO7Hm/E8Dq8RG0d8DowkD925g1us8fMGuElpjcDPfCmvfYD/ov3XPeEtNluZvXxRlBvw0teY/Ce2Qq85xvYoXc73qtgrsabPlvG7+9nvHegvpfF2xyAl7B1x0tod+ONYvdzzu0KiXO1mdXB+5nfDHTC2yH4N//eXsb7Q0Z2TcK7r0Z4vz9F/WtMBgY759LsoOyce9L/o8dDQGO8Z7wLb0OtYfzxup+AfngjwDfgjX7n9+spIRWRPMucy/J6fxERETmDmFkPvCmmdzrnQpOkPzuWQUBP4LLQBE9ERPIerSEVERE5S/hrTEPLLgD+D+/VN//604MSERHJhKbsioiInD2+MrP9wPd4U2DPx1sXGQc87JzbnlljERGRP5sSUhERkbPHSOB24C94m+vsBeYArznnvohmYCIiIuFoDamIiIiIiIhEhdaQioiIiIiISFRoyu6foHTp0q5y5crRDkNERERERCQqFi9evM05Vya0XAnpn6By5cokJ2tnexERERERyZvM7Ndw5ZqyKyIiIiIiIlGRKxNSM7vLzJz/uTeDOq3NbJaZ7TazfWb2nZndfZJ+7zazhX793X771pnUz29mj5rZD2Z20Mx2mNlUM2uQ3XsUERERERHJ63JdQmpm5wFDgH2Z1OkOTAZqAh8CbwPlgVFmNiiDNoOAUUCiX/9DoBYw2e8vtL4BY4F/ADHAUGA80BiYbWY3ndodioiIiIiICOSy1774SeA0oArwOdALuM85NyKoTmXgJ2A/UM85t9YvjwcWARcADZxzC4LaNADmAauAy5xzO4P6WgwUAS4O9OWfuwP4CJgPNHfOHfLLLwPm4r1w/ALn3N6T3VdSUpLTGlIREREREcmrzGyxcy4ptDy3jZA+DDQD7sFLOMP5KxALDA1OIP0k8wX/699C2gS+Px9IRv02a4Fhfn/3hLTp5h/7BZJRv80i4GOgDNA+kpsSERERERGR9HJNQmpmlwAvAq8552ZnUrWZf/xXmHNfhtQ5pTZmFgs0AA4Ac7JwHREREREREYlQrkhIzawA8AGwDuh7kuoX+ceVoSecc7/hjayea2aF/b6LABWAff75UD/7x2pBZVWB/MBq59yxCNuIiIiIiIhIFuSKhBR4CqgDdHbOHTxJ3RL+cXcG53eH1Iu0fslTuEbJDM5jZl3NLNnMkrdu3ZpRNRERERERkTyrQLQDMLPL8UZFBwdvRJSdLv1jVndrykr9k17DOfdP4J/gbWqUxVhERERE5DQ6fPgwO3bsYO/evRw/fjza4YicUfLnz0+xYsUoVaoUsbGx2eorqglp0FTdlcCTETbbDZTGG8XcHuZ8cf+4J6g+/DHqGSrcaOjJ2hQPqSciIiIiZ4jDhw+zbt064uPjqVy5MgULFsR72YOInIxzjqNHj7Jnzx7WrVtHxYoVs5WURnvKblG8dZiXAIfMzAU+wNN+nbf9slf97yv8Y7r1m2aWiPcKlw3OuQMAzrn9wEagqH8+1IX+MXhN6i/AceB8P2mOpI2IiIiInAF27NhBfHw8pUuXJiYmRsmoSBaYGTExMZQuXZr4+Hh27NiRrf6inZAeBt7J4LPUrzPX/x6YzjvDP14fpr+WIXUI+R5RG+fcYbz3jxYGGmXhOiIiIiKSy+3du5fixYufvKKIZKp48eLs3bs3W31ENSF1zh10zt0b7gNM8qu955d97H8fiZfIdjezyoG+zCyeP3boHR5yqcD3J/x6gTaVgQf9/kaGtHnTPz5nZnFBbS4DbgO2Ap9l8ZZFREREJMqOHz9OwYIFox2GyBmvYMGC2V6DHfVNjbLKObfGzHoDrwPJZvYxcARoD5xLmM2RnHPzzewV4DHgBzP7FIjBSyxLAQ8559aGXGoscIvf71Izmwwk+G3yA/c55/YgIiIiImccTdMVyb6c+Hd0xiWkAM65IWa2FugFdMIb6V0O9HPOvZdBm55m9gPQHegKnACWAC8756aEqe/M7A68qbt/BR4CDgGzgeecc/Nz/MZERERERETykFybkDrn+gP9Mzk/GZicxT7fA8ImrBnUPwb8w/+IiIiIiIhIDor2pkYiIiIiIpIH7du3DzOjdevW2e4rKSmJokWL5kBU8mfLtSOkIiIiIiLRUL58tCPI3KZN2Wuf1XV/I0eOpHPnztm7aB61fft2Bg0axBdffMHq1as5duwYpUuXplKlSlx11VV06tSJmjVrnnL/U6ZM4cYbb+Tll1+mV69eORj5n0cJqYiIiIhIHvL000+nK3v11VfZvXs3jzzyCCVLlkxzrnbt2qcljiJFipCSkpIjI5ufffYZhw8fzoGocs6aNWto1KgRGzdupFq1atx5553Ex8ezfv16UlJSGDRoEKVKlcpWQno2UEIqIiIiIpKH9O/fP13ZqFGj2L17N48++iiVK1f+U+IwMy6++OIc6atSpUo50k9O6tOnDxs3buShhx7itddeSzcyvWHDBnbs2BGl6HIPrSEVEREREZGTCqzTPHjwIP369aNq1arExMTQvXt3wJue+uKLL9KkSRPKly9PTEwM5cqVo127dixZsiRdfxmtIe3VqxdmRnJyMqNHj6ZevXoUKlSI0qVLc9ddd/H7779nGFuwKVOmYGYMGjSIhQsXct1111GiRAmKFi3KNddcw+LFi8Pe57p167jzzjspXbo0hQsXpl69enz88cdp+ovE/PneSzkefvjhsNOkzz33XC699NKwz+XZZ5+lVq1aFC5cmGLFitGoUSM+//zzNPXat2/PjTfeCEDv3r0xs9RPcnJyRDHmBhohFRERERGRiJw4cYLWrVuzYsUKrrvuOhISElJHJ5cuXcrTTz9N06ZNuemmmyhRogRr1qxh0qRJTJkyhWnTptG4ceOIr/XSSy8xZcoUbrrpJq6++mrmzZvHhx9+yLJly0hOTiZ//vwR9TN37lz69etH06ZNue+++1i9ejUTJkygadOmLFu2LM3o6oYNG6hfvz6bNm2iefPmXHbZZWzcuJG7776bli1bZulZJSQksH79elauXEnVqlUjarN161aaNm3K8uXLufzyy7nvvvs4cuQIX375Je3atWPgwIH83//9HwC33norMTExjBkzhhYtWtCgQYPUfsrn9oXQQZSQioiIiIhIRA4ePMjevXtZtmxZurWmdevWZfPmzcTHx6cpX7VqFVdccQU9e/Zk0aJFEV9r+vTpfP/991SrVg0A5xxt27Zl0qRJfPXVV9xwww0R9TNx4kQ++eQT2rdvn1o2ePBgevXqxbBhw3jppZdSy3v27MmmTZt49tlnefLJJ1PLH3jgARo2bBhx7AC33XYb33//PR07dqRbt25cc8011KlTJ93zCdatWzeWL1/O0KFDefDBB1PLDxw4QMuWLenXrx+33HIL1apV49Zbb6Vw4cKMGTOGa6+99ozd1EhTdkVEREREJGIDBw5Ml4wClCpVKmyydcEFF9CmTRuSk5PZvn17xNfp3bt3ajIK3prTe++9F4CFCxdG3M91112XJhkF6Nq1a7p+9u7dy+eff07ZsmXp3bt3mvpXXnklf/nLXyK+JsDjjz9Ojx49OHDgAAMHDqR58+aUKlWKCy64IDXxDLZhwwY+//xzmjZtmiYZBShcuDAvvPACx48fZ+zYsVmKI7fTCGkedgaN5AvZ3+JdREREJCdcfvnlGZ6bOXMmQ4YMYeHChfz+++8cPXo0zflNmzaRkJAQ0XWSkpLSlZ133nkA7Ny5M+J4w/VTrFgxSpQokaafZcuWcezYMerVq0dcXFy6Ng0bNsxSMpgvXz5eeeUVnnjiCb766iu+++47lixZwnfffcfw4cN55513GDlyJB07dgTg22+/xTnH0aNHw248tX//fgBSUlIijuFMoIRUREREREQiEthkJ5wPP/yQTp06UbRoUVq0aEGVKlUoUqQIZsa///1vFixYkKVXs4QbhS1QwEtfjh8/nq1+An0F97N7924AypUrF7Z+RuUnk5CQQIcOHejQoQPgjcQ+88wzDB48mPvvv59WrVpRsmTJ1NHjefPmMW/evAz727dv3ynFkVspIRURERERkYiE2y02oF+/fhQrVoylS5dy/vnnpzn3888/s2DBgtMdXrYUL14cgC1btoQ9n1F5VhUrVoxBgwalrpFduHAh1157LSVKlADgySef5Nlnn82Ra50JtIZURERERESy5dixY/z666/Url07XTJ69OjRXJ+MAtSqVYsCBQqwePFiDh06lO783Llzc/R6gZFm5xzgrVMFmDNnTsR9BHYazsqIcW6jhFRERERERLKlQIECVKhQgf/+979s27YttfzEiRP06dOHNWvWRDG6yBQrVoy2bdvy+++/8/LLL6c599133/HJJ59kqb+BAweyYsWKsOemTZvGt99+S1xcXOqa3MqVK3PzzTcza9YsXnnlFU6cOJGu3cqVK1m/fn3q98B63HXr1mUpttxEU3ZFRERERCTbevToQa9evbj00ku55ZZbyJcvH9988w1r166lZcuWfPnll9EO8aQGDx7M3Llzeeqpp5g9ezaXXXYZGzZsYNy4cdx4441MmDCBfPkiG9N755136Nu3LzVr1uTyyy/nnHPOYe/evfzwww/Mnj0bgCFDhqTZmfjtt99mzZo19OzZkxEjRtCgQQNKly7Npk2b+O9//8uSJUuYPHly6uZO//M//0NCQgIjR47k+PHjVKhQATOjS5cuJCYm5vwDOg2UkIqIiIiISLY99thjFC1alKFDh/Luu+9SpEgRmjZtyrhx43j77bfPiIS0YsWKfPvtt/Tp04evvvqKuXPnUr16dd577z0OHjzIhAkTUteansyYMWOYOnUqM2fOZPr06WzevBkz49xzz+Wuu+7iwQcfTLdjcUJCAgsWLOCNN97g448/Zty4cRw5coRy5cpx0UUXMWTIkDTvQ42NjWXChAk88cQTfPTRR+zduxeA66+//oxJSC0wZ1lOn6SkJJecnBztMNLRa1/OLHrti4iISM5ISUnhkksuiXYYcoZ55JFHeP3115k7dy5XXXVVtMPJNSL992Rmi51z6d7BozWkIiIiIiIivk1hRgEWLVrEP//5T8qXL88VV1wRhajOXpqyKyIiIiIi4rvkkkuoW7cuNWrUIC4ujhUrVqRONx42bFjqu1AlZ+hpioiIiIiI+B544AGmTp3K6NGj2bdvH/Hx8bRu3ZrHH3+cBg0aRDu8s44SUhEREREREd/AgQMZOHBgtMPIM7SGVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiORay5Ytw8zo3r17tEOR06BAtAMQEREREclVypePdgSZ27QpW83NLEv1R44cSefOnbN1zczs27ePYsWK0apVK6ZMmXLarnM6zJs3j9dff5358+ezZcsWChUqRJkyZahZsyaNGjWie/fuxMbGnnL/7du357PPPmPr1q2ULl06ByPPPZSQioiIiIjkIU8//XS6sldffZXdu3fzyCOPULJkyTTnateu/WeFFla1atVISUkhPj4+qnGEeuutt+jWrRtmRosWLWjfvj0Aa9asYeHChUycOJGOHTtyzjnnRDnS3E0JqYiIiIhIHtK/f/90ZaNGjWL37t08+uijVK5c+U+PKTMxMTFcfPHF0Q4jjV27dvHoo48SExPDjBkzaNCgQZrzzjlmz55NsWLFohThmUNrSEVEREREJCJbt26lV69eXHTRRcTFxREfH891113HrFmz0tU9ePAggwYNonbt2pQsWZIiRYpQpUoVbrnlFmbPng3A0KFDU5O2L774AjNL/QwaNAjIeA1p+/btMTO2bt3Ka6+9RvXq1YmLiyMxMZHu3buzf//+sPcwceJErrzySgoXLkxCQgLt27dn9erVqf1t27btpM9hyZIlHDp0iKSkpHTJKHjTops0aUKRIkXSnfvxxx/p2LEjFSpUICYmhsTERO6++25Wr16dWmffvn2YGZ999hkAZcqUSX0uNWvWPGl8ZxKNkIqIiIiIyEmtXLmSZs2asXHjRq6++mpatWrFnj17mDRpEs2bN+eDDz6gQ4cOqfVvu+02Jk+eTJ06dejcuTOxsbFs3LiR2bNnM2PGDBo3bszll19Onz59GDhwIBdeeGGa9uESvXAefPBBpk+fTqtWrbj++uuZNm0aw4YN49dff2Xy5Mlp6r777rt06dKFokWLcscdd1C2bFm++eYb6tevT9WqVSN+FgkJCQCsW7eOQ4cOERcXF1G78ePHc8cdd+Cco02bNlSpUoVff/2VMWPGMGXKFObMmUP16tWJiYnh6aefZty4caSkpNC7d28KFy4MQNmyZSOO80yghFRERERERE6qY8eObN68mYkTJ9KmTZvU8u3bt3PVVVfxt7/9jRtuuIGSJUvy22+/MXnyZBo3bsysWbPSbKTknGPHjh0AXH755VSvXp2BAwdSrVq1sNOJT+b7779n2bJlJCYmAnDkyBEaNGjAlClTWL58OdWrVwdg27ZtPPTQQxQuXJhFixalmQbcvXt3hg0bFvE1a9SoQc2aNVm2bBmNGjWiS5cu1K9fn+rVq1OwYMGwbTZv3sxdd91FfHw8c+bMSZMAL168mKuuuor777+fOXPmEBMTQ//+/Vm2bBkpKSk8/vjjZ+2mRpqyKyIiIiIimZo3bx7JycncddddaZJR8EYLn3zySfbu3cukSZPSnIuNjU23q6+ZpY4w5oRnn302NRkFb83p3XffDcDChQtTyz/99FMOHDhAly5d0q1JffbZZ1NHICNRoEABxo8fT4MGDUhOTqZbt27Url2bokWL0qBBA1555ZV0U4bfeecd9u/fz4svvphuNLZevXrcddddzJ07l3Xr1kUcx9lAI6QiIiIiIpKpBQsWAN4a0nCjmBs3bgQgJSUFgMTERK6++mqmTZtGUlISN998M40aNeLyyy+PeHprpJKSktKVnXfeeQDs3LkztWzp0qUANGzYMF39UqVKUb16dZKTkyO+btWqVZk3bx4//vgjX3/9NYsXL+a7775jwYIFLFiwgDfffJNvvvmG8v5rhALPcNGiRaxZsyZdf2vXrgW8Z1ixYsWI4zjTKSEVEREREZFMbd++HfA2Hvriiy8yrLdv377U/540aRIvvPACH3/8Mf369QOgcOHC3H777bz88suUKlUqR2ILfU0NeCOYAMePH08t2717NwDlypUL209G5SdTq1YtatWqlfr9xx9/pHPnzixZsoTHH3+cDz/8EPjjGZ5sanDwM8wLNGVXREREREQyVaJECcCbduqcy/AzZMiQ1DZFixblhRdeYNWqVaxdu5b33nuPpKQk3n33XTp27Pin30Px4sUB2LJlS9jzGZVnVa1atXj33XcBmDFjRmp54BmuWrUq02fYrl27HInjTKGEVEREREREMnXllVcCMGfOnFNqX6lSJTp16sT06dOpUKEC//73vzl48CAA+fPnB9KOZp4OderUAWDu3Lnpzu3YsYPly5fn2LUCr7JxzqWWncoz/LOeTTQpIRURERERkUw1adKEunXr8uGHHzJmzJiwdZYuXZq6ZnPTpk0sWbIkXZ29e/eyf/9+YmJiUpOtQsr0vhIAACAASURBVIUKUahQodO+mU/79u0pXLgw77zzDitWrEhz7qmnnuLAgQMR95WSksKbb77J3r170507ceIEL7zwAgCNGzdOLe/atStFihShb9++/Oc//0nX7tixY+ne5xr8epmzldaQioiIiIhIpsyMTz75hObNm9OhQwcGDx7MZZddRvHixVm/fj1Lly7lp59+4scffyQ+Pp7Vq1fTqFEjatWqRe3atalQoQK7du1i8uTJ7Nq1i759+xITE5Paf/PmzZkyZQrt2rWjVq1aFChQgGuuuSZ1VDEnlClThldffZWuXbuSlJTEbbfdRpkyZZg9eza//PIL9evXZ8GCBeTLd/Ixu+3bt/PAAw/w2GOPcdVVV1GjRg2KFi3Kli1bmDZtGuvWraNChQq8+OKLqW3Kly/P2LFjue2226hbty4tWrTgkksuwTnH+vXrmTdvHseOHWPbtm1pnsubb75Jp06daNu2LUWKFKFs2bJ07do1x55LtCkhFRERERGRkzr//PNZunQpr732GuPHj+f999/HOUdiYiI1atSgd+/eqa8zufjii3nqqaeYNWsWX3/9Ndu3bychIYFLLrmEV199lfbt26fpe/jw4Tz66KPMmjWLCRMmcOLECeLi4nI0IQW47777KF26NAMHDmT06NEUKlSIZs2a8cEHH/DXv/4V+GOtaWbq1avHJ598wr///W8WLlzImDFj2LFjB0WLFqVatWrcc889PPzww+k2bmrdujXff/89gwcPZtq0acyaNYu4uDgSExNp2bJluufSrl07nn/+eUaNGsUrr7zCkSNHqFGjxlmVkFrwvGY5PZKSklxWtpD+s/g7UMsZYtOmaEcgIiJydkhJSeGSSy6JdhiSixw5coRz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kAZeP5OV55JTNGVXRERERCQPu/baa6lSpUpq0tO9e3diYmLS1cufPz/du3dn0KBB1KpVizZt2nD48GFmzJjB7t27adKkSdjRzUg1btyYbt268eabb1KjRg3at2+f+h7SMmXKULZs2XRtevToQffu3alduzbt2rWjQIECzJkzh5UrV9K6dWumTJmSrk3z5s359NNPuemmm6hTpw4FChSgadOmNGzYMMPY3nrrLRo2bEiPHj348ssvqVevXup7SAsUKMCoUaMoUqTIKd97Zr744gseeOABqlSpQoMGDTjvvPM4fPgwK1eu5KuvvuLYsWM89thjaUZon3nmGX744QeGDRvGxIkTadasGeXLl2fLli38/PPPzJ8/n7///e+pG1mVKFGCpKQkZs6cyZ133km1atXIly8fbdu2zdZ7ZSOhhFREREREJA8zM7p06UK/fv2AP0ZMwxk4cCBly5bl3Xff5a233qJkyZK0aNGC559/nj59+mQ7lqFDh3LRRRcxfPhwhg8fTunSpbnlllt4/vnnqV69err6Dz74IIUKFeK1115j5MiRFC5cmMaNG/PBBx8wZsyYsAnpkCFDKFCgANOnT2fKlCmcOHGCAQMGZJqQXnjhhSxevJjnnnuOqVOnMnPmTIoXL06rVq3o27dv2N10c8qgQYNo2rQp06dP59tvv2X8+PEcO3Ysdbp1ly5duOGGG9K0KViwIJMmTeKDDz7gvffeY/Lkyezbt48yZcpw/vnn89xzz3H77benaTN69Ggee+wxpk6dykcffYRzjsqVK5/2hNQCc43l9ElKSnLJycnRDiOdbOx+LVGQzVdoiYiIiC/4FScikj2R/nsys8XOuXSZu9aQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREJM9xzkU7BJEzXk78O1JCKiIiIiJ5Sv78+Tl69Gi0wxA54x09epT8+fNnqw8lpCIiIiKSpxQrVow9e/ZEOwyRM96ePXsoVqxYtvpQQioiIiIieUqpUqXYuXMn27Zt48iRI5q+K5IFzjmOHDnCtm3b2LlzJ6VKlcpWfwVyKC4RERERkTNCbGwsFStWZMeOHaxdu5bjx49HOySRM0r+/PkpVqwYFStWJDY2Nlt9KSEVERERkTwnNjaWxMREEhMTox2KSJ6mKbsiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIREWuSEjN7O9mNt3M1pvZQTPbYWZLzexpM0vIoE0DM5vq1z1gZj+Y2aNmlj+T67Q2s1lmttvM9pnZd2Z290liu9vMFvr1d/vtW2f3nkVERERERPK6XJGQAj2AIsA04DVgNHAM6A/8YGbnBVc2s5uA2UBjYDwwDIgB/gGMDXcBM+sOTAZqAh8CbwPlgVFmNiiDNoOAUUCiX/9DoBYw2e9PRERERERETpE556IdA2YW55w7FKb8eaAv8KZz7gG/rDjwC1ACuMo5lxzoA5gB1AfucM6NDeqnMvATsB+o55xb65fHA4uAC4AGzrkFQW0aAPOAVcBlzrmdQX0txkugLw70lZmkpCSXnJwc6eP405QvH+0IJCs2bYp2BCIiIiIip8bMFjvnkkLLc8UIabhk1DfOP14YVNYeKAOMDSSjQX308792C+nnr0AsMDQ4gfSTzBf8r38LaRP4/nwgGfXbrMUbkY0F7snwpkRERERERCRTuSIhzcSN/vGHoLJm/vFfYerPBg4ADcwsNsI2X4bUyU4bERERERERiVCBaAcQzMx6AUXxpuMmAQ3xktEXg6pd5B9XhrZ3zh0zszVADeB8ICWCNr+Z2X7gXDMr7Jw7YGZFgArAPufcb2FC/dk/VsvK/YmIiIiIiMgfclVCCvQCygV9/xfQ2Tm3NaishH/cnUEfgfKSWWxTxK934BSvISIiIiIiIlmQq6bsOufOcc4ZcA5wC94o51Izq5uFbizQ3Wluk2l9M+tqZslmlrx169aMqomIiIiIiORZuSohDXDObXHOjQeuBRKA94NOB0YnS6Rr6CkeUi8rbfZEWP9kI6g45/7pnEtyziWVKVMmo2oiIiIiIiJ5Vq5MSAOcc78Cy4EaZlbaL17hH9Ot3zSzAkAVvHeYrg46lVmbRLzpuhuccwf86+4HNgJF/fOhArv+pluTKiIiIiIiIpHJ1QmpL/C2zOP+cYZ/vD5M3cZAYWC+c+5wUHlmbVqG1MlOGxEREREREYlQ1BNSM7vYzM4JU57PzJ4HyuIlmIF3gX4KbANuN7OkoPpxwHP+1zdDuhsJHAa6m1nloDbxQF//6/CQNoHvT/j1Am0qAw/6/Y2M6CZFREREREQkndywy+71wMtmNhtYBWzH22m3Cd6mRpuB+wKVnXN7zOw+vMR0lpmNBXYAbfBe7/Ip8HHwBZxza8ysN/A6kGxmHwNHgPbAucBg59yCkDbzzewV4DHgBzP7FIgBbgNKAQ8559bm5IMQERERERHJS3JDQvo18E/gKuB/8F6lsh9vfeYHwOvOuR3BDZxzE8ysCfAE0A6IA37BSx5fd86l2/3WOTfEzNbivVqmE97o8HKgn3PuvXCBOed6mtkPQHegK3ACWAK87Jybks37FhERERERydMsTO4mOSwpKcklJydHO4x0ypc/eR3JPTZtinYEIiIiIiKnxswWO+eSQsujvoZURERERERE8iYlpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERERERKJCCamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoKJDdDszsYqAlcAAY65zbne2oRERERERE5KwX8QipmT1lZr+ZWamgsmuApcAg4A1giZkl5HyYIiIiIiIicrbJypTdlsBPzrkdQWUDAQc8DbwJVAEeybnwRERERERE5GyVlYS0MpAS+GJmFYB6wBvOueecc92BGUDbHI1QREREREREzkpZSUjjgeDR0avwRkenBJUtBirmQFwiIiIiIiJylstKQroVqBD0/WrgKPBdUFlMFvsUERERERGRPCoru+x+D7Qxs5rAIeA2YK5z7mBQncrAbzkXnoiIiIiIiJytsjKa+RJQAvgPsML/78GBk2YWBzQFknMwPhERERERETlLRTxC6pybY2atgfvw1o6Ods59GVSlAbAWGJ+jEYqIiIiIiMhZKStTdnHO/Qv4VwbnZgB1ciIoEREREREROftpAyIRERERERGJiiwlpGaWz8weMrNvzWy3mR0LOlfHzN4ws2o5H6aIiIiIiIicbSJOSM0sBpgGvApcAOwFLKjKGuCvQMecDFBERERERETOTlkZIe2N9+7RZ4BywIjgk865XcBs4Loci05ERERERETOWllJSDsC85xzzzrnTuDttBtqDVAxRyITERERERGRs1pWEtIqwLcnqbMDKHXq4YiIiIiIiEhekZWE9CBQ8iR1KgK7Tj0cERERERERySuykpB+z/+3d+9hklT1/cffH7kqhKv4kxVhRQUVNSYuUdHAApFgovG2BolGwAtiFINivIGKAppEvCFEgkYWIQoJeAl4TUREXUUXNcR447YqLkYQXAQEXPj+/qgaaXt7Zrpne7bYmffrefqp6VPnVH97FIrPVNU5sF87udEakmxJ8/zo18dRmCRJkiRpbhslkL4fuD/wr0m26N2RZCtgKbA1cMrYqpMkSZIkzVkbDtuxqj6S5E+AQ4C/AG4ASLIc2A3YBDi5qj41G4VKkiRJkuaWUa6QUlUvoFlr9LvAdjTrkP4hcDnwgqo6fOwVSpIkSZLmpKGvkE6oqqXA0iT3pLlFd1VV3TzuwiRJkiRJc9vIgXRCVf2aZuZdSZIkSZJGNtItu7MhybZJXpjkY0kuT/LrJKuSfDnJC5Lco6//wiQ1xeusKT7roCRfT3JT+xkXJnnyFP03SHJEkkvbuq5P8qkke4zzdyBJkiRJ89HQV0iTXDlEtzuBG4HvAR+tqnOHGPMs4H3ANcAXgB8D/w94BvAB4ElJnlVV1Tfuv4GPDzjedyap/wTgSOBqmhmDNwaeDZyX5PCqOqmvf4CzgCXAD4CTgG2AA4CLkjyzqj4xxPeTJEmSJA2QNXPeJB2TFTQBdkHbtBr4BbAtdwXblcAWwOZAAZ8CnlZVd0xx3H2AzYBPVtWdPe33pVnT9P7Akolwm2QhcBVwelUdPGTtewBfAa4Adq+qiRmCFwKXtJ//kKpa0TPmQODDwDJg36q6tW3fHfgysAp4YFX9arrPX7RoUS1fvnyYUtepBQum76O7j5Uru65AkiRJmpkkl1TVov72UW7ZfSTwU+BLwBOATatqe2BT4I/b9quB+wG7Ap8B/gz426kOWlUXVNV5vWG0bf8Zd61puniEOgc5rN0ePxFG289YAZxMs2TNIX1jXtJuj54Io+2YbwBn08wyvGQt65IkSZKkeWuUQHo8sCXN1cJlEwGyqu6sqq8ATwS2ogl9l9HcivtT4DlrUd9v2u3qAfsWJHlxkte320dOcZx92u1nBuz7dF8fkmwC7AHcQhO0px0jSZIkSRrNKLPsPh34cFUNCodU1e1JzgMOBF5eVbckuD6sawAAIABJREFU+TwzvIqYZEPgee3bQUHyie2rd8yFwEFV9eOets1ortreVFXXDDjOZe12l562BwEbAFdO8n0HjZEkSZIkjWCUK6Tb0kwENJWN2n4TfsbMl5b5e+DhwKeq6rM97bcAxwKPplkHdWtgL5oJkRYDn29D6IQt2+2qST5non2rtRwjSZIkSRrBKIH0SuCZSX5v0M4kWwDPpJlwaML2wPWjFpXk5TQz4n4f+OvefVX186p6Y1V9s6p+2b4uAvYDLqa5uvnCUT+TZhKmoUucbkySQ5MsT7L82muvnUE5kiRJkjS3jRJIT6W59fXiJM9p1wO9Z7t9Lk0YXAD8M/x22ZTFwLdHKSjJS4H3AN8F9q6qoQJte2vtB9q3e/bsmriauSWDDboaOt2YLQaM6a/n1KpaVFWLtttuu8m6SZIkSdK8NfTttFX1niS70sxY+6EBXQKcWlXvad/fB/gI8J/DfkaSI4B30awlum9V/XzYsa2JS5G/vWW3qm5O8lPgfkm2H/Ac6YPb7Q972i4H7gB2TrLhgOdIB42RJEmSJI1glCukVNXf0Fx9PA34Fs1tvN9u3y+uqsN6+v5fVb2uqi4Y5thJXkMTRr9Nc2V01DAK8Nh2e2Vf+0QN+w8Y86S+PlTVbTTrj96LZkmbacdIkiRJkkYzUiAFqKovV9UL29tRH1xVj27fXzTTIpK8gWYSo0toroxeN0XfxyRZY3KlJPsAr2jfntm3e2I906OSbN0zZiHwUuA2mlDd633t9rgkm/aM2R04gOZq7LlTfjFJkiRJ0qRmOgPu2CQ5CHgLzS2yXwJe3jx++jtWVNXS9ud/AHZrl3i5um17JHetCfqGqlrWO7iqliV5J/BK4NIk59DMGHwAsA1weFWt6PvMs4Bn0Cxb8612SZtt2zEbAC+qqhtn+LUlSZIkad6bUSBNsgFwb2CTQft71wEdwgPa7QbAEZP0+SKwtP35DJo1UXenuXV2I+D/gH8DTqqqL01S05FJLgVeBhwK3Al8E3h7VZ0/oH8lOZDm1t3nA4cDtwIXAcf1h15JkiRJ0mhSNfxqJ0keQXNr7d5MEkZpslznV17vThYtWlTLly/vuow1LFjQdQUaxcqVXVcgSZIkzUySS6pqUX/70MExyUNorhZCM3PuU4D/prk6+Yc0V0y/AIxydVSSJEmSNE+NMqnRG2huj92jqp7atn2sqvanue32NOBhwBvHW6IkSZIkaS4aJZAuBs6vqv/paQs0a30CLwZuAI4dW3WSJEmSpDlrlEB6b+CynveradbpBKCqVtPcsrvfeEqTJEmSJM1lowTS64HNe95fB+zY1+d2YMu1LUqSJEmSNPeNEkivABb2vL8EeGKS+wAk2Qx4KnDV2KqTJEmSJM1ZowTSzwF7t8ET4BRgG+BbSf4d+B9gJ+AD4y1RkiRJkjQXjRJI3w+8ALgnQFV9Ejiiff9M4D7APwAnjrlGSZIkSdIcNPQ6pFV1DXB2X9uJSU6mmfDo51VVY65PkiRJkjRHDR1IJ1NVdwD/N4ZaJEmSJEnzyCi37EqSJEmSNDYjXSFNsgPwCuBRwA7ARgO6VVU9cAy1SZIkSZLmsKEDaZLFwKeATYHVNLfprh7UdSyVSZIkSZLmtFGukP4jsAHwPODDVXXn7JQkSZIkSZoPRgmkjwA+UlVnzlYxkiRJkqT5Y5RJjW4Arp+tQiRJkiRJ88sogfR8YK/ZKkSSJEmSNL+MEkhfD2yZ5OQkm81WQZIkSZKk+WHoZ0ir6rok+wMXA89L8kNg1eCute+4CpQkSZIkzU2jLPuyG/AFYOu26Q8m6VprW5QkSZIkae4b5ZbddwLbAm8EdgI2qqp7DHhtMCuVSpIkSZLmlFGWfXkc8NGqOm62ipEkSZIkzR+jXCG9HVgxS3VIkiRJkuaZUQLphcAfzVIdkiRJkqR5ZpRA+mrgYUlemySzVZAkSZIkaX4Y5RnSo4HvAMcDL0rybSZf9uUF4yhOkiRJkjR3jRJID+75+QHta5ACDKSSJEmSpCmNEkgnC6CSJEmSJI1s6EBaVT+azUIkSZIkSfPLKJMaSZIkSZI0NgZSSZIkSVInprxlN8kdMzhmVdUoz6ZKkiRJkuah6YLjTNYbdY1SSZIkSdK0pgykVeUtvZIkSZKkWWHglCRJkiR1wkAqSZIkSeqEgVSSJEmS1AkDqSRJkiSpEwZSSZIkSVInDKSSJEmSpE4YSCVJkiRJnZg0kCa5Psmre96/Mcme66YsSZIkSdJcN9UV0q2ATXveHwMsns1iJEmSJEnzx1SB9P+AHdZVIZIkSZKk+WXDKfZ9DfjrJHcA17Rti5NMd8yqqmPHUZwkSZIkae6aKpD+HbAL8OKetsVMf9tuAQZSSZIkSdKUJg2kVXV5kkcADwDuB1wILAVOXyeVSZIkSZLmtKmukFJVdwJXAFe0t+quqKovrovCJEmSJElz25SBtFdVuWapJEmSJGlshg6kvZLsAPwBzdIwq4BvVtXV4yxMkiRJkjS3jRRIk+wInAo8ccC+/wQOq6oV4ylNkiRJkjSXDR1Ik9wX+ArNBEcrgItoloPZHngCsB/w5SSLqupn4y9VkiRJkjSXjPJc6BtowuhrgAdX1cFV9bqqOhjYFXg1sAA4epQCkmyb5IVJPpbk8iS/TrIqyZeTvCDJwBqT7JHkU0muT3JLkkuTHJFkgyk+68lJLmyPf1OSi5McNE19ByX5ett/VTv+yaN8R0mSJEnSmkYJpH8OfK6q3l5Vd/TuqKo7quoE4HPAqGHtWcD7gccAFwPvBs4FHg58APi3tFP8TkjyVJortHsCHwNOBjYG3gWcNehDkrwMOK897pntZy4AliY5YZIxJ9AsdbN92/9M4BHAee3xJEmSJEkzlKoarmNyK/COqjpqij7HA0dW1aZDF5DsA2wGfLJdZmai/b7A14H7A0uq6ty2fQvgcmBL4PFVtbxt3xS4AHgccGBVndVzrIXA94GbgUdPPOeaZGvgG8ADgT2q6qs9Y/aguUX5CmD3qrqh51iXtDU/ZJhnZhctWlTLly8f9leyzixY0HUFGsXKlV1XIEmSJM1MkkuqalF/+yhXSFcBO03TZ8e239Cq6oKqOq83jLbtPwNOad8u7tm1BNgOOGsijLb9b+Wu24Vf0vcxzwc2AU7qDZBtyHxr+/awvjET74+fCKPtmBU0V2Q3AQ6Z/htKkiRJkgYZJZB+GVjSXjlcQ5LH0Nx+++VxFNb6Tbtd3dO2T7v9zID+FwG3AHsk2WTIMZ/u67M2YyRJkiRJQxolkB7fbr+Y5Iwkz0/ypCSHJDkd+FK7/62TjB9Jkg2B57Vve0Phru32h/1jqmo1cBXN7ME7DznmGppbeXdIcq/2szejmcDppnZ/v8va7S5DfRlJkiRJ0hqGXvalqr6ZZAnNJD/PAf6qZ3eA64HnV9UlY6rt72kmIPpUVX22p33LdjvZrcET7VuNOGaztt8tM/wMSZIkSdIIhg6kAFV1fpKdgKcCf0gT3FYB3wI+XlU3j6OoJC8HjqSZiOivRx0+Ue4sj5myf5JDgUMBdtxxxxEPK0mSJElz30iBFKANnR9uX2OX5KXAe4DvAvtW1fV9XSauTm7JYFv09Zv4+d7tmF9MMebGIT9juiuoVNWpwKnQzLI7WT9JkiRJmq9GeYZ01iU5AjgJ+A6wdzvTbr8ftNs1nt9snzt9AM0kSFcOOWZ7mtt1r66qW+C3ofunwObt/n4PbrdrPJMqSZIkSRrO3SaQJnkN8C7g2zRh9OeTdL2g3e4/YN+ewL2AZVV125BjntTXZ23GSJIkSZKGdLcIpEneQDOJ0SU0t+leN0X3c4DrgGcn+e3Cqkk2BY5r376vb8xpwG3Ay5Is7BmzNfD69u0pfWMm3h/V9psYsxB4aXu806b+ZpIkSZKkyYz8DOm4JTkIeAtwB83SMS9P0t9tRVUtBaiqG5O8iCaYXpjkLJoZfv+CZnmXc4CzewdX1VVJ/g44EVie5GzgdmAJsAPwjqr6at+YZUneCbwSuDTJOcDGwAHANsDhVbViLL8ESZIkSZqHOg+kNM98AmwAHDFJny/SLDcDQFV9PMlewFHAM4FNgctpwuOJVbXGJEJV9d4kK4BX0axveg+aiZOOrqrTB31oVR2Z5FLgZTQz5t4JfBN4e1WdP9rXlCRJkiT1yoDspjFbtGhRLV++vOsy1rBgQdcVaBQrV3ZdgSRJkjQzSS6pqkX97UM/Q5rkgiTHjrcsSZIkSdJ8NcqkRo+lua1WkiRJkqS1NkogvQy4/2wVIkmSJEmaX0YJpB8A/jzJjrNVjCRJkiRp/hhllt3zgCcCX0nyD8A3gJ8Bg2a0/fF4ypMkSZIkzVWjBNIracJngPdM0a9GPK4kSZIkaR4aJTh+iAFXQyVJkiRJmomhA2lVHTyLdUiSJEmS5plRJjWSJEmSJGlsZvSsZ5KHAA8FNq+qM8ZbkiRJkiRpPhjpCmmSRyVZDvwvcA6wtGffXkluSfKU8ZYoSZIkSZqLhg6kSXYBLgR2pZll99N9XS4CrgeWjKs4SZIkSdLcNcoV0jcBGwN/VFWvpFmH9LeqqoCvAruPrzxJkiRJ0lw1SiDdF/hoVX1vij4/BhasXUmSJEmSpPlglEC6FXD1EMfbeOblSJIkSZLmi1EC6c+BB03TZzfgJzMvR5IkSZI0X4wSSC8AnpJk10E7k+xOc1vvZ8dRmCRJkiRpbhslkL4NWA1clOQltM+KJtmtfX8e8CvghLFXKUmSJEmaczYctmNV/SDJM4GPACe1zQEubbe/BJ5RVT8ee5WSJEmSpDln6EAKUFWfSfIA4CDgscC2wCrga8BpVXX9+EuUJEmSJM1FIwVSgKr6JfCe9iVJkiRJ0oyM8gypJEmSJEljM3IgTfKcJJ9Pcn2S1e3280meMxsFSpIkSZLmpqFv2U2yEXAO8GSaSYxWA9fSPEe6N7A4yV8CS6rqN7NQqyRJkiRpDhnlCunrgKcAF9ME0E2rantgU2Af4Os0YfU14y5SkiRJkjT3jBJInwdcDiyuqi9W1Z0AVXVnVV0ILAauBA4ec42SJEmSpDlolEC6A/CJqrp90M6qug34BHC/cRQmSZIkSZrbRgmkK4GNpumzUdtPkiRJkqQpjRJIPwwsSbLFoJ1JtgKWAP86jsIkSZIkSXPbKIH0LcBy4OtJ/irJDkk2arfPAb5GM7HRsbNRqCRJkiRpbpl02ZckdwI1aBdwxiTtDwZ+PdVxJUmSJEmCqYPjRQwOpJIkSZIkrbVJA2lVLV6HdUiSJEmS5plRniGVJEmSJGlsDKSSJEmSpE6MPPlQkqcAjwJ2YPC6pFVVL1jbwiRJkiRJc9vQgTTJTsD5wMNoZtSdTAEGUkmSJEnSlEa5QnoisBvwQeBDwE+B1bNRlCRJkiRp7hslkO4DfLaqXjhbxUiSJEmS5o9RJjX6DfA/s1WIJEmSJGl+GSWQfgV4+GwVIkmSJEmaX0YJpG8E9kzy7NkqRpIkSZI0fwz9DGlVfSvJvsAnk7wY+CawanDXOnZcBUqSJEmS5qZRln3ZEngbsA2wV/sapAADqSRJkiRpSqPMsvsuYDHwX8AZwEpc9kWSJEmSNEOjBNInA8uqar/ZKkaSJEmSNH+MMqnRPYFls1WIJEmSJGl+GSWQfgvYebYKkSRJkiTNL6ME0mOBpyR5wmwVI0mSJEmaP0Z5hnR74HzggiQfBi5h8LIvVNWHxlCbJEmSJGkOGyWQLqVZ0iXA89pX9fVJ22YglSRJkiRNaZRAesisVSFJkiRJmneGDqRVdfpsFZFkCbAX8Cjg94HfA/61qp47oO9C4KopDnd2VT17ks85CHgp8DDgDpqJmk6oqvMn6b8BcDjwfODBwK+BrwHHVZUzDkuSJEnSWhjlCulsOpomiN4EXA08ZIgx/w18fED7dwZ1TnICcGR7/PcDGwPPBs5LcnhVndTXP8BZwBLgB8BJwDbAAcBFSZ5ZVZ8Yok5JkiRJ0gB3l0D6CpqgeDnNldIvDDHm21V1zDAHT7IHTRi9Ati9qm5o299OMznTCUnOr6oVPcOeTRNGlwH7VtWt7ZhTgC8D709yQVX9apgaJEmSJEm/a+hlX5JcOeTrilGLqKovVNVlVdU/SdK4HNZuj58Io+3nrgBOBjZhzWdkX9Juj54Io+2YbwBnA9vRBFZJkiRJ0gyMsg7pPWhm0e1/bQUsbF8bj3jMtbEgyYuTvL7dPnKKvvu0288M2Pfpvj4k2QTYA7gF+NIwYyRJkiRJoxllUqOFk+1L8iDgRGAz4E/XvqyhPLF99dZxIXBQVf24p20z4H7ATVV1zYDjXNZud+lpexCwAXBlVa0ecowkSZIkaQRjuZpZVZcDz6AJfm8axzGncAtwLPBoYOv2NfHc6WLg820InbBlu101yfEm2rdayzG/I8mhSZYnWX7ttddO1k2SJEmS5q2x3V7bPmf5n8CB4zrmJJ/z86p6Y1V9s6p+2b4uAvYDLqa5uvnCmRx6hL6ZbkxVnVpVi6pq0XbbbTeDciRJkiRpbhv3856rgfuO+ZhDaW+t/UD7ds+eXRNXM7dksEFXQ6cbs8WAMZIkSZKkEYwtkCa5N/B04CfjOuYMTNwb+9tbdqvqZuCnwOZJth8w5sHt9oc9bZcDdwA7Jxn0nO2gMZIkSZKkEQw9qVGSN05xjPsDT6W5ovi6MdQ1U49tt1f2tV8A/DWwP3Ba374n9fQBoKpuS7IM+OP21b8u6hpjJEmSJEmjGTqQAsdMs/9G4Liq+seZlzO9JI8BvlVVt/e17wO8on17Zt+wU2gC6VFJPj6xFmmShcBLgdtYM6i+jyaMHpdk34m1SJPsDhxAczX23DF9LUmSJEmad0YJpHtP0n4ncAPw/UmWSJlWkqcBT2vfTjyD+rgkS9ufr6uqV7U//wOwW7vEy9Vt2yO5a03QN1TVst7jV9WyJO8EXglcmuQcmjVTDwC2AQ6vqhV9ZZ1FM3PwEuBbSc4Dtm3HbAC8qKpunMn3lSRJkiSNtg7pF2exjkcBB/W17dy+AH4ETATSM2ieVd2d5tbZjYD/A/4NOKmqvjToA6rqyCSXAi8DDqUJ0t8E3l5V5w/oX0kOBJYBzwcOB24FLqK5Erysf4wkSZIkaXipGmW1E83EokWLavny5V2XsYYFC7quQKNYubLrCiRJkqSZSXJJVS3qb5/yCmmSGc3CW1V3zmScJEmSJGn+mO6W3d/M4Jg1xHElSZIkSfPcdMHxJzQBcxib00z6I0mSJEnStKYMpFW1cLoDJNmIZsKfo9qmFWtdlSRJkiRpzpvRM6ITkjwL+B7wdiDAq4GHjqEuSZIkSdIcN6NnPZPsAbwD+CNgNXAi8JaqumGMtUmSJEmS5rCRAmmSBwF/T7MOaIBzgNdW1ZWzUJskSZIkaQ4bKpAm2QZ4E/BiYGPgq8CRVfW1WaxNkiRJkjSHTbcO6cbAEcDrgC2BK2iuiJ67DmqTJEmSJM1h010h/QGwI3A9TTA9uarumPWqJEmSJElz3nSBdCeadUgDvAp4VZLpjllVtdMYapMkSZIkzWHDPEMaYJv2JUmSJEnSWEwZSKtqrdYplSRJkiRpMjNah1SSJKlrCxZ0XYFGtXJl1xVIurvxCqgkSZIkqRMGUkmSJElSJwykkiRJkqROGEglSZIkSZ0wkEqSJEmSOmEglSRJkiR1wkAqSZIkSeqEgVSSJEmS1AkDqSRJkiSpEwZSSZIkSVInDKSSJEmSpE4YSCVJkiRJnTCQSpIkSZI6YSCVJEmSJHXCQCpJkiRJ6oSBVJIkSZLUCQOpJEmSJKkTBlJJkiRJUicMpJIkSZKkThhIJUmSJEmdMJBKkiRJkjphIJUkSZIkdcJAKkmSJEnqhIFUkiRJktQJA6kkSZIkqRMGUkmSJElSJwykkiRJkqROGEglSZIkSZ0wkEqSJEmSOmEglSRJkiR1wkAqSZIkSeqEgVSSJEmS1AkDqSRJkiSpEwZSSZIkSVInDKSSJEmSpE4YSCVJkiRJnTCQSpIkSZI6YSCVJEmSJHWi80CaZEmS9yb5UpIbk1SSM6cZs0eSTyW5PsktSS5NckSSDaYY8+QkFyZZleSmJBcnOWiazzkoydfb/qva8U+e6XeVJEmSJN2l80AKHA28DHgU8NPpOid5KnARsCfwMeBkYGPgXcBZk4x5GXAe8HDgTOD9wAJgaZITJhlzArAU2L7tfybwCOC89niSJEmSpLVwdwikrwB2AbYAXjJVxyRb0ITDO4DFVfWCqvo7mjD7VWBJkmf3jVkInABcDyyqqpdW1SuARwJXAEcmeVzfmD2AI9v9j6yqV1TVS4FHt8c5oT2uJEmSJGmGOg+kVfWFqrqsqmqI7kuA7YCzqmp5zzFupbnSCmuG2ucDmwAnVdWKnjE3AG9t3x7WN2bi/fFtv4kxK2iuyG4CHDJEvZIkSZKkSXQeSEe0T7v9zIB9FwG3AHsk2WTIMZ/u67M2YyRJkiRJI1jfAumu7faH/TuqajVwFbAhsPOQY64BbgZ2SHIvgCSbAfcDbmr397us3e4yky8gSZIkSWqsb4F0y3a7apL9E+1bzWDMln3bUT5jDUkOTbI8yfJrr712qq6SJEmSNC+tb4F0Omm3wzyPujZjpu1fVadW1aKqWrTddtuNeGhJkiRJmvvWt0DafzWz3xZ9/UYZc+OQ/ae7gipJkiRJGsL6Fkh/0G7XeH4zyYbAA4DVwJVDjtke2Ay4uqpuAaiqm2nWQ9283d/vwe12jWdSJUmSJEnDW98C6QXtdv8B+/YE7gUsq6rbhhzzpL4+azNGkiRJkjSC9S2QngNcBzw7yaKJxiSbAse1b9/XN+Y04DbgZUkW9ozZGnh9+/aUvjET749q+02MWQi8tD3eaTP/GpIkSZKkDbsuIMnTgKe1b+/bbh+XZGn783VV9SqAqroxyYtogumFSc4Crgf+gmZ5l3OAs3uPX1VXJfk74ERgeZKzgduBJcAOwDuq6qt9Y5YleSfwSuDSJOcAGwMHANsAh1fVijH9CiRJkiRpXuo8kAKPAg7qa9uZu9YS/RHwqokdVfXxJHsBRwHPBDYFLqcJjydW1Rqz31bVe5OsaI/zPJorw98Fjq6q0wcVVVVHJrkUeBlwKHAn8E3g7VV1/sy+qiRJkiRpQgbkN43ZokWLavny5V2XsYYFC7quQKNYubLrCiTp7sXz2PrHc5k0fyW5pKoW9bevb8+QSpIkSZLmCAOpJEmSJKkTBlJJkiRJUicMpJIkSZKkThhIJUmSJEmdMJBKkiRJkjphIJUkSZIkdcJAKkmSJEnqhIFUkiRJktQJA6kkSZIkqRMGUkmSJElSJwykkiRJkqROGEglSZIkSZ0wkEqSJEmSOmEglSRJkiR1wkAqSZIkSeqEgVSSJEmS1AkDqSRJkiSpEwZSSZIkSVInDKSSJEmSpE4YSCVJkiRJnTCQSpIkSZI6YSCVJEmSJHXCQCpJkiRJ6oSBVJIkSZLUCQOpJEmSJKkTBlJJkiRJUicMpJIkSZKkThhIJUmSJEmdMJBKkiRJkjphIJUkSZIkdcJAKkmSJEnqhIFUkiRJktQJA6kkSZIkqRMGUkmSJElSJwykkiRJkqROGEglSZIkSZ0wkEqSJEmSOmEglSRJkiR1wkAqSZIkSeqEgVSSJEmS1AkDqSRJkiSpEwZSSZIkSVInDKSSJEmSpE4YSCVJkiRJnTCQSpIkSZI6YSCVJEmSJHXCQCpJkiRJ6oSBVJIkSZLUCQOpJEmSJKkTBlJJkiRJUifW20CaZEWSmuT1s0nG7JHkU0muT3JLkkuTHJFkgyk+58lJLkyyKslNSS5OctDsfTNJkiRJmh827LqAtbQKePeA9pv6G5I8FTgXuBU4G7geeArwLuDxwLMGjHkZ8F7gF8CZwO3AEmBpkkdU1avG8zUkSZIkaf5Z3wPpL6vqmOk6JdkCeD9wB7C4qpa37W8ALgCWJHl2VZ3VM2YhcAJNcF1UVSva9rcA3wCOTHJuVX11nF9IkiRJkuaL9faW3REtAbYDzpoIowBVdStwdPv2JX1jng9sApw0EUbbMTcAb23fHjZbBUuSJEnSXLe+XyHdJMlzgR2Bm4FLgYuq6o6+fvu0288MOMZFwC3AHkk2qarbhhjz6b4+kiRJkqQRre+B9L7AGX1tVyU5pKq+2NO2a7v9Yf8Bqmp1kquA3YCdge8NMeaaJDcDOyS5V1XdsjZfQpIkSZLmo/X5lt3TgH1pQulmwCOAfwYWAp9O8vs9fbdst6smOdZE+1YzGLPlJPslSZIkSVNYb6+QVtWb+5q+AxyW5CbgSOAY4OlDHi4Thx2hhCnHJDkUOBRgxx13HOGwkiRJkjQ/rM9XSCdzSrvds6dtuquZW/T1G2XMjYN2VtWpVbWoqhZtt912U5QrSZIkSfPTXAykP2+3m/W0/aDd7tLfOcmGwAOA1cCVQ47Zvj3+1T4/KkmSJEkzMxcD6ePabW+4vKDd7j+g/57AvYBlPTPsTjfmSX19JEmSJEkjWi8DaZLdkmwzoH0n4KT27Zk9u84BrgOenWRRT/9NgePat+/rO9xpwG3Ay5Is7BmzNfD69u0pSJIkSZJmZH2d1OhZwGuTfAG4CvgV8EDgz4FNgU8BJ0x0rqobk7yIJphemOQs4HrgL2iWdzkHOLv3A6rqqiR/B5wILE9yNnA7sATYAXhHVX11Vr+lJEmSJM1h62sg/QJNkPwDmlt0NwN+CXyZZl3SM6rqd2a/raqPJ9kLOAp4Jk1wvRx4JXBif/92zHuTrABeBTyP5oryd4Gjq+r02flqkiRJkjQ/rJeBtKq+CHxxBuO+AvzZiGPOA84b9bMkSZIkSVNbL58hlSRJkiSt/wykkiRJkqROGEglSZIkSZ0wkEqSJEmSOmEglSRJkiR1wkAqSZIkSeqEgVSSJEmS1In1ch1SaV5asKDrCjSqlSu7rkCSJOluzSuV9ZiVAAAP7ElEQVSkkiRJkqROGEglSZIkSZ0wkEqSJEmSOmEglSRJkiR1wkAqSZIkSeqEgVSSJEmS1AkDqSRJkiSpEwZSSZIkSVInDKSSJEmSpE4YSCVJkiRJnTCQSpIkSZI6YSCVJEmSJHXCQCpJkiRJ6oSBVJIkSZLUCQOpJEmSJKkTBlJJkiRJUicMpJIkSZKkThhIJUmSJEmdMJBKkiRJkjphIJUkSZIkdWLDrguQJEnSPLFgQdcVaFQrV3ZdgeY4r5BKkiRJkjphIJUkSZIkdcJAKkmSJEnqhIFUkiRJktQJA6kkSZIkqRMGUkmSJElSJwykkiRJkqROGEglSZIkSZ0wkEqSJEmSOmEglSRJkiR1wkAqSZIkSeqEgVSSJEmS1AkDqSRJkiSpEwZSSZIkSVInDKSSJEmSpE4YSCVJkiRJnTCQSpIkSZI6YSCVJEmSJHXCQCpJkiRJ6oSBVJIkSZLUCQOpJEmSJKkTBlJJkiRJUicMpJIkSZKkThhIp5FkhyQfTLIyyW1JViR5d5Ktu65NkiRJktZnG3ZdwN1ZkgcCy4D7AJ8Avg/8EfC3wP5JHl9Vv+iwREmSJElab3mFdGr/RBNGX15VT6uq11bVPsC7gF2B4zutTpIkSZLWYwbSSSTZGdgPWAGc3Lf7TcDNwF8n2WwdlyZJkiRJc4KBdHL7tNvPVdWdvTuq6lfAV4B7AY9d14VJkiRJ0lxgIJ3cru32h5Psv6zd7rIOapEkSZKkOcdJjSa3ZbtdNcn+ifat1kEtktZDC96xoOsSNKKVR67sugRJulvxXLb+Wd/OZQbSmUu7rYE7k0OBQ9u3NyX5wTqpSnNWpu+imbs3cN3Yj/qqsR9Rsyyv8p80aTb5T9is8lwm4G59LttpUKOBdHITV0C3nGT/Fn39fkdVnQqcOu6iJI1fkuVVtajrOiRJminPZVpf+Qzp5CauaE72jOiD2+1kz5hKkiRJkqZgIJ3cF9rtfkl+5/eU5PeAxwO/Br62rguTJEmSpLnAQDqJqroC+BywEHhp3+43A5sBH6qqm9dxaZLGz9vrJUnrO89lWi+lauCcPAKSPBBYBtwH+ATwPeAxwN40t+ruUVW/6K5CSZIkSVp/GUinkeT+wFuA/YFtgWuAjwNvrqrru6xNkiRJktZnBlJJuptLshQ4CHhAVa3othpJkgZLcgzwJmDvqrqw22q0vvAZUklDS1J9rzuSXJfkgiTP6bo+SZLWtZ5z4o+SbDpJnxVtH5dclPr4D4WkmXhzu90I2BV4GrB3kkdX1Su7K2vOeh3w98BPuy5EkjSpHYEjaP59LWlI3rIraWhJCqCq0te+L/Cf7dudva1UkjRftOfGG4CiudjzwKq6rq/PCmAnYKOqWr3Oi1xHvGVXM+Etu5LWWlV9Hvg+EGB3gCQL29uTlrY/n9Xe3ntrkuVJnjzZ8ZIcmOQLSW5o+38vydFJNunr99vPmOQ4F06E6J62xe2YY5IsSvKZJKvazzq3nciMJDu3NV+b5NdtPb8/yedsn+Tk9pas29sxH03y6AF9D24//+Ake7c1/irJjUk+meShA8YsbccsHHCsc5Nc2dZ4Y5KvJHnuZL9bSdKsuAU4FtiCJpANLclfJrmoPRf9Osn/JHld/zmv7buifW2R5J3tz79pgyDtua3ac92BSS5JckuSlW3/Tdp++7Tnnxvb898ZSbYd8Hl7Jzk1yXfbvr9O8p0kb5rs9mRpVAZSSeMycdW0/7aLnYCv06zpewZwNvBw4BNJ9l7jIMm/AB8GHgR8FDgZuJ7mRP+ZMT5/szvwpfbn97c1PgP4fJKHtO93AD4EfBLYC/jPJJv31fsAYDnwN8AVwDuAzwJ/DiybIng/mWat4xuBU9pa/gz4YpJ7D/kd3kfze70IeDdwFs3v+4wkxw55DEnSeJxMcx54cZJdhhmQ5K0058WH0pz7TqI5n74V+GySjQYM2xi4gOZxmc8B7wGu6utzOPAvwA9ozhW/AF4B/HOSpwOfpjm3nkqzrOFzgTMHfNZrgP2AbwP/DHwAuB04Bvh0kg2G+Z7SlKrKly9fvoZ60YTNGtD+J8Cd7Wuntm3hRH/gTX39/7Rt/1Rf+8Ft+0eBe/btO6bd97c9bROfsXSSei/srxdY3FPXc/r2/Uvbfj1wVN++N/R/ftv+2ba9v/8ewGqa/wjYfMB3XA3s2zfmbe2+V/e1L23bF/a1P3DAd94Y+DzwG+B+Xf9/xpcvX77m+qv99/PV7c9LJs5jfX1WtO0b9rQ9rm37MXDfnvYNgfPafa+f5Dj/BWw2oJaJc+Uq4KE97ZsA/wvc0Z6X9urZdw+ax24KeFTf8XamfcSvr/3Ytv8Bk3z+4q7/d/G1/ry8QippZO0tQcckOT7JOcBnaP6i++6q+lFf9x8Bx/U2VNVnaU7Af9TX929pgtrzq+rXffuOpTmJjms23y9X1b/2tZ3eblex5qQUH2q3j5poSLIDzV+Ofwz8Y2/nqloGfATYhubKa7+zqrnVudep7bb/9zJQVV0xoO12mr/SbwjsO8xxJEnjUVXnAF8Fnp7kCdN0f367Pa6qftZzjNXAkTR/5H3hJGOPrKqbpzj2iVX1vZ5j3kZzJfYewCer6os9++7krqujv/NoSlVdWVWDJpx5d7v90ylqkIbiLLuSZmLi+ZgCfklzu+m/VNWg232+XVV3DGj/Cc1fhwFIci+aE+F1wBFJBgzhNprbmsZh+YC2le12UM0TM9zu0NP2B+32S1X1mwHHu4DmNqg/4K5AO9Xn/6Tdbj2w4j5JdqS5nWpfmtkd79nX5X7DHEeSNFZHAsuAdyR57CSBDuAP2+0F/Tuq6odJrgYekGSrqvplz+5bgUunqWGqc9wlA/YNOseRZDOaPxY/HdgF+D3uekQHPM9oDAykkkZWfbPsTuOXk7Sv5nefY9+a5iS3HSNOCDFDqyapaeC+qlrdhuTe53m2bLfXTPIZE+1bDdi3xu+l5zOmfSYnyc40z7luTfMHgc+1dd9BcyvzQTS3aEmS1qGq+mp799AS4C9prkwOMsw5ZMe2X+854+dThNwJI53jevb99hzXPr96Ac1dO9+h+R7X0jwSAs252vOM1pqBVNLdxcQJ8ltV9YdT9rzLne12sn+XDQqC4zRR830n2b99X79xeiWwLXBIVS3t3ZHkQJpAKknqxmuBpwJvS/KxSfr0nkPWeASDyc8h62rNxqfShNHTq+rg3h1Jtmfd/PFY84DPkEq6W6iqm2gmXNgtyTZDDruh3d6/f0eSLWhuL5pN32q3T5hk9t+JWYS/OQuf/aB2e+6AfXvNwudJkobUPuP/T8ADaGa8HWTiHLK4f0eSB9HcPntV3+2665LnGa0TBlJJdyfvpJkl9oNJ1ri6mWTrJL+9elpVv6JZ//TxSR7W02+D9lj9z1SOVVVdTTMz4ULgiL5aHwP8FU1onuyv42tjRbtd3Pe5f8rkk2BIktadt9DcansUsPmA/R9st0cn2W6isT2HnUDz3+n/MttFTmFFu13c29g+MvIP67oYzV3esivpbqOqPpjk0bRreiaZmI13G5q/Mu8JnAYc1jPs7TQn7K8k+XeayR72pnkO5r/pmzFwFhwGfAV4e5L9aCaSuD/wLJpbig9pg/O4/RNwCPDvSc6lmZDi4cD+wL8BB8zCZ0qShlRV17frjP7jJPuXJflH4NXAd9rnTm8GnkTz7/Mv05zjunIecDnwyiSPoLmiuyPNOtqfbH+W1ppXSCXdrVTVS4Gn0Eyb/yc0z0r+Bc2kDm/nrqnmJ/p/kOaK4Eqa5yb/kmZ2w8cz+YRK46z3SmARcAqwK/Aqmv+Y+Azw+Kr6xCx97qU0wXsZ8GfAS4AtaJaYOWU2PlOSNLITuetK4xqq6jXAgcBlwPOAl9P89/nRwBPbpbw60S4rsw/wYWC3trZH0izD9tyu6tLck+kn6ZIkSZIkafy8QipJkiRJ6oSBVJIkSZLUCQOpJEmSJKkTBlJJkiRJUicMpJIkSZKkThhIJUmSJEmdMJBKkiRJkjphIJUkaT2TZGGSSrK061okSVobBlJJku4mkjwkyXuTfCfJqiS3J1mZ5JNJXpBk065rlCRpnDbsugBJkgRJ3gi8ieaPxV8DTgduAv4fsBj4APASYFFHJUqSNHYGUkmSOpbk9cCbgZ8Az6qqiwf0eTJw5LquTZKk2eQtu5IkdSjJQuAY4DfAnw0KowBVdT6w/zTH2iXJ3ydZnuTaJLcl+VGSU5PsMKB/khyUZFnb/9YkP0ny2SQH9PV9ZJKPJFnRHvfaJN9M8u4kG83w60uS5jmvkEqS1K1DgI2As6rqO1N1rKrbpjnWM4DDgC8Ay4Dbgd2AFwJPSbKoqn7a0/944HXAVcC/AauA7YHdgWcBZ0MTRoGLgQL+o+2/BfAg4G+Ao2kCtSRJIzGQSpLUrSe028+P4VhnAO/qD65J9gM+TRMcX9Kz68XAT4GHV9UtfWPu3fP2IGBT4GlV9Ym+flsDvzNWkqRhGUglSerW9u326rU9UN/Vz972zyX5X+BPB+z+DXDHgDHXDej76wH9bhi1TkmSJvgMqSRJ3Uq7rbU+UOO5Sf6rfcZzdbteaQGPAO7XN+RfgYXA/yZ5W5L9k2w54NBn04TWjyf5UJLnJXng2tYrSZKBVJKkbq1st2tMOjQD76S5bfdhwGeBd9DM3vtm4EfAxn39XwEcAdwMvJbmtt7rknwiyYMmOlXV14E/Bi4AltAsSXN5ku8nOXAMdUuS5qlUrfUfZCVJ0gwleTPwRuAjVfVXQ45ZSDOx0OlVdXDbdh/gGuC7wB5V9au+MT8AdqmqMEA7/gnAs2kmNLoC2G3A86ibAI+mmfH3cGAr4IlV9V/D1C5JUi+vkEqS1K3TaJ7jfGaSh03VsQ2Dk9mZ5rz+uQFhdId2/6Sq6udV9dGq+kuaK6EPBB4+oN9tVbWsqt4IvLxtfupUx5YkaTIGUkmSOlRVK2jWId0Y+GSSRYP6Jdmf5pbayaxot09IskHPuM2B99M3kWGSTZLsmyR97RsB27Rvb2nb/niSZ0v/X28/SZJG5Sy7kiR1rKremmRD4E3AN5IsA5YDN9GEvj2BB7dtkx3jZ0nOornl9ttJPgdsCTwRuBX4NvConiH3BP4LWJHkYppnTDdt+z8U+I+q+l7b90hgvyQXAle2de0GPAm4ATh1bX8HkqT5yWdIJUm6m0jyUOBvgL2BHWkC4i9owuQ5wJlVddugZ0jb8fcCjgIOoJkk6VrgP2ieUT0X2GviGdL2Sugr2s/aDbgP8CuaZ0eXAh+sqtvbvvsBBwKPoZmpd0OaZWo+C7yjqn40C78OSdI8YCCVJEmSJHXCZ0glSZIkSZ0wkEqSJEmSOmEglSRJkiR1wkAqSZIkSeqEgVSSJEmS1AkDqSRJkiSpEwZSSZIkSVInDKSSJEmSpE4YSCVJkiRJnTCQSpIkSZI68f8BNvgqEuo/PbUAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "train_cases = pd.DataFrame(train)\n", + "test_cases = pd.DataFrame(test)\n", + "val_cases = pd.DataFrame(val)\n", + "\n", + "train_cases = train_cases[1].value_counts()\n", + "test_cases = test_cases[1].value_counts()\n", + "val_cases = val_cases[1].value_counts()\n", + "\n", + "labels = ['PNEUMONIA', 'NORMAL']\n", + "\n", + "index = np.arange(len(labels))\n", + "bar_width = 0.25\n", + "opacity = 0.9\n", + "\n", + "fig, ax = plt.subplots(figsize = (15, 10))\n", + "\n", + "train_bar = ax.bar(index - bar_width, train_cases, bar_width,\n", + " alpha=opacity, color='b',\n", + " label='Training Set')\n", + "\n", + "test_bar = ax.bar(index, test_cases, bar_width,\n", + " alpha=opacity, color='r', tick_label = ('Pneumonia', 'Normal'),\n", + " label='Testing Set')\n", + "\n", + "val_bar = ax.bar(index + bar_width, val_cases, bar_width,\n", + " alpha=opacity, color='g', tick_label = ('Pneumonia', 'Normal'),\n", + " label='Validation Set')\n", + "\n", + "\n", + "plt.xlabel('Class', fontsize = 20)\n", + "plt.ylabel('Number of Images', fontsize = 20)\n", + "plt.yticks(fontsize = 20)\n", + "plt.title('Total Images per set', fontsize = 20)\n", + "plt.xticks(index + 0.3 * bar_width, fontsize = 20)\n", + "plt.legend(fontsize = 20)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "def percentage(image_set):\n", + " for l, i in zip(labels, list(image_set)):\n", + " num = (int(i) / sum(list(image_set)))\n", + " print(l,' images make up ',round(num * 100),'% of the set')" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 74 % of the set\n", + "NORMAL images make up 26 % of the set\n" + ] + } + ], + "source": [ + "percentage(train_cases)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 62 % of the set\n", + "NORMAL images make up 38 % of the set\n" + ] + } + ], + "source": [ + "percentage(test_cases)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 50 % of the set\n", + "NORMAL images make up 50 % of the set\n" + ] + } + ], + "source": [ + "percentage(val_cases)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### As you can see, the dataset provided is quite unbalanced, in order to combat this problem I will use the ImageDataGenerator model which I will describe later." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Below, you can see that the images are stored within the training dataset and with the appropiate label." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'NORMAL')" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "f, ax = plt.subplots(1, 2, figsize = (15,15))\n", + "ax[0].imshow(train[1][0], cmap = 'gray')\n", + "ax[0].set_title(labels[train[1][1]])\n", + "ax[1].imshow(train[5000][0], cmap = 'gray')\n", + "ax[1].set_title(labels[train[5000][1]])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Preparing the image data for implementation into our CNN.\n", + "\n", + "#### Here, I extract the feature (the numpy array per image), and the label (the class of the image), and append the data into x and y sets. " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = []\n", + "y_train = []\n", + "\n", + "x_val = []\n", + "y_val = []\n", + "\n", + "x_test = []\n", + "y_test = []\n", + "\n", + "for feature, label in train:\n", + " x_train.append(feature)\n", + " y_train.append(label)\n", + "\n", + "for feature, label in test:\n", + " x_test.append(feature)\n", + " y_test.append(label)\n", + " \n", + "for feature, label in val:\n", + " x_val.append(feature)\n", + " y_val.append(label)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[19, 27, 30, ..., 16, 9, 2],\n", + " [24, 26, 34, ..., 17, 11, 4],\n", + " [22, 30, 39, ..., 19, 11, 4],\n", + " ...,\n", + " [10, 8, 7, ..., 15, 15, 15],\n", + " [10, 8, 7, ..., 15, 15, 15],\n", + " [10, 10, 7, ..., 15, 15, 15]], dtype=uint8)" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5216" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(x_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reducing the Colour Data Down to Grayscale (0 - 1) instead of (0 - 255)\n", + "\n", + "#### This significantly reduces the amount of information that the neural network needs to process, thereby reducing the amount of data that's needed to be allocated to memory and reducing the computation time." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = np.array(x_train) / 255\n", + "x_val = np.array(x_val) / 255\n", + "x_test = np.array(x_test) / 255" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5216, 128, 128)" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here I reshape the data into a 4D array. This is because the image is composed of height, width, number of channels and the number of images. This helps feed the image information into the CNN in the form of a long array of pixel values." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "img_size = 128" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = x_train.reshape(-1, img_size, img_size, 1)\n", + "y_train = np.array(y_train)\n", + "\n", + "x_val = x_val.reshape(-1, img_size, img_size, 1)\n", + "y_val = np.array(y_val)\n", + "\n", + "x_test = x_test.reshape(-1, img_size, img_size, 1)\n", + "y_test = np.array(y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(5216, 128, 128, 1)\n" + ] + } + ], + "source": [ + "print(x_train.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### ImageDataGenerator\n", + "\n", + "#### This parameter can be used to generate more data from our dataset by feeding in images and manipulating them by flipping their horizontal axis or rotating them. This serves as a way to artificially increase the size of our dataset. This is applied to both the Training Data and Validation Data." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "datagen = ImageDataGenerator(horizontal_flip = True,\n", + " rotation_range = 5,\n", + " zoom_range = 0.1,\n", + " width_shift_range = 0.2,\n", + " height_shift_range = 0.2,)" + ] + }, + { + "attachments": { + "example.jpg": { + "image/jpeg": "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MDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNS0yM1QwOToxMzozNCswMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDUtMjNUMDk6MTQ6NDcrMDI6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjEiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJEb3QgR2FpbiAyMCUiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyYjE0ZDAyNi1mMDcyLTgyNDgtOGE5NC1kNWNmODEzYjE2Y2QiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowN2ExOWE4Zi05Y2M1LTExZWEtYTk4Zi1hMTczYTg4NWYxOWYiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTNjNTVhNC04NzFkLTVmNDYtYTk4Zi1kYTViMzg4YjZmYzUiPiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT4wMjQ3NkE3MEY1MEMyQzU4QTM2RERCNDUxMDNGRThEMDwvcmRmOmxpPiA8cmRmOmxpPjNBREZENTdGRjhBREM1RkNCRUVENTEzNDY0NzJFMzFFPC9yZGY6bGk+IDxyZGY6bGk+NEEzQUI5QUNFN0ZCOTAyMUNDMUVFMDI2RkVBMEZBQjE8L3JkZjpsaT4gPHJkZjpsaT5CNTMyNDNENDUyQUEyQTVCNjEzRjQyN0ZEQzVGREYxMDwvcmRmOmxpPiA8cmRmOmxpPkQ4MUM4MDgxQjQxRjc5NjY0RTFGMjk1NEJBRURGOUFEPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjUzYzU1YTQtODcxZC01ZjQ2LWE5OGYtZGE1YjM4OGI2ZmM1IiBzdEV2dDp3aGVuPSIyMDIwLTA1LTIzVDA5OjEzOjM0KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjRkYjgwYTg4LTAwNzMtOTM0Ny04ZGUwLTg5ZDliNGFiNGUzOCIgc3RFdnQ6d2hlbj0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJiMTRkMDI2LWYwNzItODI0OC04YTk0LWQ1Y2Y4MTNiMTZjZCIgc3RFdnQ6d2hlbj0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ZGI4MGE4OC0wMDczLTkzNDctOGRlMC04OWQ5YjRhYjRlMzgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkNGNkZDVlNC05Y2M0LTExZWEtOTA3ZC1mOGE5M2FiMGUwYWEiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTNjNTVhNC04NzFkLTVmNDYtYTk4Zi1kYTViMzg4YjZmYzUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iA6BJQ0NfUFJPRklMRQABAQAAA5BBREJFAhAAAHBydHJHUkFZWFlaIAfPAAYAAwAAAAAAAGFjc3BBUFBMAAAAAG5vbmUAAAAAAAAAAAAAAAAAAAABAAD21gABAAAAANMtQURC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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![example.jpg](attachment:example.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## CNN Model" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Image(url = 'https://miro.medium.com/max/2510/1*XbuW8WuRrAY5pC4t-9DZAQ.jpeg')" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "cnn3 = Sequential()\n", + "\n", + "#Convolution - \"Relu\" is the activation function.\n", + "cnn3.add(Conv2D(32, (3, 3), activation=\"relu\", input_shape=(128, 128, 1)))\n", + "\n", + "#Pooling - This reduces the spatial dimensions of the output volume.\n", + "cnn3.add(MaxPooling2D(pool_size = (2, 2)))\n", + "\n", + "# 2nd Convolution - This increases the number of filters to improve filtering\n", + "cnn3.add(Conv2D(32, (3, 3), activation=\"relu\"))\n", + "\n", + "# 2nd Pooling layer - this reduces the spaital dimensions again.\n", + "cnn3.add(MaxPooling2D(pool_size = (2, 2)))\n", + "\n", + "# Flatten the layer - converts the pooled layer into a 1D vector. \n", + "cnn3.add(Flatten())\n", + "\n", + "# Density\n", + "cnn3.add(Dense(activation = 'relu', units = 2048, kernel_initializer = 'uniform'))\n", + "cnn3.add(Dense(activation = 'relu', units = 1024, kernel_initializer = 'uniform'))\n", + "cnn3.add(Dense(activation = 'relu', units = 512, kernel_initializer = 'uniform'))\n", + "cnn3.add(Dense(activation = 'relu', units = 265, kernel_initializer = 'uniform'))\n", + "cnn3.add(Dense(activation = 'sigmoid', units = 1, kernel_initializer = 'uniform'))\n", + "\n", + "# Compile \n", + "cnn3.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential_1\"\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "conv2d_1 (Conv2D) (None, 126, 126, 32) 320 \n", + "_________________________________________________________________\n", + "max_pooling2d_1 (MaxPooling2 (None, 63, 63, 32) 0 \n", + "_________________________________________________________________\n", + "conv2d_2 (Conv2D) (None, 61, 61, 32) 9248 \n", + "_________________________________________________________________\n", + "max_pooling2d_2 (MaxPooling2 (None, 30, 30, 32) 0 \n", + "_________________________________________________________________\n", + "flatten_1 (Flatten) (None, 28800) 0 \n", + "_________________________________________________________________\n", + "dense_1 (Dense) (None, 2048) 58984448 \n", + "_________________________________________________________________\n", + "dense_2 (Dense) (None, 1024) 2098176 \n", + "_________________________________________________________________\n", + "dense_3 (Dense) (None, 512) 524800 \n", + "_________________________________________________________________\n", + "dense_4 (Dense) (None, 265) 135945 \n", + "_________________________________________________________________\n", + "dense_5 (Dense) (None, 1) 266 \n", + "=================================================================\n", + "Total params: 61,753,203\n", + "Trainable params: 61,753,203\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "cnn3.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/15\n", + "105/105 [==============================] - 88s 842ms/step - loss: 0.5521 - accuracy: 0.7368 - val_loss: 0.6071 - val_accuracy: 0.5000\n", + "Epoch 2/15\n", + "105/105 [==============================] - 88s 836ms/step - loss: 0.3909 - accuracy: 0.8221 - val_loss: 2.2868 - val_accuracy: 0.5625\n", + "Epoch 3/15\n", + "105/105 [==============================] - 90s 853ms/step - loss: 0.2886 - accuracy: 0.8744 - val_loss: 0.9091 - val_accuracy: 0.6875\n", + "Epoch 4/15\n", + "105/105 [==============================] - 89s 847ms/step - loss: 0.2616 - accuracy: 0.8938 - val_loss: 1.1763 - val_accuracy: 0.5000\n", + "Epoch 5/15\n", + "105/105 [==============================] - 88s 838ms/step - loss: 0.2541 - accuracy: 0.9013 - val_loss: 0.6829 - val_accuracy: 0.8125\n", + "Epoch 6/15\n", + "105/105 [==============================] - 88s 838ms/step - loss: 0.2237 - accuracy: 0.9103 - val_loss: 0.7662 - val_accuracy: 0.6875\n", + "Epoch 7/15\n", + "105/105 [==============================] - 88s 839ms/step - loss: 0.2155 - accuracy: 0.9124 - val_loss: 0.6787 - val_accuracy: 0.7500\n", + "Epoch 8/15\n", + "105/105 [==============================] - 88s 838ms/step - loss: 0.1938 - accuracy: 0.9220 - val_loss: 1.1244 - val_accuracy: 0.6875\n", + "Epoch 9/15\n", + "105/105 [==============================] - 90s 862ms/step - loss: 0.1865 - accuracy: 0.9266 - val_loss: 0.4439 - val_accuracy: 0.8125\n", + "Epoch 10/15\n", + "105/105 [==============================] - 95s 908ms/step - loss: 0.1826 - accuracy: 0.9273 - val_loss: 0.9803 - val_accuracy: 0.6875\n", + "Epoch 11/15\n", + "105/105 [==============================] - 98s 931ms/step - loss: 0.1833 - accuracy: 0.9266 - val_loss: 1.5606 - val_accuracy: 0.6875\n", + "Epoch 12/15\n", + "105/105 [==============================] - 95s 906ms/step - loss: 0.1632 - accuracy: 0.9400 - val_loss: 0.8265 - val_accuracy: 0.8125\n", + "Epoch 13/15\n", + "105/105 [==============================] - 93s 882ms/step - loss: 0.1606 - accuracy: 0.9410 - val_loss: 1.1956 - val_accuracy: 0.8125\n", + "Epoch 14/15\n", + "105/105 [==============================] - 98s 931ms/step - loss: 0.1653 - accuracy: 0.9337 - val_loss: 0.6372 - val_accuracy: 0.8750\n", + "Epoch 15/15\n", + "105/105 [==============================] - 94s 894ms/step - loss: 0.1631 - accuracy: 0.9325 - val_loss: 0.8590 - val_accuracy: 0.6875\n" + ] + } + ], + "source": [ + "history = cnn3.fit(datagen.flow(x_train, y_train, batch_size = 50), epochs = 15,\n", + " validation_data = datagen.flow(x_val, y_val))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The accuracy of the model is 85% which is good. " + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "624/624 [==============================] - 2s 3ms/step\n", + "Loss of the model is - 43.64368491209088 %\n", + "624/624 [==============================] - 2s 3ms/step\n", + "Accuracy of the model is - 85.41666865348816 %\n" + ] + } + ], + "source": [ + "print(\"Loss of the model is - \" , cnn3.evaluate(x_test,y_test)[0]*100 , \"%\")\n", + "print(\"Accuracy of the model is - \" , cnn3.evaluate(x_test,y_test)[1]*100 , \"%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The training accuracy is higher than the validation accuracy which suggests there may be some over fitting happening. However, I have fine tuned the CNN and this is one of the highest results I obtained for the validation accuracy. With more validation data, I could improve this further." + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training_accuracy 0.9325153\n", + "validation_accuracy 0.6875\n" + ] + } + ], + "source": [ + "print(\"training_accuracy\", cnn3.history.history['accuracy'][-1])\n", + "print(\"validation_accuracy\", cnn3.history.history['val_accuracy'][-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1,\n", + " 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,\n", + " 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1,\n", + " 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1,\n", + " 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0,\n", + " 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n", + " 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1,\n", + " 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1,\n", + " 0, 1, 1, 1, 0, 1, 1, 0])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predictions = cnn3.predict_classes(x_test)\n", + "predictions = predictions.reshape(1,-1)[0]\n", + "predictions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Our CNN model was able to predict 533 images correctly, and failed to predict 91 images." + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of correct predictions: 533\n", + "Number of incorrect predictions: 91\n" + ] + } + ], + "source": [ + "correct_class = []\n", + "incorrect_class = []\n", + "correct = []\n", + "incorrect = []\n", + "\n", + "for i, y in (zip(predictions, y_test)):\n", + " \n", + " if i == y:\n", + " correct.append(1)\n", + " correct_class.append(i)\n", + " \n", + " elif i != y:\n", + " incorrect.append(1)\n", + " incorrect_class.append(y)\n", + " \n", + "print('Number of correct predictions:', sum(correct))\n", + "print('Number of incorrect predictions:', sum(incorrect))" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of Pneumonia Cases correctly guessed: 381\n", + "Number of Normal Cases correctly guessed: 152\n", + "Number of Pneumonia Cases incorrectly guessed: 9\n", + "Number of Normal Cases incorrectly guessed: 82\n" + ] + } + ], + "source": [ + "corr = Counter(correct_class)\n", + "incorr = Counter(incorrect_class)\n", + "corr = list(corr.values())\n", + "incorr = list(incorr.values())\n", + "print('Number of Pneumonia Cases correctly guessed:', corr[0])\n", + "print('Number of Normal Cases correctly guessed:', corr[1])\n", + "print('Number of Pneumonia Cases incorrectly guessed:', incorr[0])\n", + "print('Number of Normal Cases incorrectly guessed:', incorr[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below I have visualized the training/validation loss and accuracy over the Epochs. As the number of Epoch's increases, the accuracy improves before plataeuing at around the 4th epoch. Similarly, the training losses decrease at a similar rate.\n", + "\n", + "### The osscilations of the validation loss and validation accuracy are likely due to the size of the validation set. Increasing the number of images in the validation set would likely reduce the size of the ossilations." + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "model = load_model('cnn3_model_attempt5_normalimages_FINAL 20.05.2020.model')\n", + "history = model.load_weights('cnn3_model_attempt5_normalimages_weights_FINAL 20.05.2020.h5')" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkjARERGRCCgJExEREYmAkrAEOPgbv8mxO/456jBERESkiZSExZyrVDh6660cu/32qEMRERGRJlISFnPe+DgAlVcORhyJiIiINJOSsJjzRov1/75yKOJIREREpJmUhMWcVxwFoPLKKzjnIo5GREREmkVJWMxVx8YAcOUytYmJiKMRERGRZlESFnPBdiTUV8NERERkdVASFnNecUESdlDF+SIiIquFkrCY84pFUt3d9T9rJUxERGTVUBIWc9VikfbXvx4yGSoHlYSJiIisFkrCYs4rFslsGiC7aZN6hYmIiKwiSsJizisWyfQPkCkU8LQSJiIismooCYux2swMtakpMv39ZPN5nY4UERFZRZSExZhXrPcIy/T3ky3k8V55BVerRRyViIiINIOSsBir+t3yM/19ZPIFXKVC1Z8lKSIiIsmmJCzGgh5haX8lDNAJSRERkVVCSViMBUlYpn+ATN5PwnRCUkREZFXIRB2ALM4rjoEZmY29WCZdf0wrYSIiIquCVsJizCuOkt6wActmSW/ciLW16YSkiIjIKqEkLMbqPcL6ATAzMvk8nrYjRUREVgUlYTFWHS2SGeif/zybz6swX0REZJVQEhZj3tgY6f4FSVhBDVtFRERWCyVhMeWcq29H9r2ahGXyBbzDh3HVaoSRiYiISDMoCYupWqmEm5mZrwmD+koY1Sre6GiEkYmIiEgzKAmLqSDRWlgTNt8r7KCK80VERJJOSVhMVcdenRsZyBYKAHiqCxMREUk8JWExNT+yqO/405Gg0UUiIiKrgZKwmPJG/ZFFC7YjU+vWYZ2dGl0kIiKyCigJiymvWIR0mvSGDfOPmRnZfF6ji0RERFYBJWEx5Y0VyfT1Yanj/4qyefUKExERWQ2UhMVUdbRIur/vNY9nCnltR4qIiKwCSsJiauHcyIWy+QLV4hhubi6CqERERKRZlITFVD0JG3jN49lCHpyjclgNW0VERJJMSVgMuVoNb2zspCthmXzQK0xbkiIiIkmmJCyGqhMT4HlkTlITli2oV5iIiMhqoCQshqp+o9aT14T5SZhWwkRERBJNSVgMzXfLP0kSlurqIrVu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OeH9xpg6w9DJglJ5sLxBbviozmM8eN1ePMaDxRKwAYI2SMAGCAQDDf55p+PWHrfymwt/06ifYYxZZa3NrGubesJERETq4TIu2sW2o11sO/q3619re/Xr0Q6VHKoRLgI2EA4cFcGKOrcFgpXbbcVp7Vd9W0Wwos7PCdogUe4ovK7QtYNR7ihivbFEuaLCd7x63d7w9vC6yn2rv8/j8oTXnbit6r1eV81jRrmj8BjPKe9UtdbWW3/1r/3EdVWvT2yX8D5V+5/YdtXWd2rZqZH+5Hw7CmERbPz48SxfvrzGuokTJzJ27FiHKhIRkepOdT2anJoxBo8JxZGzbToxhbAINn36dKdLEBERkUaiidBEREREHKAQJiIiIuIAhTARERERByiEiYiIiDhAIcwBcXH1T4mxY8cO+vTpcwarERERESc0u7sj9z75JKUbNzXoMaNTe9H+V79q0GOKiIjI2U09YQ1g8uTJvPDCC+HXjz76KI899hgjRoygf//+9O3bl/nz55/2cUtKShg7dix9+/YlIyODxYsXA7B+/XoGDhxIeno6aWlpbN26lWPHjnH11VfTr18/+vTpw+uvv95gX5+IiIg0vGbXE+ZEj9Xo0aN54IEHuO+++wCYO3cu7733HpMmTaJFixYcOHCAwYMHc911153WXGFV44R9+eWXbNq0icsvv5wtW7bw4osvMnHiRG6//XbKysoIBAIsWLCADh068O677wKhicNFREQkcqknrAFkZGSwf/9+du/ezZo1a0hISCApKYlf/epXpKWlcemll7Jr1y727dt3WsddtmwZP/nJTwDo1asX5513Hlu2bOHCCy/kySef5Pe//z07d+7E5/PRt29fPvroIyZPnswnn3xCy5bOTUgqIiIip6YQ1kBGjRrFG2+8weuvv87o0aOZM2cOeXl5rFq1itWrV9OuXTtKSkpO65j1Ta5+22238fbbb+Pz+bjiiitYtGgRPXr0YNWqVfTt25eHHnqIxx9/vCG+LBEREWkkze50pFNGjx7N3XffzYEDB/j444+ZO3cubdu2xev1snjxYnbu3Hnaxxw6dChz5szhhz/8IVu2bOGbb76hZ8+ebN++nS5dujBhwgS2b9/O2rVr6dWrF61bt+aOO+4gLi6OmTNnNvwXKSIiIg1GIayB9O7dm4KCApKTk0lKSuL222/n2muvJTMzk/T0dHr1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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "plt.plot(cnn3.history.history['accuracy'], label = \"train_acc\")\n", + "plt.plot(cnn3.history.history['val_accuracy'], label = \"validation_acc\")\n", + "plt.plot(cnn3.history.history['loss'], label = \"train_loss\")\n", + "plt.plot(cnn3.history.history['val_loss'], label = \"val_loss\")\n", + "plt.title('Training Loss and Accuracy on Dataset')\n", + "plt.ylabel('Loss / Accuracy')\n", + "plt.xlabel('Epoch #')\n", + "plt.legend(loc='lower left')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + "Pneumonia (Class 0) 0.82 0.98 0.89 390\n", + " Normal (Class 1) 0.94 0.65 0.77 234\n", + "\n", + " accuracy 0.85 624\n", + " macro avg 0.88 0.81 0.83 624\n", + " weighted avg 0.87 0.85 0.85 624\n", + "\n" + ] + } + ], + "source": [ + "print(classification_report(y_test, predictions, target_names = ['Pneumonia (Class 0)','Normal (Class 1)']))" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[381, 9],\n", + " [ 82, 152]], dtype=int64)" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm = confusion_matrix(y_test,predictions)\n", + "cm" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "cm_df = pd.DataFrame(cm , index = ['0','1'] , columns = ['0','1'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The confusion matrix below illustrates the distribution of the predictions between Pneumonia and Normal and wherever the results are True Positives etc. As you can see, the the CNN is able to differentiate between Normal and Pneumonia images fairly well. " + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAI/CAYAAABqEO2SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAZ6klEQVR4nO3de/TldV3v8dd7ZrgMcjVRIxIEBJNrgkqmRzBTEYpENAs9HZTFSQ1d2kUtzcpjKYXHlFw66lE0lxdCQHFheFypJKGgkqNhkjdUCITD/c7M5/wxe/AHwcxbYM9v/37zeKy112/v7769hzVr8/x99vf7nRpjBACAdVsy3wMAACwEogkAoEE0AQA0iCYAgAbRBADQIJoAABqWbYD3cE4DAGChqHu6w0oTAECDaAIAaNgQX8/dYfnDfmtDvh2wyNx08Yfu4Z5vbdA5gMVm99ajrDQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANookNZrPNNsnZH399vvipN+bL//ev85pXHJkkOeiX98w5n/zLnHvmX+Uzp7wuu+z0kCTJLz/2kTnnk3+Z677z93nmMx47n6MDC9RJJ308hx32khx66IvzvvedPt/jsMCJJjaYW265LU9/7v/K457+qjzu6a/KU5+0bx77i7vlrW94YY5+2Yk58JBX5yOnnZNXvfSZSZIfXHJFjv39d+Qjp39hnicHFqJvfev7Ofnkf8zJJ5+Q009/Wz772fPyve9dMt9jsYCJJjaoG268JUmyybKlWbZsacYYGWNk6y2XJ0m23nqLXHrZVUmSi394Rb7+zYuzevWYt3mBhevb3/5B9t13jyxfvnmWLVuaxzxmr3z60/8y32OxgC2b7wHYuCxZUjnnk3+ZXXd+aN75/rNy3gXfzotfuSKnnvTK3Hzzrbn2+pvypMP/dL7HBBaB3XffKW95ywdy1VXXZvPNN83nP39+9trrEfM9FgtYa6Wpqg6sqvOq6vqqurWqVlXVtdMejsVn9eqRAw95dXZ73EtywL675lG775jjXviMPPN33pTdHvd7+cBHP5c3vfZ58z0msAjsuuvP55hjnpUXvOC1OeaYP8seezw8S5f6goV7r/u358Qkv5XkoiTLkxyT5G339OCqOraqzq+q81esWHHfp2TRuebaG/P5cy/M0w7eL3s/aqecd8G3kyT/8Il/yYEH7D7P0wGLxbOf/dSceurf5oMffGO23Xar7LTTDvM9EgtYO7nHGP+RZOkYY9UY471JDl7HY1eMMQ4YYxxw7LHH3h9zsgg86IFbZZutt0iSbL7ZJnnyE/bKN//jR9l6qy2y28MfmiR58hP3zr9f9KP5HBNYRK688uokySWXXJ6zzjonhx32pHmeiIWsu0/TjVW1aZILqur4JJcmecD0xmIxeuiDt8u73vyiLF26JEuWVE4549yc+Zmv5iWvXJEPvfPlWb165Oprbsj//MN3Jkn232eXfORdr8i22zwgz3jKo/OaVzw7+z/lD+f5TwEsJMcd91e5+urrsmzZ0rzudS/KNttsOd8jsYDVGOs/MqmqdkpyeZJNkrw8yTZJ3j5ZfVqfO95g+cN+616OCZDcdPGH7uGeb23QOYDF5k67hdQ9Paq10jTG+P7k6k1J/vzeDwUAsDCtM5qq6qNjjOdU1crMWTFaa4yxz9QmAwCYIetbaXrZ5Odh0x4EAGCWrTOaxhiXTn5+f12PAwBY7Lontzyiqi6qqmuq6tqqus7JLQGAjUn3lAPHJ/m1McaF0xwGAGBWdU9ueZlgAgA2Zt2VpvOr6iNJTktyy9qNY4yPTWUqAIAZ042mrZPcmOSpc7aNJKIJANgodE9uefS0BwEAmGXdo+d2rKpTq+ryqrqsqk6pqh2nPRwAwKzo7gj+3iQfT7JDkp9L8onJNgCAjUI3mrYfY7x3jHH75PK+JNtPcS4AgJnSjaYrqup5VbV0cnlekiunORgAwCzpRtMLkjwnyX8muTTJkZNtAAAbhe7Rcxcn+fUpzwIAMLNa0VRVD09yXJKd5z5njCGkAICNQvfklqcleU/WHDW3enrjAADMpm403TzGeOtUJwEAmGHdaPrbqnpdkrNy53977itTmQoAYMZ0o2nvJM9P8uT85Ou5MbkNALDodaPpmUl2GWPcOs1hAABmVfc8Tf+aZNtpDgIAMMu6K00PSfLNqjovd96nySkHAICNQjeaXjfVKQAAZlz3jOCfm/YgAACzrHtG8Ouy5mi5JNk0ySZJbhhjbD2twQAAZkl3pWmruber6jeSPHYqEwEAzKDu0XN3MsY4Lc7RBABsRLpfzx0x5+aSJAfkJ1/XAQAset2j535tzvXbk3wvyeH3+zQAADOqu0/T0dMeBABglrX2aaqq3avqM1X19cntfarqNdMdDQBgdnR3BH9XklcnuS1JxhhfS/LcaQ0FADBrutG0xRjjS3fZdvv9PQwAwKzqRtMVVbVrJkfMVdWRSS6d2lQAADOme/TcS5KsSPLIqvpRku8med7UpgIAmDHdo+e+k+QpVfWAJEvGGNdNdywAgNnSPbnlZkmelWTnJMuqKkkyxviLqU0GADBDul/PnZ7kmiRfTnLL9MYBAJhN3WjacYzx9KlOAgAww7pHz51TVXtPdRIAgBnWXWl6QpKjq+o7WfP1XCUZY4x9pjYZAMAM6UbTIVOdAgBgxq0zmqpq8yS/m2S3JCuTvGeM4UzgAMBGZ337NJ2U5ICsCaZDkpww9YkAAGbQ+r6ee9QYY+8kqar3JLnrvz8HALBRWN9K021rr/haDgDYmK1vpWnfqrp2cr2SLJ/cXnv03NZTnQ4AYEasM5rGGEs31CAAALOse3JLAICNmmgCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0FBjjGm/x9TfAADgflL3dIeVJgCABtEEANAgmgAAGkQTAECDaAIAaFi2Id/sm1efsSHfDlhkHrntYXe7/U/O/8wGngRYTN5wwK+0HmelCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaFg23wOw8Tr9Q5/Lp0//YqoqO+360Lz0tc/N297wkfzHhT/MsmVL84hH/Xxe/OpnZ9mypfM9KjDDzl/xgVz61ZXZbOut8tQ3vTZJ8o1Tzsh3/+kL2WyrrZIke/3mr+dn99srl628MCs/fFpW374qS5YtzT6/fUQevOce8zk+C4hoYl5cefk1OeMj/5wTP/xH2WzzTXL8H78/Z3/6q3nS0/bPK/78qCTJCa/9+3z69C/mkGc9fp6nBWbZTk88MLv+6pNy3jtOutP2Rxzy5Oxx6K/eadumW22ZX/6DF2X5dtvmmh9ckrPf9LYcduJfbchxWcBEE/Nm1apVufWW27Js2ZLccvOteeCDtskvHviT3/gesefDcsXlV8/jhMBCsP0vPCI3/PjK1mO32/nn77i+9Y4/m9W33Z5Vt92WpZtsMq3xWETWGU1VdcS67h9jfOz+HYeNxc88eJs886iDcszhr8+mm22S/R63+52C6fbbV+WzZ345x7z8N+ZxSmAh+/ZZn8vFZ38x2+2yU/Y56lnZ9AFb3On+H33pq9l2px0FE23rW2n6tXXcN5KIJu6V66+9MV/8/Dey4tQ/yQO2Wp7jX31SPnvml3PQIfsnSd5x/CnZc79dsucv7jLPkwIL0a5P+W951DOfkST5xj98Il/74Ck54Njn33H/NT+8JCs/fFqe+Krj5mtEFqB1RtMY4+h786JVdWySY5Pkne98Z4499th78zIsYv963kV5yA4PzDbbbZkkOfDgffLNld/LQYfsnw+/+x9z7VXX58Vv+h/zOySwYG2+zdZ3XH/4wU/IF/7m7XfcvvHKq/Iv/3tFHvO7v5MtH7L9fIzHAtXep6mqDk2yZ5LN124bY/zF3T12jLEiyYq1N+/LgCxOD3rItvn3r38/t9x8azbdbJN87byLstsv7JizTj83Xzn33/P6E1+UJUucEQO4d2666pos326bJMmPzr8gW++4Q5Lk1htuzBf+5u3Z6zcPz4P22HU+R2QBakVTVb0jyRZJDk7y7iRHJvnSFOdikdtjr53y+Cfvk5f/9zdn6dKl2WX3n8vTfuOX8pyDXp0HP3S7vPKYtyZJDjxo7zz3mKfO87TALPviif8nP77wW7nluuvzyd/74zzqyEPz43+7KFd//4epSrbY/mfy6Bf8dpI1+zldf9mPc+GpZ+bCU89MkjzxVcdl8222ms8/AgtEjbH+haCq+toYY585P7dM8rExRuf/Zne8wTevPuM+jAps7B657WF3u/1Pzv/MBp4EWEzecMCvzL1Z9/S47vcfN01+3lhVOyS5LcnD791oAAALT3efpjOqatskf53kK1mzevTuqU0FADBjWtE0xnj95OopVXVGks3HGNdMbywAgNnS3RF8aZJDk+y89jlVlTHGm6c3GgDA7Oh+PfeJJDcnWZlk9fTGAQCYTd1o2nGMsc9UJwEAmGHdo+fOrConywEANlrdlaZzk5xaVUuy5nQDlWSMMbZe99MAABaHbjSdkOSXkqwcnbNhAgAsMt2v5y5K8nXBBABsrLorTZcm+WxVnZnklrUbnXIAANhYdKPpu5PLppMLAMBGZb3RNDmx5ZZjjD/cAPMAAMyk9e7TNMZYleTRG2AWAICZ1f167oKq+niSk5PcsHbjGONjU5kKAGDGdKPpgUmuTPLkOdtGEtEEAGwUWtE0xjh62oMAAMyy1nmaqmrHqjq1qi6vqsuq6pSq2nHawwEAzIruyS3fm+TjSXZI8nNJPjHZBgCwUehG0/ZjjPeOMW6fXN6XZPspzgUAMFO60XRFVT2vqpZOLs/Lmh3DAQA2Ct1oekGS5yT5z6z5J1WOnGwDANgodI+euzjJr095FgCAmbXOaKqqP13H3WOM8fr7eR4AgJm0vpWmG+5m2wOSvDDJzyQRTQDARmGd0TTGOGHt9araKsnLkhyd5MNJTrin5wEALDbr3aepqh6Y5BVJjkpyUpJHjzGumvZgAACzZH37NP11kiOSrEiy9xjj+g0yFQDAjFnfKQd+P2vOAv6aJJdU1bWTy3VVde30xwMAmA3r26epex4nAIBFTRQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAECDaAIAaBBNAAANogkAoEE0AQA0iCYAgAbRBADQIJoAABpEEwBAg2gCAGgQTQAADaIJAKBBNAEANIgmAIAG0QQA0CCaAAAaRBMAQINoAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANBQY4xpv8fU3wAA4H5S93SHlSYAgAbRBADQsGwDvMc9LnPBXVXVsWOMFfM9B7C4+Gzh/mCliVlz7HwPACxKPlu4z0QTAECDaAIAaBBNzBr7HADT4LOF+2xDnKcJAGDBs9IEANAgmlivqlpVVRdU1der6uSq2mK+Z+qoqh2q6h/mew7gvqmqUVUnzLn9B1X1Zxt4hvdV1ZEb8j2ZPaKJjpvGGPuNMfZKcmuS353vgTrGGJeMMXzIwcJ3S5IjqupB9+bJVbUhzknIRkA08dM6O8luVbVzVV1YVe+qqm9U1VlVtTxJqmrXqvpUVX25qs6uqkdOtt/pN7Wqun7y86Cq+lxVfbSqvlVVb6yqo6rqS1W1sqp2nTxup6r6TFV9bfLzYXNe961VdU5VfWfte0xm/Pqc62dX1Vcml8dv0P9qwH1xe9bsyP3yu96xns+FN1fVPyV5U1X9WVWdNPms+l5VHVFVx08+Yz5VVZtMnvenVXXeZGV9RVU5QTN3EE20TX5bOyTJysmmRyT5uzHGnkmuTvKsyfYVSY4bY+yf5A+SvL3x8vsmeVmSvZM8P8nuY4zHJnl3kuMmjzkxyfvHGPsk+WCSt855/s8meUKSw5K88W5e//IkvzrGeHSS37zLc4HZ93dJjqqqbe6yfV2fC7snecoY4/cnt3dNcmiSw5P8fZJ/GmPsneSmyfYkOXGM8ZjJyvryrPlMgSQb5p9RYeFbXlUXTK6fneQ9SXZI8t0xxtrtX06yc1VtmeTxSU6e8wvaZo33OG+McWmSVNW3k5w12b4yycGT67+U5IjJ9Q8kOX7O808bY6xO8m9V9ZC7ef1NkpxYVfslWZU1H6bAAjHGuLaq3p/kpVkTOWut63Ph5DHGqjm3zxxj3FZVK5MsTfKpyfaVSXaeXD+4qv4oyRZJHpjkG0k+cX/+WVi4RBMdN40x9pu7YRJEt8zZtCprfitbkuTquz5+4vbJ/ZkseW865765r7V6zu3Vuee/p3PPlzH3+Xe3nP7yJJdlzYrWkiQ338NrArPrLUm+kuS963jM3M+FG+5y3y1JMsZYXVW3jZ+cc2d1kmVVtXnWrIwfMMb4wWRn883vl8lZFHw9x/1qjHFtku9W1bOTNXFUVftO7v5ekv0n1w/PmtWfn8Y5SZ47uX5Ukn/+KZ67TZJLJ6tRz8+a3zKBBWSM8f+SfDTJC+dsvi+fC3e1NpCumKyaO5CEOxFNTMNRSV5YVf+aNUvbh0+2vyvJk6rqS0kel//6W+D6vDTJ0VX1tawJn5f9FM99e5Lfqapzs+aruZ/2vYHZcEKSuUfR3ZfPhTsZY1ydNZ9TK5OcluS8+zAni5AzggMANFhpAgBoEE0AAA2iCQCgQTQBADSIJgCABtEEANAgmgAAGkQTAEDD/wcLjHn11UquKQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "sns.heatmap(cm_df, linewidth = 5 , annot = True, fmt='d',\n", + " xticklabels = ['Pneumonia', 'Normal'],\n", + " yticklabels = ['Pneumonia', 'Normal'],\n", + " cbar = False, cmap = \"YlGnBu\")" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "cnn3.save('cnn3_model_attempt5_normalimages_FINAL 24.05.2020.model')\n", + "cnn3.save_weights('cnn3_model_attempt5_normalimages_weights_FINAL 24.05.2020.h5')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### I decided to experiment with altering the Test, Train, Validation ratios of the data in order to assess wherever this improves the accuracy of the model." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5216, 2)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(624, 2)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(16, 2)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "val.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As I am unable to increase the size of the test imageset, I have chosen to reduce the training dataset. " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "11.96319018404908" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "624 / 5216 * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "20.0" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "624 / 3120 * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2096" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "5216 - 3120" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "train = train[2096:]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(3120, 2)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 3875\n", + "1 1341\n", + "Name: 1, dtype: int64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_cases" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Kkv6Klu2bJb0k5V69OjBtm3beOKJJxg0aFCakemtW7eyd+/eMEWXfegdUhEREREROS3/e5pHjhyhZ8+eVKxYkYiICLp06QJ401Nff/11GjRoQFxcHBEREZQqVYqWLVuyYsWKNP2l9w7ps88+i5mxbNkyRo8ezbXXXku+fPkoXrw47dq1448//kg3tkBTpkzBzOjfvz9Llizh1ltvpXDhwhQsWJCbb76Z5cuXB73PzZs38+CDD1K8eHHy58/Ptddey2effZaiv1AsWLAAgCeffDLoNOlLL72Ua665Juhzefnll6lWrRr58+cnOjqaevXq8eWXX6ao16pVK+68804Aunfvjpklf5YtWxZSjNmBRkhFRERERCQkp06dolmzZqxZs4Zbb72VYsWKJY9Orly5khdffJGGDRty1113UbhwYTZs2MCkSZOYMmUK06ZNo379+iFf64033mDKlCncdddd3HTTTcyfP59Ro0axatUqli1bRu7cuUPqZ968efTs2ZOGDRvyyCOPsH79eiZMmEDDhg1ZtWpVitHVrVu3Urt2bbZv307jxo257rrr2LZtG+3bt+f222/P1LMqVqwYW7ZsYe3atVSsWDGkNrt27aJhw4asXr2aWrVq8cgjj3D8+HG++eYbWrZsSb9+/fjXv/4FwH333UdERARjxoyhSZMm1KlTJ7mfuOz+InQAJaQiIiIiIhKSI0eOcPDgQVatWpXmXdOaNWuyY8cOYmJiUpSvW7eO66+/nm7durF06dKQrzV9+nR++OEHKlWqBIBzjhYtWjBp0iS+/fZb7rjjjpD6mThxIuPHj6dVq1bJZQMGDODZZ59l6NChvPHGG8nl3bp1Y/v27bz88sv06tUrufyxxx6jbt26IccO0Lp1a3744Qfatm1L586dufnmm6lRo0aa5xOoc+fOrF69miFDhvD4448nlx8+fJjbb7+dnj17cs8991CpUiXuu+8+8ufPz5gxY7jlllsu2EWNNGVXRERERERC1q9fvzTJKEDRokWDJluXX345zZs3Z9myZezZsyfk63Tv3j05GQXvndN//OMfACxZsiTkfm699dYUyShAp06d0vRz8OBBvvzyS0qWLEn37t1T1L/hhhu49957Q74mwHPPPUfXrl05fPgw/fr1o3HjxhQtWpTLL788OfEMtHXrVr788ksaNmyYIhkFyJ8/P6+99hpJSUmMHTs2U3FkdxohzcEuoJF84eyXeBcRERHJCrVq1Ur33MyZMxk8eDBLlizhjz/+4MSJEynOb9++nWLFioV0nfj4+DRll112GQD79u0LOd5g/URHR1O4cOEU/axatYqTJ09y7bXXEhUVlaZN3bp1M5UM5sqVi4EDB/LCCy/w7bffsnjxYlasWMHixYsZNmwYH3zwAR9++CFt27YFYNGiRTjnOHHiRNCFp/78808AEhISQo7hQqCEVEREREREQuJfZCeYUaNG8dBDD1GwYEGaNGlC+fLlKVCgAGbGd999x8KFCzO1NUuwUdg8ebz0JSkp6az68fcV2M+BAwcAKFWqVND66ZWfTrFixWjTpg1t2rQBvJHYl156iQEDBvDoo4/StGlTihQpkjx6PH/+fObPn59uf4cOHTqjOLKrbJGQmlkroAFQHfgbEA2Mds49GKTuSKD9abqc4ZxrHNCmA/BhBvU7O+eGBblWPuBfwP1AWSARmAW86Jy7uP40ISIiIiJyGsFWi/Xr2bMn0dHRrFy5kgoVKqQ49+uvv7Jw4cJzHd5ZKVSoEAA7d+4Mej698syKjo6mf//+ye/ILlmyhFtuuYXChQsD0KtXL15++eUsudaFIFskpEBPvET0ELAVyGhDognAxnTOtQMqAN+kc34i8EOQ8jTrIptZJDANuNF3fhBwGXAv0NTMGjnnFmcQp4iIiIhIjnDy5Ek2bdpE/fr10ySjJ06cyPbJKEC1atXIkycPy5cv5+jRo2mm7c6bNy9Lr+cfaXbOAd57qgBz584NuQ//SsOZGTHObrLLokZdgUpAIaBzRhWdcxOcc31Sf4C3gFjgODAyneZB2zrngm3U8wxeMvo5cL1z7v+cc22AVkB+YISZZZfnJyIiIiISNnny5KF06dL873//Y/fu3cnlp06dokePHmzYsCGM0YUmOjqaFi1a8Mcff/Dmm2+mOLd48WLGjx+fqf769evHmjVrgp6bNm0aixYtIioqKvmd3HLlynH33Xcza9YsBg4cyKlTp9K0W7t2LVu2bEn+3v8+7ubNmzMVW3aSLUZInXMz/V9nNA3gNNoB+YCxzrndp6ucEfOC+Kfv2+ecc8m/Dc65iWY2F6iHN814ZpAuRERERERylK5du/Lss89yzTXXcM8995ArVy5mz57Nxo0buf322/nmm/QmMWYfAwYMYN68efTu3Zs5c+Zw3XXXsXXrVsaNG8edd97JhAkTyJUrtDGpDz74gOeff56qVatSq1YtLrnkEg4ePMhPP/3EnDlzABg8eHCKlYnff/99NmzYQLdu3Rg+fDh16tShePHibN++nf/973+sWLGCyZMnJy/u9Le//Y1ixYrx4YcfkpSUROnSpTEzOnbsSGxsbNY/oHMgWySkWeQR3/E/GdSpbmZPA1HANmCmc25rkHqXA2WAtc65YH/O+QYvIW2EElIREREREZ555hkKFizIkCFDGDFiBAUKFKBhw4aMGzeO999//4JISMuUKcOiRYvo0aMH3377LfPmzaNy5cp89NFHHDlyhAkTJiS/a3o6Y8aMYerUqcycOZPp06ezY8cOzIxLL72Udu3a8fjjj6dZsbhYsWIsXLiQd955h88++4xx48Zx/PhxSpUqxZVXXsngwYNT7IcaGRnJhAkTeOGFF/j00085ePAgALfddtsFk5Caf85ydmFmDfGSvKCLGqXTpjawAC+BvDLI+Q4EX9QoCRgOPO2cOxpQvykwBZjinLszSH+tgPHAOOdc69PFFx8f75YtCzYrOLy07cuFRdu+iIiIZI2EhASuvvrqcIchF5innnqKt99+m3nz5nHjjTeGO5xsI9R/T2a23DmXZg+ei+UdyE6+4/vpnN8APAFcCRQA4oD78BZHehQYkap+Yd/xQDr9+cuDryEtIiIiIiIXpO1BRgGWLl3Kf/7zH+Li4rj++uvDENXF64KfsmtmhfGSy3QXM3LOzQZmBxQdBsab2SLgR+ABM/u3c+7HUC/r7zqDuDrhS5TLlCkTYrciIiIiIhJOV199NTVr1qRKlSpERUWxZs2a5OnGQ4cOTd4LVbLGxTBC+iDeqrdfZnYxI+fcFmCq79v6Aaf8I6CFCa5QqnrB+v6Pcy7eORdfokSJzIQlIiIiIiJh8thjj7F3715Gjx7NoEGDWLx4Mc2aNWPOnDm0aNEi3OFddC6G9N6/mNF7Z9h+l+9YIKDMvz5zpXTaXOE7rj3Da4qIiIiISDbUr18/+vXrF+4wcowLeoTUzK4H/oa3mNGsM+zGPwl8fUDZOmAzUMnMygdpc7vvOOMMrykiIiIiIpLjXdAJKX8tZpTRVi+YWb0gZWZmPYDawG7gv/5zzlt6eJjv2zfMLFdAu7vwtnxZTcr3UkVERERERCQTssWUXTNrAfgnZF/iO9Y2s5G+r3c7555N1aYQ0BpvMaOPTnOJOWa2FliKt/9oYeBGoCreAkdtnXOJqdoMBJoBrYDFZjYdb2/Se31t/u6cO5WZ+xQREREREZG/ZIuEFKgOtE9VVsH3AdgEPJvqfFu89z7HhrCYUX+gFtAIKAqcwpuSOxQY6Jxbn7qBc+6Ymd0M/AtoA3QFEoEJwIvOudWh3ZqIiIiIiIgEky0SUudcH6BPJtu8C7wbYt3umY8KnHNHgBd9HxEREREREclCF/o7pCIiIiIiInKBUkIqIiIiIiIiYaGEVERERERERMJCCamIiIiIiIiEhRJSERERERHJtlatWoWZ0aVLl3CHIudAtlhlV0REREQk24iLC3cEGdu+/ayam1mm6n/44Yd06NDhrK6ZkUOHDhEdHU3Tpk2ZMmXKObvOuTB//nzefvttFixYwM6dO8mXLx8lSpSgatWq1KtXjy5duhAZGXnG/bdq1YovvviCXbt2Ubx48SyMPPtQQioiIiIikoO8+GLaHQ3feustDhw4wFNPPUWRIkVSnKtevfr5Ci2oSpUqkZCQQExMTFjjSO29996jc+fOmBlNmjShVatWAGzYsIElS5YwceJE2rZtyyWXXBLmSLM3JaQiIiIiIjlInz590pSNHDmSAwcO8PTTT1OuXLnzHlNGIiIiuOqqq8IdRgr79+/n6aefJiIighkzZlCnTp0U551zzJkzh+jo6DBFeOHQO6QiIiIiIhKSXbt28eyzz3LllVcSFRVFTEwMt956K7NmzUpT98iRI/Tv35/q1atTpEgRChQoQPny5bnnnnuYM2cOAEOGDElO2r7++mvMLPnTv39/IP13SFu1aoWZsWvXLgYNGkTlypWJiooiNjaWLl268Oeffwa9h4kTJ3LDDTeQP39+ihUrRqtWrVi/fn1yf7t37z7tc1ixYgVHjx4lPj4+TTIK3rToBg0aUKBAgTTnfv75Z9q2bUvp0qWJiIggNjaW9u3bs379+uQ6hw4dwsz44osvAChRokTyc6latepp47uQaIRUREREREROa+3atTRq1Iht27Zx00030bRpUxITE5k0aRKNGzfmk08+oU2bNsn1W7duzeTJk6lRowYdOnQgMjKSbdu2MWfOHGbMmEH9+vWpVasWPXr0oF+/flxxxRUp2gdL9IJ5/PHHmT59Ok2bNuW2225j2rRpDB06lE2bNjF58uQUdUeMGEHHjh0pWLAgDzzwACVLlmT27NnUrl2bihUrhvwsihUrBsDmzZs5evQoUVFRIbX76quveOCBB3DO0bx5c8qXL8+mTZsYM2YMU6ZMYe7cuVSuXJmIiAhefPFFxo0bR0JCAt27dyd//vwAlCxZMuQ4LwRKSEVERERE5LTatm3Ljh07mDhxIs2bN08u37NnDzfeeCP//Oc/ueOOOyhSpAi///47kydPpn79+syaNSvFQkrOOfbu3QtArVq1qFy5Mv369aNSpUpBpxOfzg8//MCqVauIjY0F4Pjx49SpU4cpU6awevVqKleuDMDu3bt54oknyJ8/P0uXLk0xDbhLly4MHTo05GtWqVKFqlWrsmrVKurVq0fHjh2pXbs2lStXJm/evEHb7Nixg3bt2hETE8PcuXNTJMDLly/nxhtv5NFHH2Xu3LlERETQp08fVq1aRUJCAs8999xFu6iRpuyKiIiIiEiG5s+fz7Jly2jXrl2KZBS80cJevXpx8OBBJk2alOJcZGRkmlV9zSx5hDErvPzyy8nJKHjvnLZv3x6AJUuWJJd//vnnHD58mI4dO6Z5J/Xll19OHoEMRZ48efjqq6+oU6cOy5Yto3PnzlSvXp2CBQtSp04dBg4cmGbK8AcffMCff/7J66+/nmY09tprr6Vdu3bMmzePzZs3hxzHxUAjpCIiIiIikqGFCxcC3jukwUYxt23bBkBCQgIAsbGx3HTTTUybNo34+Hjuvvtu6tWrR61atUKe3hqq+Pj4NGWXXXYZAPv27UsuW7lyJQB169ZNU79o0aJUrlyZZcuWhXzdihUrMn/+fH7++We+//57li9fzuLFi1m4cCELFy7k3XffZfbs2cT5thHyP8OlS5eyYcOGNP1t3LgR8J5hmTJlQo7jQqeEVEREREREMrRnzx7AW3jo66+/TrfeoUOHkr+eNGkSr732Gp999hk9e/YEIH/+/Nx///28+eabFC1aNEtiS71NDXgjmABJSUnJZQcOHACgVKlSQftJr/x0qlWrRrVq1ZK///nnn+nQoQMrVqzgueeeY9SoUcBfz/B0U4MDn2FOoCm7IiIiIiKSocKFCwPetFPnXLqfwYMHJ7cpWLAgr732GuvWrWPjxo189NFHxMfHM2LECNq2bXve76FQoUIA7Ny5M+j59Mozq1q1aowYMQKAGTNmJJf7n+G6desyfIYtW7bMkjguFEpIRUREREQkQzfccAMAc+fOPaP2ZcuW5aGHHmL69OmULl2a7777jiNHjgCQO3duIOVo5rlQo0YNAObNm5fm3N69e1m9enWWXcu/lY1zLrnsTJ7h+Xo24aSEVEREREREMtSgQQNq1qzJqFGjGDNmTNA6K1euTH5nc/v27axYsSJNnYMHD/Lnn38SERGRnGzly5ePfPnynfPFfFq1akX+/Pn54IMPWLNmTYpzvXv35vDhwyH3lZCQwLvvvsvBgwfTnDt16hSvvfYaAPXr108u79SpEwUKFOD555/nxx9/TNPu5MmTafZzDXA3XAkAACAASURBVNxe5mKld0hFRERERCRDZsb48eNp3Lgxbdq0YcCAAVx33XUUKlSILVu2sHLlSn755Rd+/vlnYmJiWL9+PfXq1aNatWpUr16d0qVLs3//fiZPnsz+/ft5/vnniYiISO6/cePGTJkyhZYtW1KtWjXy5MnDzTffnDyqmBVKlCjBW2+9RadOnYiPj6d169aUKFGCOXPm8Ntvv1G7dm0WLlxIrlynH7Pbs2cPjz32GM888ww33ngjVapUoWDBguzcuZNp06axefNmSpcuzeuvv57cJi4ujrFjx9K6dWtq1qxJkyZNuPrqq3HOsWXLFubPn8/JkyfZvXt3iufy7rvv8tBDD9GiRQsKFChAyZIl6dSpU5Y9l3BTQioiIiIiIqdVoUIFVq5cyaBBg/jqq6/4+OOPcc4RGxtLlSpV6N69e/J2JldddRW9e/dm1qxZfP/99+zZs4dixYpx9dVX89Zbb9GqVasUfQ8bNoynn36aWbNmMWHCBE6dOkVUVFSWJqQAjzzyCMWLF6dfv36MHj2afPny0ahRIz755BP+/ve/A3+9a5qRa6+9lvHjx/Pdd9+xZMkSxowZw969eylYsCCVKlXi4Ycf5sknn0yzcFOzZs344YcfGDBgANOmTWPWrFlERUURGxvL7bffnua5tGzZkldffZWRI0cycOBAjh8/TpUqVS6qhNQC5zXLuREfH+8ys4T0+eJbgVouENu3hzsCERGRi0NCQgJXX311uMOQbOT48eNceumlFC5cmF9//TXc4VxQQv33ZGbLnXNp9ujRO6QiIiIiIpIj7N27l6NHj6YoO3XqFD179mTXrl3cfffdYYos59KUXRERERERyRFmzJhBp06daNKkCWXLliUxMZH58+ezatUqKlasSI8ePcIdYo6jhFRERERERHKEatWqccstt7Bw4UImT57MqVOnKFOmDN26daNHjx7ExMSEO8QcRwmpiIiIiIjkCFdeeSVjx44NdxgSQO+QioiIiIiISFgoIRUREREREZGwUEIqIiIiIiIiYaGEVERERERERMJCCamIiIiIiIiEhRJSERERERERCQslpCIiIiIiIhIWSkhFREREREQkLJSQioiIiIiISFgoIRURERERkXPit99+w8z4xz/+kaL8wQcfxMzYunVryH1deumlVKxYMatDTCG9eOXcyRPuAEREREREspO4AXHhDiFD27ttP6v2bdq0YcyYMbzzzjt07tw5w7pNmjTh+++/56uvvqJFixZndd3s4OTJk+TNm5fGjRvz/fffhzuckB05coQhQ4bw+eef88svv3DkyBGKFStG6dKlqV27Nvfddx/16tU74/5/++03rrjiCjp27Mjw4cOzMPLTU0IqIiIiIpKDdOrUiTFjxvD+++9nmJBu3LiR6dOnExsbS7NmzbI0hjfffJOePXtyySWXZGm/Z6ts2bIkJCRQpEiRcIeS7ODBg9SrV48ff/yR2NhYWrVqRcmSJdm5cydr165l2LBhyXUuREpIRURERERykIYNG1KpUiVWrlzJihUrqFmzZtB6w4cPxznHww8/TJ48WZs2xMbGEhsbm6V9ZoW8efNy1VVXhTuMFAYMGMCPP/7IHXfcwYQJE8ibN2+K8/v27eOXX34JU3RnT++QioiIiIjkMI888ggA77//ftDzSUlJjBw5Ms37lNu2beOll16iTp06XHLJJURERFC6dGnatm2bqaQovXdInXO8/fbbVK5cmcjISEqXLs2TTz5JYmJi0H7279/PG2+8wU033UTp0qWJiIigZMmStGjRgiVLlqSoO3z48ORkbvr06ZhZ8ueVV14BMn6HdPv27XTu3JmyZcsSGRlJyZIladmyJStXrkxTd/jw4ZgZo0aNYvr06TRo0ICCBQtSuHBh7rzzTtasWRPys1qwYAEAnTt3TpOMAsTExFC7du005SdPnmTIkCFcf/31FCpUiPz581OzZk3eeecdnHPJ9Xr27MkVV1wBwAcffJDiuYwaNSrkOM+URkhFRERERHKY9u3b88ILL/Dpp58yYMAA8ufPn+L81KlT2bZtG02aNKF8+fLJ5TNnzkxOAGvU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ElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWOQJdwAiIiIiZyIuLtwRSGZt3x7uCEQku9EIqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhZKSEVERERERCQslJCKiIiIiIhIWCghFRERERERkbBQQioiIiIiIiJhoYRUREREREREwkIJqYiIiIiIiISFElIREREREREJCyWkIiIiIiIiEhbZIiE1s1ZmNtjM5ppZopk5MxuVTt0rzOz/zGyGmW0xs+NmttPMJprZTem06eDrM73PP9Npl8/MXjKzNWZ21Mz+MLNxZnZ1Vt6/iIiIiIhITpQn3AH49AT+BhwCtgJXZVC3L9AaWA1MBfYCVwLNgeZm9pRz7u102k4EfghSvix1gZlFAtOAG33nBwGXAfcCTc2skXNu8elvTURERERERILJLglpV7xE9DegATAzg7r/Bf7tnFsZWGhmDfASyDfNbLxz7vcgbSc450aGGNMzeMno50Br59wp33U+AyYAI8ysmr9cREREREREMidbTNl1zs10zv3qnHMh1B2ZOhn1lc8GZgERQJ2zicfMDPBP430uMOl0zk0E5gKV8ZJnEREREREROQPZIiHNQid8x5PpnK9uZk+b2b/MrJ2ZXZpOvcuBMsBa59yGIOe/8R0bnUWsIiIiIiIiOVp2mbJ71sysLNAYOAzMSafaU6m+TzKz4cDTzrmjAeVX+o5r0+nnV9+x0pnEKiIiIiIiIlkwQmpmV5lZ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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "train_cases = pd.DataFrame(train)\n", + "test_cases = pd.DataFrame(test)\n", + "val_cases = pd.DataFrame(val)\n", + "\n", + "train_cases = train_cases[1].value_counts()\n", + "test_cases = test_cases[1].value_counts()\n", + "val_cases = val_cases[1].value_counts()\n", + "\n", + "labels = ['PNEUMONIA', 'NORMAL']\n", + "\n", + "index = np.arange(len(labels))\n", + "bar_width = 0.25\n", + "opacity = 0.9\n", + "\n", + "fig, ax = plt.subplots(figsize = (15, 10))\n", + "\n", + "train_bar = ax.bar(index - bar_width, train_cases, bar_width,\n", + " alpha=opacity, color='b',\n", + " label='Training Set')\n", + "\n", + "test_bar = ax.bar(index, test_cases, bar_width,\n", + " alpha=opacity, color='r', tick_label = ('Pneumonia', 'Normal'),\n", + " label='Testing Set')\n", + "\n", + "val_bar = ax.bar(index + bar_width, val_cases, bar_width,\n", + " alpha=opacity, color='g', tick_label = ('Pneumonia', 'Normal'),\n", + " label='Validation Set')\n", + "\n", + "\n", + "plt.xlabel('Class', fontsize = 20)\n", + "plt.ylabel('Number of Images', fontsize = 20)\n", + "plt.yticks(fontsize = 20)\n", + "plt.title('Total Images per set', fontsize = 20)\n", + "plt.xticks(index + 0.3 * bar_width, fontsize = 20)\n", + "plt.legend(fontsize = 20)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As above, I utilised the same process to get the data into a state that the CNN can understand. Firstly by seperating the image data and the labels into two seperate lists (x and y). Secondly, by dividing the image data by 255, thereby normalizing the colours and also significantly reducing the pixel \"size\" per image. Finally, I transform the image data into a 4D dimensional array so that the entire image is basically a row of numbers being fed into the CNN." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = []\n", + "y_train = []\n", + "\n", + "x_val = []\n", + "y_val = []\n", + "\n", + "x_test = []\n", + "y_test = []\n", + "\n", + "for feature, label in train:\n", + " x_train.append(feature)\n", + " y_train.append(label)\n", + "\n", + "for feature, label in test:\n", + " x_test.append(feature)\n", + " y_test.append(label)\n", + " \n", + "for feature, label in val:\n", + " x_val.append(feature)\n", + " y_val.append(label)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = np.array(x_train) / 255\n", + "x_val = np.array(x_val) / 255\n", + "x_test = np.array(x_test) / 255" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(3120, 128, 128, 1)\n" + ] + } + ], + "source": [ + "img_size = 128\n", + "x_train = x_train.reshape(-1, img_size, img_size, 1)\n", + "y_train = np.array(y_train)\n", + "\n", + "x_val = x_val.reshape(-1, img_size, img_size, 1)\n", + "y_val = np.array(y_val)\n", + "\n", + "x_test = x_test.reshape(-1, img_size, img_size, 1)\n", + "y_test = np.array(y_test)\n", + "print(x_train.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1779\n", + "1 1341\n", + "dtype: int64" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.Series(y_train)\n", + "df.value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/15\n", + "63/63 [==============================] - 54s 857ms/step - loss: 0.6226 - accuracy: 0.6410 - val_loss: 0.5556 - val_accuracy: 0.7500\n", + "Epoch 2/15\n", + "63/63 [==============================] - 53s 846ms/step - loss: 0.4901 - accuracy: 0.7647 - val_loss: 0.6665 - val_accuracy: 0.5625\n", + "Epoch 3/15\n", + "63/63 [==============================] - 55s 866ms/step - loss: 0.3631 - accuracy: 0.8394 - val_loss: 0.6581 - val_accuracy: 0.6875\n", + "Epoch 4/15\n", + "63/63 [==============================] - 54s 850ms/step - loss: 0.3193 - accuracy: 0.8622 - val_loss: 1.2417 - val_accuracy: 0.6875\n", + "Epoch 5/15\n", + "63/63 [==============================] - 53s 847ms/step - loss: 0.2652 - accuracy: 0.8936 - val_loss: 0.4800 - val_accuracy: 0.9375\n", + "Epoch 6/15\n", + "63/63 [==============================] - 53s 848ms/step - loss: 0.2519 - accuracy: 0.8978 - val_loss: 1.1348 - val_accuracy: 0.6875\n", + "Epoch 7/15\n", + "63/63 [==============================] - 54s 849ms/step - loss: 0.2443 - accuracy: 0.9032 - val_loss: 0.8163 - val_accuracy: 0.7500\n", + "Epoch 8/15\n", + "63/63 [==============================] - 53s 848ms/step - loss: 0.2315 - accuracy: 0.9064 - val_loss: 0.6953 - val_accuracy: 0.6875\n", + "Epoch 9/15\n", + "63/63 [==============================] - 53s 847ms/step - loss: 0.2243 - accuracy: 0.9154 - val_loss: 0.3418 - val_accuracy: 0.8125\n", + "Epoch 10/15\n", + "63/63 [==============================] - 53s 846ms/step - loss: 0.2022 - accuracy: 0.9163 - val_loss: 1.1054 - val_accuracy: 0.7500\n", + "Epoch 11/15\n", + "63/63 [==============================] - 54s 860ms/step - loss: 0.2036 - accuracy: 0.9224 - val_loss: 0.3097 - val_accuracy: 0.8125\n", + "Epoch 12/15\n", + "63/63 [==============================] - 53s 846ms/step - loss: 0.2008 - accuracy: 0.9218 - val_loss: 0.8394 - val_accuracy: 0.7500\n", + "Epoch 13/15\n", + "63/63 [==============================] - 55s 876ms/step - loss: 0.1869 - accuracy: 0.9205 - val_loss: 0.6751 - val_accuracy: 0.7500\n", + "Epoch 14/15\n", + "63/63 [==============================] - 56s 889ms/step - loss: 0.1741 - accuracy: 0.9369 - val_loss: 0.3807 - val_accuracy: 0.8750\n", + "Epoch 15/15\n", + "63/63 [==============================] - 55s 874ms/step - loss: 0.1910 - accuracy: 0.9279 - val_loss: 0.5441 - val_accuracy: 0.8125\n" + ] + } + ], + "source": [ + "history2 = cnn3.fit(datagen.flow(x_train, y_train, batch_size = 50), epochs = 15,\n", + " validation_data = datagen.flow(x_val, y_val))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reducing the size of the train dataset has improved the accuracy of the model and also the validation accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "624/624 [==============================] - 2s 3ms/step\n", + "Loss of the model is - 26.312539459039 %\n", + "624/624 [==============================] - 2s 3ms/step\n", + "Accuracy of the model is - 90.06410241127014 %\n", + "training_accuracy 0.92788464\n", + "validation_accuracy 0.8125\n" + ] + } + ], + "source": [ + "print(\"Loss of the model is - \" , cnn3.evaluate(x_test,y_test)[0]*100 , \"%\")\n", + "print(\"Accuracy of the model is - \" , cnn3.evaluate(x_test,y_test)[1]*100 , \"%\")\n", + "print(\"training_accuracy\", cnn3.history.history['accuracy'][-1])\n", + "print(\"validation_accuracy\", cnn3.history.history['val_accuracy'][-1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The validation loss exhibits some strange behaviour, however this may be due to the size of the validation set. However, the train_loss and training_accuracy have a normal trajectory." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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zJmDUsrp5ohBaK1pbW2lsbGRuXPnjvo4GY4UQgghMlhvby9lZWUSwDKYUoqysrIx91ZKCBNCCCEynASwzDee75GEMCGEEEIIB0gIE0IIIYRwgIQwIYQQQgypra2N3//+92M+7swzz6StrS0FLZo8JIQJIYQQYkhDhbBIJDLscU8//TQlJSWpatakICUqhBBCiCxxw1+2si2wP6nnPKp6Gj/93IIht3//+9/ngw8+YMmSJXg8HgoLC6mqqmLjxo1s27aNL3zhC/j9fnp7e7nqqqu47LLLgP57PXd2dnLGGWdwwgkn8MorrzBz5kyeeOIJ8vPzB73enXfeyR133EEoFOKwww7jvvvuw+v10tzczOWXX86HH34IwJo1azjuuOO49957ufnmm1FKsWjRIu67776kfn1SSXrChBBCCDGkX/7yl3ziE59g48aN/PrXv+aNN97gpptuYtu2bQDcddddbNiwgfr6em699VZaW1sPOseOHTu44oor2Lp1KyUlJTz66KNDXu/cc89l/fr1bNq0ifnz5/OHP/wBgCuvvJKVK1eyadMm3nzzTRYsWMDWrVu56aabeP7559m0aRO33HJLar4IKSI9YUIIIUSWGK7HKl2WL18+oCDprbfeymOPPQaA3+9nx44dlJWVDThm7ty5LFmyBIBly5axc+fOIc+/ZcsWfvSjH9HW1kZnZyennXYaAM8//zz33nsvAG63m+LiYu69915WrVpFeXk5ANOnT0/a60wHCWFCCCGEGLWCgoL45+vWrePZZ5/l1Vdfxev1ctJJJw1asDQ3Nzf+udvtpqenZ8jzr169mscff5zFixdzzz33sG7duiH31VpndQ01GY4UQgghxJCKioro6OgYdFt7ezulpaV4vV62b9/Oa6+9NuHrdXR0UFVVhWma3H///fHnTz75ZNasWQNYiwL279/PySefzMMPPxwfAt27d++Er59OEsKEEEIIMaSysjKOP/54jj76aK699toB204//XTC4TCLFi3ixz/+Mccee+yEr/fzn/+cFStWcOqppzJv3rz487fccgtr165l4cKFLFu2jK1bt7JgwQJ++MMfsnLlShYvXsw111wz4eunk9JaO92GMamtrdX19fVON0MIIYRIi3feeYf58+c73QwxCoN9r5RSG7TWtYPtLz1hQgghhBAOkIn5QgghhEi7K664gr///e8Dnrvqqqu4+OKLHWpR+kkIE0IIIUTa3XbbbU43wXEyHCmEEEII4QAJYSLrdb32Oru++z2ybZGJEEKIqU1CmMh6Hc8+y/6nniLS1uZ0U4QQQohRkxAmsl7I3wBAuLnZ4ZYIIYQQoychTGQ9098IQDgYdLglQgghCgsLAQgEAqxatWrQfU466SRGqvn5u9/9ju7u7vjjM888k7ZJNuIhIUxkNR2NYjZKCBNCiExTXV3NI488Mu7jDwxhTz/9NCUlJcloWsaQEhUiq4WDQXQoBIApIUwIMdk9833Y/XZyzzljIZzxyyE3X3fddRxyyCF861vfAuD6669HKcWLL77Ivn37ME2TG2+8kc9//vMDjtu5cydnn302W7Zsoaenh4svvpht27Yxf/78ATfw/uY3v8n69evp6elh1apV3HDDDdx6660EAgE+/elPU15eztq1a5kzZw719fWUl5fzm9/8hrvuuguASy+9lO985zvs3LmTM844gxNOOIFXXnmFmTNn8sQTT5Cfnz/o67rzzju54447CIVCHHbYYdx33314vV6am5u5/PLL+fDDDwFYs2YNxx13HPfeey8333wzSikWLVrEfffdN6EvO0hPmMhypt8f/zzcLCFMCCGS7YILLuChhx6KP3744Ye5+OKLeeyxx3jzzTdZu3Yt3/3ud4ddob5mzRq8Xi+bN2/mhz/8IRs2bIhvu+mmm6ivr2fz5s288MILbN68mSuvvJLq6mrWrl3L2rVrB5xrw4YN3H333bz++uu89tpr3Hnnnbz11lsA7NixgyuuuIKtW7dSUlLCo48+OmSbzj33XNavX8+mTZuYP38+f/jDHwC48sorWblyJZs2beLNN99kwYIFbN26lZtuuonnn3+eTZs2ccstt4zra3kg6QkTWS1kzwdzFRbKcKQQYvIbpscqVZYuXUowGCQQCNDS0kJpaSlVVVVcffXVvPjii7hcLnbt2kVzczMzZswY9BwvvvgiV155JQCLFi1i0aJF8W0PP/wwd9xxB+FwmKamJrZt2zZg+4FefvllvvjFL1JQUABYYeqll17inHPOYe7cuSxZsgSAZcuWsXPnziHPs2XLFn70ox/R1tZGZ2cnp512GgDPP/889957LwBut5vi4mLuvfdeVq1aRXl5OQDTp08f5VdveBLCRFYL+RvA5SJ/0UIJYUIIkSKrVq3ikUceYffu3VxwwQXcf//9tLS0sGHDBjweD3PmzKG3t3fYcyilDnruo48+4uabb2b9+vWUlpayevXqEc8zXI9bbm5u/HO32z1g2PNAq1ev5vHHH2fx4sXcc889rFu3bthrDtb+iZLhSJHVTH8jnqoqPDNnYgalRIUQQqTCBRdcwIMPPsgjjzzCqlWraG9vx+fz4fF4WLt2LR9//PGwx5944oncf//9gNUDtXnzZgD2799PQUEBxcXFNDc388wzz8SPKSoqoqOjY9BzPf7443R3d9PV1cVjjz3Gpz71qTG/po6ODqqqqjBNM942gJNPPpk1a9YAEIlE2L9/PyeffDIPP/wwra2tAOzdu3fM1xuMhDCR1Uy/H8/sWRgVPiJ7WtHhsNNNEkKISWfBggV0dHQwc+ZMqqqquPDCC6mvr6e2tpb777+fefPmDXv8N7/5TTo7O1m0aBH/+q//yvLlywFYvHgxS5cuZcGCBfzDP/wDxx9/fPyYyy67jDPOOINPf/rTA851zDHHsHr1apYvX86KFSu49NJLWbp06Zhf089//nNWrFjBqaeeOqD9t9xyC2vXrmXhwoUsW7aMrVu3smDBAn74wx+ycuVKFi9ezDXXXDPm6w1GZdutXmpra/VItUXE1PHeccdTdPLJ5C1YwO7rr+ewF9bhqax0ullCCJE077zzDvPnz3e6GWIUBvteKaU2aK1rB9tfesJE1op0dhHZuxfPrFkYlT5AquYLIYTIHjIxX2Qtc5e1MjJn9iwMnx3CZHK+EEKIBFdccQV///vfBzx31VVXcfHFFzvUon4SwkTWCjVY94z01MzCY4cwKdgqhBAi0W233eZ0E4YkIUxkrdg9I3Nm1eAqLAS3Wwq2CiGEyBoSwkTWMhv9uIqLcRcXA2BUVMhwpBBCiKyRson5Sqm7lFJBpdSWIbZfqJTabP97RSm1OFVtEZNTqMFPTk1N/LHh80kIE0IIkTVSuTryHuD0YbZ/BKzUWi8Cfg7ckcK2iEnI9PvxzJoVf2z4pCdMCCFE9khZCNNavwgMWVJWa/2K1nqf/fA1oGaofYU4kI5ECAUC5CSEMI+vUibmCyFEkrW1tfH73/9+zMedeeaZtLW1jfm41atX88gjj4z5uGyUKXXCLgGeGWqjUuoypVS9Uqq+paUljc0SmSq8ezeYJp5ZA4cjo+3tREe475gQQojRGyqERSKRYY97+umnKSkpSVWzJgXHJ+YrpT6NFcJOGGofrfUd2MOVtbW12VXiX6REKL4yMnE40q4V1tIy4HkhhJgsfvXGr9i+d3tSzzlv+jyuW37dkNu///3v88EHH7BkyRI8Hg+FhYVUVVWxceNGtm3bxhe+8AX8fj+9vb1cddVVXHbZZQDMmTOH+vp6Ojs7OeOMMzjhhBN45ZVXmDlzJk888QT5+fkjtu25557je9/7HuFwmLq6OtasWUNubi7f//73+fOf/4xhGHz2s5/l5ptv5k9/+hM33HADbreb4uJiXnzxxaR9jVLF0RCmlFoE/Cdwhta61cm2iOxiNvoB8MyaHX8usWq+hDAhhEiOX/7yl2zZsoWNGzeybt06zjrrLLZs2cLcuXMBuOuuu5g+fTo9PT3U1dXxpS99ibKysgHn2LFjBw888AB33nkn559/Po8++igXXXTRsNft7e1l9erVPPfccxxxxBF8/etfZ82aNXz961/nscceY/v27Sil4kOeP/vZz/jb3/7GzJkzxzUM6gTHQphSajbwP8DXtNbvOdUOkZ1CDX4wDDwz+u8T6ZGq+UKISW64Hqt0Wb58eTyAAdx666089thjAPj9fnbs2HFQCJs7dy5LliwBYNmyZezcuXPE67z77rvMnTuXI444AoBvfOMb3HbbbXz7298mLy+PSy+9lLPOOouzzz4bgOOPP57Vq1dz/vnnc+655ybjpaZcKktUPAC8ChyplGpUSl2ilLpcKXW5vctPgDLg90qpjUopuSu3GDWz0Y+nuhpl9P8dYUjVfCGESLmCgoL45+vWrePZZ5/l1VdfZdOmTSxdupTeQebl5ubmxj93u92Ew+ERr6P14LOPDMPgjTfe4Etf+hKPP/44p59uFWK4/fbbufHGG/H7/SxZsoTW1swfYEtZT5jW+isjbL8UuDRV1xeTW8jfeNCQo2vaNFRenlTNF0KIJCoqKqKjo2PQbe3t7ZSWluL1etm+fTuvvfZa0q47b948du7cyfvvv89hhx3Gfffdx8qVK+ns7KS7u5szzzyTY489lsMOOwyADz74gBUrVrBixQr+8pe/4Pf7D+qRyzSOT8wXYjzMhgbyzhhYhk4pJQVbhRAiycrKyjj++OM5+uijyc/Pp7KyfxrI6aefzu23386iRYs48sgjOfbYY5N23by8PO6++27OO++8+MT8yy+/nL179/L5z3+e3t5etNb89re/BeDaa69lx44daK05+eSTWbw482vAq6G6+zJVbW2trq+XkcupLLJ/P+8tX4Hv2u9RdsklA7btvOgilHJxyH33OtQ6IYRIrnfeeYf58+c73QwxCoN9r5RSG7TWtYPtnyl1woQYNbPRKk/hGWQFpMfnwww2p7tJQgghxJhJCBNZJ9RglacYrAyF4askHGwZckKnEEKIzHDFFVewZMmSAf/uvvtup5uVVjInTGSd/hphg4UwH7qnh2hnJ+6ionQ3TQghxCjddtttTjfBcdITJrJOyN+Iu7QUd2HhQdsMqRUmhBAiS0gIE1nH9DcM2gsG4Emomi+EEEJkMglhIuuE/I3k1NQMuk0KtgohhMgWEsJEVtHhMGYggGf24D1h/cORLelslhBCCDFmEsJEVjGbmiASGfIG3a78fFzTpslwpBBCOKRwkPm6MTt37uToo49OY2sym6yOFFnF9A+9MjLG8FXIxHwhxKS0+xe/oO+d7Uk9Z+78ecz4l39J6jnF6EhPmMgqIb9VqHWonjCwCrZKCBNCiOS47rrr+P3vfx9/fP3113PDDTdw8sknc8wxx7Bw4UKeeOKJMZ+3t7eXiy++mIULF7J06VLWrl0LwNatW1m+fDlLlixh0aJF7Nixg66uLs466ywWL17M0UcfzUMPPZS01+ck6QkTWcX0N6A8nvjcr8EYvkq6Xn89ja0SQoj0cKLH6oILLuA73/kO3/rWtwB4+OGH+etf/8rVV1/NtGnT2LNnD8ceeyznnHMOSqlRnzdWJ+ztt99m+/btfPazn+W9997j9ttv56qrruLCCy8kFAoRiUR4+umnqa6u5qmnngKsG4dPBtITJrJKyN+Ip6YG5XYPuY/h8xFuaUFHo2lsmRBCTE5Lly4lGAwSCATYtGkTpaWlVFVV8S//8i8sWrSIU045hV27dtE8xrm4L7/8Ml/72tcAmDdvHocccgjvvfcen/zkJ/nFL37Br371Kz7++GPy8/NZuHAhzz77LNdddx0vvfQSxcXFqXipaSchTGQV0+/HM2vw8hQxhs8H4TCRffvS1CohhJjcVq1axSOPPMJDDz3EBRdcwP33309LSwsbNmxg48aNVFZW0tvbO6ZzDnV7ua9+9av8+c9/Jj8/n9NOO43nn3+eI444gg0bNrBw4UJ+8IMf8LOf/SwZL8txEsJE1tBaE/L7yakZej4YWBPzQQq2CiFEslxwwQU8+OCDPPLII6xatYr29nZ8Ph8ej4e1a9fy8ccfj/mcJ554Ivfffz8A7733Hg0NDRx55JF8+OGHHHrooVx55ZWcc845bN68mUAggNfr5aKLLuJ73/seb775ZrJfoiNkTpjIGtH2dqIdHUPWCIvxVFYCVsHWvKOOSkfThBBiUluwYAEdHR3MnDmTqqoqLrzwQj73uc9RW1vLkiVLmDdv3pjP+a1vfYvLL7+chQsXYhgG99xzD7m5uTz00EP893//Nx6PhxkzZvCTn/yE9evXc+211+JyufB4PKxZsyYFrzL91FDdgZmqtrZW19fXO90M4YCet7ew87zzqLnt3yk6+eQh9zObmnj/059hxs9uoPT889PYQiGESL533nmH+fPnO90MMQqDfa+UUhu01rWD7S/DkSJrmP4GADwjDUeWl4NSUjVfCCFERpPhSJE1+muEDT8xX3k8uMvKZE6YEEI45O23346vfIzJzc3ldSkfNICEMJE1Qv4G3OXluLzeEfeVqvlCiMlEaz2mGlxOW7hwIRs3bnS6GWk1nuldMhwpsobpbySnZvhesBhPhQ+zRUKYECL75eXl0draOq5f8iI9tNa0traSl5c3puOkJ0xkDdPvJ7922aj2NSor6dmyJcUtEkKI1KupqaGxsZGWFpnnmsny8vKoGWVHQYyEMJEVdCiEuXs3xSNMyo8xfD4ira1o00R5PCluXebr2bKV3LlzcBUUON0UIcQYeTwe5s6d63QzRArIcKTICmYgANEonmFu3J0oXrB1z55UNisrRHt62PmVr7DnzjudbooQQogEEsJEVoivjByhUGtMrGCrrJC06qZhmnS/+prTTRFCCJFAQpjICqFR1giLMXw+wKqaP9WZuwIA9GzdSrS72+HWCCGEiJEQJrKC6W9E5eZiVJSPav9YCJOCrWA2WSGMcJieKbZkXAghMpmEMJEVzEY/nlk1KNfo3rLu0lLweGQ4Ens+ncsFbjdd69c73RwhhBA2WR0pskKowU/OKIciAZTLhVFRLgVbsUKYMaMSo6ycbglhQgiRMaQnTGQ8rTWm3z/qlZExngofYSnYSjjQhKe6Gm9dHb2bNhPt7XW6SUIIIZAQJrJAZN8+ot3d5IwxhBk+n0zMx+oJs0JYLdo06dm02ekmCSGEQEKYyAJmg70ycoQbdx/IqKwk3Dy1Q5iORDCbm/FUVeNdtgyUkiFJIYTIEBLCRMaL1wgbR09YtKNjSpdlCAeDEIngqa7GPW0aufPnSQgTQogMISFMZDyz0Q+AZ6z35IpVzZ/C91szA1Z5Ck91FQAFdXX0bNxINBRysllCCCGQECayQKjBj+Hz4Rrj3eljVfPNKVymwgw0AeCprgbAW1eH7uuj9+23nWyWEEIIJISJLDCelZEgBVshoSesyuoJy1+2DECGJIUQIgNICBMZL9TYOOb5YJAYwqbu5HwzEMBdUoLL6wXAKC0l9/DD6X5DQpgYPR2J0HT99fR98IHTTeDIosIAACAASURBVBFiUpEQJjJatK+PcHPzmFdGArgKC1Fe75Summ82BeJDkTHeujq6N25Em6ZDrRLZxmxspO3Bh+h47nmnmyLEpCIhTGQ0c9cu0HpcPWFKKTwVFVO6YKsZCGDYk/JjvMvr0N3d9G7d6lCrRLaJ9SZP5V5lIVJBQpjIaKbfXhk5jhAGU7tgq9Y6Xi0/kbe2FoDu+nonmiWyUOxnaCqvNBYiFSSEiYwWarBC2Hh6wsAKYVO1YGu0vZ1od/dBIcwoLyfn0EPlZt5i1GKLWySECZFcEsJERjMb/SivF3dZ2biONyorCQeDaK2T3LLM178ysvqgbd66Ono2vImORNLdLJGFYvMqJYQJkVwSwkRGC/kbyampQSk1ruMNXwW6r4/o/v1JblnmM5sG1ghL5K2rI9rZSe8729PdLJGFwgnDkVPxDxohUkVCmMhopr9h3PPBADxTuEyFuWtgtfxE3ro6QOqFidGJ/fzo3l6inZ0Ot0aIyUNCmMhYWut4T9h4GfGq+VMwhDU1ofLycE+fftA2T6UPzyGzJYSJUTFbguDxAFPzDxohUkVCmMhYkT170L29eGaPvydsKhdsNQMBPFVVQw7leuvq6N6wAR2NprllIptorQk3B8k7/HBA5oUJkUwSwkTGCvkntjISwKiwb+I9hUPYUArq6oi2t9P33ntpbJXINtGODnRvL3kLFgASwoRIJglhImPFa4TVjD+EufLycBcXEw5Ovar5ZlMTnpkHT8qPic8Lk1sYiWHE/oDJO/po+7GEMCGSRUKYyFghfyMohadm5oTOMxULtkb7+ojs2TPoysgYT3U1npkzZV6YGFYshOXMnYPKz5eeMCGSSEKYyFimvwFjxgxcOTkTOo/h8025v97DdnkKY5jhSLCq53fX10vZATGk2KIWT2UlRkXFlBzaFyJVJISJjDXRlZExRmXllLuJd7xQ6zA9YWDdRzKybx+h999PR7NEFoqFLsPns0KY9IQJkTQSwkTGMv3+Ca2MjDF8FYT37JlS1eFHHcLseWFyCyMxlHAwiGvaNFz5+RLChEgyCWEiI0V7egi3tExoZWSM4fNBJEJk794ktCw7mIEmcLnw2HXShuKZNQujslLmhYkhhYNBDJ+1ylhCmBDJJSFMZCSzsRGY2MrImFjV/Kk0Od8MBDB8PpRdYHMoSimrXpjMCxNDMIPN8Z8hw1dBtKuLaFeXw60SYnKQECYyUshvhbCcZAxH2r1B4SlUNd9sahq2Rlgib10dkZY9hHbuTG2jRFYKB1swfNbPULzunvSGCZEUEsJERjL9DQATum9kzFSsmm8GAiPOB4uR+0iKoeholHBLS/xnSEKYEMklIUxkpJC/EVdBAe6SkgmfyygrA5dryoQwHY1i7t496I27B5Mzdw7u8nK619entmEi60T27YNwWEKYECkiIUxkJGtl5Owh73s4FsowMMrKMKdI1fxwyx4wzVH3hFnzwmrpXr9e5oWJAWKlXRIn5oOEMCGSRUKYyEghvz8pNcJirIKtU6MnzAzsAkYuT5HIW1dHePfu+IIIIaB/MUtsla27pATl8UgIEyJJJISJjKOjUczGxqTMB4uZSlXzR1stP1GB3EdSDCKxUCtYvaZSpkKI5JEQJjJOuKUFHQolZWVkjFHpmzJV80dbqDVRzmGH4S4tlcn5YoDYHy5GeXn8OaOiYkqVexEilSSEiYxjNtgrI5NQIyzG8PmI7NtHNBRK2jkzlRkI4Jo2DXdh4aiPUUpZ95GUECYShJubcZeVDag3Z/ikJ0yIZJEQJjJOvEbYrOTNCYsVm4xMgV8eZqBpTL1gMd66Osxdu+I9aUKEg0GMSt+A56zhyD0OtUiIyUVCmMg4ZqPfuuXOOILEUGIFW80pULB1LDXCEnnragGpFyb6mS1BPBUHhDCfj2h7O9G+PodaJcTkISFMZJxQgx9PVdWIt9wZi6lUsHUs1fIT5R5xBK5p0+Rm3iLOqpZ/cE8YIL1hQiSBhDCRcUy/P6krI2HqhLBIRwfRjo5x9YQptxvvsmXSEyYA0KZJpLV16BA2yX+WhEgHCWEi44QaG8lJcgjrr280uX9x9K+MHHtPGNjzwj5umBLDtmJ44T17QOtB54SBFGwVIhkkhImMEunsItLamvSeMKUUhs+HOcnLVIynPEWi+H0k66U3bKo7sEZYjIQwIZJHQpjIKOau5K+MjJkKBVsnGsLy5s/DVVAgQ5Kiv1r+ASHMPX06uN0SwoRIAglhIqOYfj8Anlmzk37uqXDronBTE8rjwV1WNq7jlWGQv+wYuZm3INw8eE+YcrkwysslhAmRBBLCREYJNVghLCU9YVOgar4ZCGBUV6Fc4//R9tbVEfrgA8KtrUlsmcg24WAQDMPq+TqAUVEx6f+gESIdJISJjGI2+q1q78XFST+3x+cj2tVFpLMr6efOFOauAJ6qidVXi99HUnrDprRwMIhRUTFooJf7RwqRHBLCREYJ+ZO/MjImXqZiEq+QNJvGVy0/Ud6CBSivV+aFTXHhYBDDVzHoNglhQiSHhDCRUcyGhqSvjIwxfFbV/PAkLb+gQyHCLS0TDmHK48G7ZImEsCnODDYfNCk/xqioILJ3L9o009wqISYXCWEiY+hIhFAgkJL5YDD5e8LM5mbQelzV8g/kXV5H33vvEd63LwktE9nIqpZfOei2+M+SzBsUYkIkhImMEW5uBtNMYU/Y5K6ab+6yy1PMnPg9N2P1wno2bJjwuUT2ifb0EN2//6CVkTFSK0yI5JAQJjJG/8rI1IQwd2EBroKCSVuwNV4jLAk9YXkLF6Jyc2VIcoqKhasRQ9gk/YNGiHSRECYyhtkYqxGWmhAGk7tgq9lkhTAjCSHMlZND/uLFcjPvKaq/Wv4QE/N90hMmRDJICBMZI+RvBMPAM2NGyq4xmQu2moEARkUFrpycpJzPW1dH3zvbiezfn5TziewR6y32VA4xJ6ysDJSatH/QCJEuEsJExjD9DXiqq1GGkbJrTOYQFm5qwhjnjbsH462rA63pfvPNpJ1TZIdYuBpqOFIZBu6yMukJE2KCJISJjBHyN5JTk5qVkTGeSiuEaa1Teh0nmLsCEy5PkSh/yWKUxyPzwqagcDCIysvDVVQ05D5SK0yIiZMQJjKG6ffjmZ26+WBg/WWvQyEibW0pvU666WjUKtQ6wWr5iVx5eeQtWiSV86cgq1CrD6XUkPsYFeWTtldZiHSRECYyQqSjg0hbW8pWRsb0l6mYXH/BR/buRYdCSe0JA/DW1dK7deukvtWTOFi4eehCrTHSEybExKUshCml7lJKBZVSW4bYrpRStyql3ldKbVZKHZOqtojMZ/rtlZE1qQ5hdtX84OQqUxEvT5H0EFYHkQg9b72V1POKzGa2BIecDxZjVFQQbm1FRyJpapUQk08qe8LuAU4fZvsZwOH2v8uANSlsi8hwIX8jADlpGI6EyVffqD+EJW9iPoB36VIwDJkXNoVore1q+SOHMKJRInv3pqllQkw+KQthWusXgeF+Oj8P3KstrwElSqnk/gYRWcP0NwCprREGCfWNJl0IawKS3xPm8nrJX7BAQtgUEu3sRPf0jBzC4rcBkyFJIcbLyTlhMwF/wuNG+7mDKKUuU0rVK6XqW+QHflIK+Rtxl5biLixM6XVcOTm4S0snXdV8MxDAVVAw7Gq28fIur6NnyxaiPT1JP7fIPGH7Z8OoHD6EeeTWRUJMmJMhbLBlN4PWDdBa36G1rtVa11ZUDF7BWWQ30+9PeS9YzGSsmm82NVk11oZZzTZe3ro6ME16Nm5M+rlF5on1Eo9mYj6AOcl6lYVIJydDWCOQ+Fu3Bgg41BbhsJDfn/IaYTGTsWCrGUhujbBE+cccAy6XDElOEWb8lkXDhzC39IQJMWFOhrA/A1+3V0keC7RrrZscbI9wiA6HrRCR4kn5MUalLz7kMlmYgUBSq+UnchcWknfUUXS/ISFsKohXyx9h1MGVk4O7uFhCmBATkLL7wyilHgBOAsqVUo3ATwEPgNb6duBp4EzgfaAbuDhVbRGZzdy9GyKRlNcIi/H4fNbS+nA4pbdISpdIZxfR9vaU9YQBeGtr2ffHPxLt68OVm5uy6wjnhZubcRUV4fJ6R9zX8PkkhAkxASn7DaS1/soI2zVwRaquL7KH2WCvjExxjbAYw+eDaJRw6148I0w+zgbhJrs8RRKr5R/Iu7yOvffcQ8+mTRQsX56y6wjnhYPBESflx0jBViEmRirmC8elq0ZYzGSrFWY2paY8RSLvsmWglMwLmwLCweCIk/JjjIqKSbfIRYh0khAmHGc2+lEez4gTgZNlslXNjxdqnZm6EOYuLib3yCPprpf7SE52ZksQo2KUIcxXQXjPHqyBDSHEWEkIE44LNfjxzJyJcrvTcr3JVrDV3BUAw8AoL0/pdbx1dfS8tREdCqX0OsI5OhodVbX8GKOiAkyTSFtbilsmxOQkIUw4zvT707YyEsAoKwO3e9LUNzKbmvDMmJHyEOutq0X39tKzZWtKryOcE9m3D8JhjMrKUe3fP7QvQ5JCjIeEMOG4UGMjOWmalA+g3G6M8nLCzZMkhKWwRlgib10dgMwLm8TC8RphoyuKbUitMCEmREKYcFSkrY3o/v1pq5YfM5kKtppNTXiqUn/bVaO0lNzDD5MQNomNtlp+TDyETZKfJSHSTUKYcFS6V0bGTJYQpk2TcHNzSiflJ/LW1dHz5pvocDgt1xPpFbun6pjmhCE9YUKMl4Qw4Siz0bqHe7pqhMV4JknVfLM5CNEoRhp6wsAKYdHubnq3bUvL9UR6jbZafowrPx9XYaGEMCHGSUKYcFSowQphOTUz03pdw+cj0t5OtK8vrddNtnih1jTMCQOrcj7IvLDJKhwM4i4rQ3k8oz5GCrYKMX4SwoSjzEY/7vJyXAUFab1urA5Stv/yiNcIS1MIMyoqyJk7V+4jOUmFg8Ex1+uTWxcJMX4SwoSjQv5Gcmpq0n7d2BL8bB+SjFfLT9NwJFhDkt0bNqAjkbRdU6SHGWwe9crIGOkJE2L8JIQJR5kNDWlfGQmTp2CruSuAu6wMV15e2q7prasj2tlJ7/btabumSI9wsAWPb3Q1wmKsWxcFpWq+EOMgIUw4RodCmLt3k+NACPNMkvtHmoFAWnvBwCraCjIvbLLRpkmktXXsw5EVFei+PqIdHSlqmRCTl4Qw4RizqQmiUUd6wlzFxaicnKyvmm82NaVtPliMZ8YMPLNm0b1e7iM5mYRbW0HrcYUwyP75lUI4QUKYcEx8ZeSs9M8JU0phVFZmddV8rXXaquUfyFtXR099PToaTfu1RWqE4zXCxjgnzDc5FrkI4QQJYcIx8Rphs2Y7cv1sL9gaaWtD9/biqU7vcCRYISzS3k7fjvfTfm2RGrFeYc8o7xsZIz1hQoyfhDDhmJC/EZWbi1FR7sj1DV9FVocwc1d6y1MkkvtITj79940ca4mKybHIRQgnSAgTjjH9DXhqalAuZ96GHl8lZhav6jIDuwDSVi0/UU7NTIzqKglhk0g42AJuN+7p08d0nKugAJWfH6+2L4QYPQlhwjEhf6MjKyNjDJ8P3d1NtKvLsTZMRDhWI8yBnjCAgro6uuvrszbEioHCzc0YFRVj/qNIKSW1woQYJwlhwhFaa0y/35GVkTFGlpepMAMBlNeLu6TEket76+qItLYS+vBDR64vkiscDGJUjm0oMsbwSQgTYjwkhAlHRPbtI9rV5cjKyJjYL5xsrZpvBprwVFWhlHLk+jIvbHIJtwTj9fPGSnrChBgfCWHCEaY/tjLSuZ6wbC/Y6lR5ihjP7NkYPp/cR3KSMIMt8XuqjlWsar4QYmwMpxsgpqaQvxHA8TlhQPILtu7eAveeA9/4C1QuSO65E5iBAHkLUnf+kSilrPtIvvEGWmvHeuTExEV7e4m2t495ZWSMUVFB1J5f6SooSHLrRDYL7u9lo7+NzY3tbN/dwbQ8g6qSPKpL8qkuzo9/Pi3P43RTHSEhTDjC9DcA4HHg5t0xLq8XV1FR8gu2vv0wdLfC239KWQiL9vQQ2bfP0Z4wsIYk9z/1FObHH5MzZ46jbRHjFy9PMcYaYTGJtcJyJIRNWe09Jm83trOpsY3NjW1s8reze38vAG6X4tDyArpDEXbv7yUSHbigpzDXoKrYDmcleVQV59tBzXpuRnEeeR63Ey8rpSSECUeE/I0YPl9abzw9mKQXbNUa3nnS+nz7U3DK9ck7dwIztjJypsMhbLk1L6xr/XoJYVmsv0bY2KrlxwwIYfI+mBJ6zQjbmvazye7l2uRv48M9/SvN55YXsOLQ6SyuKWHxrGKOqiomP8cKUZGoJtjRS6Ctl0BbD03tPQmf97I10M6eztBB1ywryKG6JH+QsGY99hXl4XZlV4+8hDDhCKdXRsYkvWDrnvdg7wdQeTQ0b4GW96DiiOSd32YG7BDmQI2wRDlz5+IuK6N7/XpKzzvP0baI8Yv9DIx3Yr5Hbl00qUWimh3BDjb729lo93Jtb+ogbPdm+YpyWTyrhHOPmcniWSUsmllCsXfo4UW3S1FVnE9VcT7LDikddJ9eM8LudiuYBdp7aWrrIWCHtZ2tXbzyQSudfeGDzltZlGsFtYRetP7Qlk+p15NRUyckhAlHhPx+ClascLoZeHy+5N6IervdC3b27+APp8C7T6UohFmFWp0ejlRK4a2tpXt9vcwLy2Jm8/iq5cfIrYsmD601/r09bGpsi/dyvb2rnR4zAkBRnsHimhIuO/FQFtWUsGRWCTOKkz+ikedxM6e8gDnlQw9v7+81aWqLBbWeAZ9vbmzjb1t6CUUG3t8213AN6EU76cgKzl7k3P+jEsJE2kX7+gg3N+OZnQk9YZWYLS3oaDQ5lfu3PwXVx8CsOqheaj0+4eqJn/cAZiAAbve4f2kmk7eujo6//Q1z1y5yHJzjJ8YvHAyi8vJwTZs2ruNdxcWonJzkL3IRKdfS0WfP32pjU2M7mxvb2NdtApBjuFhQPY0v181i8axiFteUMKesAFeGDPlNy/MwbYaHI2cUDbo9GtW0doXs4c6BQ56B9h5e2tHC9IIcCWFiajF3BUBrR1dGxhg+H5gmkbY2jDHeruUg+wOwawN85sfW43lnwfM3wv4mmJbcYcNwUxNGpQ9lOP8j3F8vrF5CWJYKB4MYPt+4ezKVUhjl5WntCQuFo5iRKC6lUApcSuGyPyqF9MoOoqPX5O1d7fE5XJsb29nV1gOAS8ERlUWcelQli2eVsLimhCMqi8gxsreSlculqCjKpaIol0U1gxe1dvqOH87/Dy6mnP6VkRkSwrB/CU00hG1/yvo47+z+j8/fCO8+DXWXTOzcBzB3OVsjLFHu4YfhLi6me/16Sr74BaebI8bBCmHjm5QfM5GCrWYkSlu3yb7uEHu7QuzrCrG32/7Y1f98W3fsefOg+UAHUgrcSg0Z0lwuFX9OKWXva33ucsX2P/hYV8J2NeB566PhVrhdLgyXsv4lPHYnPGe4XPHHbpfCcA/cp3/fhOdHOLfngMc9ZoQtu9rjJSI+aOkkljlmTc9n6ewSVh83h8WzSlhQPY2C3KkXCZwO61PvKy4cF68RlgHDkZ7Eqvnz5k3sZNufgrLDoOJI63HFPJh+qPV8skNYUxP5xxyT1HOOl3K5yK+rlcr5WSwcDJK34KgJncPw+ej76EMiUU1bd8gOTlaAGipUxT529A4dqApzDUq8HqYX5FDqzeHQikJKvTmUej3kelxENUS1Rmtr+Kn/sSai9bDbY59HtSYajX2Ove2AY7UmEh1+eziq6TOjmNEIkWiUcMQ6JhLVmNEokYi1TyRqfQxHogMep0p5YQ6Lakr43KJqFtnDitMLclJ2PTF6EsJE2pl+Pyo/H3dZmdNNSV7B1p422PkSfPIK609wsD7OOxteWwO97ZBXPMHWWnQkgtnczLQM6QkD62benc8+h7l7N54ZM5xujrBpOzhE7JAR0f2hwAoUVhAINTcT/eQJfNjSGd8/Eh14TDgSZX9vuD9QHRCqTt0VYllDE6f88GmGGuHJ97itMFXgodSbw+zp3ni4ml7gobQgh+neHOtjQQ4lXg+5xuSrDTWYWCgM2+GtP5xF7a9/7LmoHeASHkcSgl3CY7dLsWBmMdXFeY73+IjBSQgTaRfy+8mpqcmI/xSM8nIgCbcu2vH/IBruH4qMmXc2vHKrtX3hqoldwxYOBiEcdrw8RaLE+0gWf+5zDrcme4QjUYIdfQOX4dufBzv6CEei/aFJa6KJgSohLFmBKSE82b0yo5nu4jV7eLS3lzVvt/M///eFUbc9x+2yA5UVoHIrfRRu6+aqE2ZTUlIYD1JWwLI+xupEiYNZQ6LgdrmZgqOCU5Z8q0XamX4/ntmznW4GAConB3dZ2cSr5m9/Egp8MLN24PM1tdbz259KWgjLlEKtiXKPPBJXURHdb0gIi9Fas7crZK3Iau+x6xwlrM5q66F5fy8HjkIV5RlUF+fjm5ZLjtuFy57/43JZ85bc9lwmt8uqi+S2nx+wPeHz2L/YMS7VP+fI5VJ4A354Cs44aSEnnrDkgP0Tj3ExLd+IhypvjnvAH1JtpbtoWvsnvrW4VBZoCDFKEsJEWmmtCTU2UnDccU43JW7CVfPNXnj/WStkHVjmwuWGI8+ALf8D4T4wcifWWOzVpThfIyyRcrvxLls2peaFdfSa8TAV+xho640vh29q76UvPLBGUY7hiheQPO4T5fFK31UJRSWL0nwPva5XAzQAx62YR8HSmeM+T7xWWLBFQpgQoyQhTKRVZM8edE9PRlTLj5lw1fyPXoBQ58FDkTHzzoY3/ws+ehEOP3X817HFe8IyaDgSrCHJznXrMIPBcVdezxR94Vi17v5Q1T9caPVsHTiZ3KWgcpoVpo6eWcxnF8ygujjPrtxtFYecXpCTEcPwiczmZmD81fJjDKmaL8SYSQgTaZVJKyNjPL5KerduG/8Jtj8JOUUw98TBt889EXIKrf2SEcICu3CXlODyeid8rmSK3Ueyp74ez5lnpv36Wmv6wlG6QxF6zAg9oTA9oSjdobD92Hq+OxSh1/4Yfz4Uoa0nZPdo9bKns++g808vyKGqOI/ZZV6OPXS6Fa7sW6NUleRTWZSL4c6+mkrhoBWaJlr4V6rmCzF2EsJEWpmNfiAzaoTFGD4fkdZWtGmiPGMcCopG4N1nrHA11FCjJ8/avv1pOOu3Bw9ZjpEZCGBUZ1YvGEDe/Pm4CgroWr+eaUOEMK01XaEIbd0hOvvC8QDUc2AoGhCWrDDVY1r7DxqiTOvfWOsuetyKfI+b/Bw3RXkeqkvyOapq2oCbAlcVW7c3mayTysPBIK6iogmHendpKRiGhDAhxkBCmEirUIMflMJTM/65J8lm+HygNeHW1rGXV2hcD10tVnX84cw7G7Y+BrvqYdby8TcWq1q+55BDJnSOiYqVK2jrDtHWY9LeY9LebVI5dx771/6d/1i6lf09Jm09Zv8+3dZ+Y6mHFAtIsY/eHDd5HjelBTlUl/Rv88b3Mcj3uPDmGOTluPHax+Ul7OPNcZNnf+7Jwp6rZItVy58o5XJhlJVNfKWxEFOIhDCRVqbfjzFjBq6czCkUGKsUHg4Gxx7Ctj8JLs/Iw4yHn2rtt/3JCYUwrTXmrgDeT35y3OdI1GtGaOs2aesJ0d5txsNSW0+INjs0DfbcUMU1z4/6uHj3Bv73le24p5dSnO+hJD+HqpJ8SvI9lHitx8X5HgrzjEFCVOyxQa7hyph71E1m4ebmCVfLj5lI1XwhpiIJYSKtQo2NGbdyylNZCVgTlPPHcqDW8M6T1pyvkQqx5hXD3E9Z+59yQ39B1zGKtrcT7e7GU1VFrxmhozdMV1+Yzr7wwM/77M97rcedfeF4b1VbT8gKV93mQav3ErldipJ8D8VeDyX5HnxFeRzuK7KClf1ciTeHYq/HDlsevDsq2PcPz/DXTxcx7bTPjOs1ivQyW4IU1E2sdzbGqKiwbi4vhBgVCWEircyGBgo+9SmnmzFA4v0jxyT4Duz7CI77p9HtP+8seOq7tDVsoaPoE3TYAanLDk2dvf2fHxigOu3HpYGP+CnwnXXNvPTuX0e8pFLWbV8Kcw2K862wNLe8gJJ8qxr5tITeqZJYmLI/FuYaY17Jp4uX0JaXR3d9PdNO++yYjhXpp6NRwi17kjIcCdbPUs+mTUk5lxBTgYQwkTbRnh7CLS0ZtTISwD19ujWhODjGYZT4Dbv754P1mhGe2dLEM2/vpq3b7A9UfWEK+vJ5yYA77riV30eGv9F1QY6bwjyDglyDolyDwjyDsgIvC/abAJxw/AI+ecSR8YAV/3fAMfked1pLIqicHPKXLplS9cKyWaStDUwzeSGsooLI3r3jW+QixBQkIUykjblrF5BZKyPBnlBcUWHdxHsstj8JNXVQNIP3gx388XU/j77ZSHuPycySfGZNz2dmSV5COKph97ajuVhtZe6JP6HIDkyFucaAzwtyjCHnQu29bzvNwCVfOg4jA+69ORhvXR17/u3fibS34y5Ozv0yRWrE3vPJDGEA4T17Mq6OnRCZSEKYSJtQg1WeImdWZs0Jg3EUbG1vhKaNbD3qGm74j1d546O9eNyKzy6YwYXLZ3PsoWWDB6nCL8FzN3De4S4oHvsvKTMQQOXmWr13Gaqgro49WtO9YQNFn5F5YZks9p73VCY5hLW0SAgTYhRkfbZIm3iNsAy5b2Qij89HuGV0Iez9YCd/ffQPAPzTW9U07+/l+2fM49UfnMxtXz2G4w4rH3pVX6yq/rtPj6udZiCAp6oq46quJ8pbtAiVk0P3GzIkmelMO4QlvSdMVkgKMSrSEybSJuRvxFVQgLukxOmmHMTwVdL1+htDbu8LR/jrlt388fUGXv9oL/fn/C+7c2fzswu/yHGfGKLXazAVR0DZ4dZ8suX/OOZ2mk1NGXXPyMG4cnPJX7xY5oVlgVhPwvTZtAAAIABJREFUmFFenpTzya2LhBgb6QkTaWM2NOCZNSsje3EMn4/o/v1Ee3oGPP9hSyc3PbWNY3/xHFc9uJGm9l5+fHIVx7nfYcaKL3HC4cP0eg1l3lmw8yXo2TfmdpqBAJ6ZmR3CwJoX1vvOO0Q6OpxuihhGuDmIe/p0VJLq9hll00GpsS9yEWKKkhAm0ibU2EhOBt24O1HiX/B94Qh/3hTgK3e8xmf+7wvc/fedHHtoGfddspx13zuJS3zvoXRk6Bt2j2Te2RANw47/N6bDon19RPbswciCuTbe5XUQjdLz5ptON0UMIxwMYth18pJBGQbusrJRD+0LMdXJcKRICx2NYjY2UrhypdNNGVRsYvI9T7zB7W3F7O0KUVOaz7WnHcl5tTX4ivL6d97+JBRVQfUx47vYzGVQOMM6z6LzR31YuKnJamuGD0cC5C9eDB4P3evXZ+z3XMRuWZScavkxRkWF9IQJMUoSwkRahFta0H19GbcyMhSO8r/bdvO/LzbxTeDVN96l7rOn8dUVh/CpwSbYmz3w/nOw+CvjvxG3ywXzzoRND4HZa93gexRilcg9VZkfwlz5+eQvXEiXzAvLaGZLkLwFRyX1nEZFucwJE4MLh8DInFvWZQIZjhRpYfrtlZGzMmNl5MetXfzyme0c98vn+PYf32JbXy4A1x/n4z++VsvKIyoGn+v14Towu0e+YfdI5p0FZhd89MKoDzFjPWFZMCcM7HlhW7YS7epyuiliENo0iexpxahIzsrIGMPnkxAmDhZ4C351CDx5tRXGBCAhTKRJyN8IOFsjLBSO8vTbTVz0n6+z8tfruPOlDzlmdin3XFzHX390Jiovj7z9I0yW3/4k5E6DORO89dKcE63zbH9y1IeYuwKgVPxel5nOW1sLkQjdb210uiliEOHWVtA6qXPCwB6ObG1FRyJJPa/IYpEw/OUqQEH9XfBfZ0PHbqdblRFkOFKkhelvAJfLkQKODa3dPLC+gT/VN7Kns4+ZJflcc+oRnF87ixnF/UOBRqVv+Kr50Qi8+wwc/tmJd6kbOXD4qbD9aTj7d+Byj3iI2dSE4fNlze1g8pcuBbfbmhd2wvFON0ccIF6eIgVzwohGiezdG68bJqa4N+6Apk1w3j2gNTxxBfzHSvjyfTArOTePz1YSwkRahPyNVpHRJC2FH4kZifLstmb++EYDL+3Yg0vBZ+ZVcuGK2Zx4RAXuQYYaPRW+4avmN7wG3a0TH4qMmXcWbHkU/G/AIZ8ccXczEMiKSfkx7sIC8hYskHphGSqc5EKtMbHgZQaDEsIEtPnh+RutP16P+gIoBRVHwoNfhbvPhDN/DbUXO91Kx0gIE2lh+v140lCewr+3mwfeaOBhu9erujiPq085gvPraqgqzh/2WMPno2frlqF32P4UuO0erGQ47FTrfNufHHUIy1+4MDnXThNvXS17772PaG8vrrzRLUAQ6WHavb6eJIcwj1TNFzFaw9PXAhrOvNkKYACVC+Af18Kjl8KT37Hmi535azByHW2uE2ROmEiLkN+fsvlgoXCUv27ZzdfveoMTf72W21/4gCWzivnDN2p56brPcNUph48YwACMykrCzUG01gdv1NoKS4eeBLlFyWl43jSYu9IKd4NdM/Hy0Sjm7t1ZMyk/xltXB6ZJz8ZNTjdFHCAcbAG3G3eSbwQvty4ScdufhPeegZN+AKWHDNzmnQ4X/glOuAbe/C+45yzY3+RMOx0kPWEi5aJdXURaW5O6MnJ3ey/r3g3y/PYgf39/D12hCDOm5XHlZw7ny3WzqC4ZOXQdyPD50L29RDs6cE+bNnBj81Zo+xg+dU2SXoFt3lnWX4LBd6By6FIB4ZY9YJpZNRwJ4F22DFwuutevp+DYFU43RyQI28OFarylVobglhAmAHr3w9P/DJUL4dhvDr6Pyw2n/BSqFsPj34I7VsL598LsY9PbVgdJCBMpF2rcBUxsZWQkqnmrYR9r3w3y/P/P3nmHR1VtffjdU1IJ6Y2OtAAiHcSGoAhIsXeviFL0Vr/72cWCil2v97uWqwiIvWKhoyIqCgoqokDoKZDeQ9q0/f2xMyFAQibJnDlnknmfZx7MzDl7rxmTOeus8lup+ezKLgOgU2QIFw/tzPn9Ezm7TxwWc8svKO4CZUde3olOWOpKQEDfyS1ev0H6XahatlNXntwJy1YaYf6gll8fc0QEISkpgbowA6KEWr2bigQwBQVhjooKOGHtnfWPQnk2XPUWmJtoJhp4McT1VXVir0+FyU/CiJuOpi/bMAEnLIDm2DMzALB2aV5NWFGFjW/35LM+NY9v9+ZTUmnHbBIM7x7N3ZNTGNcvgb6JHbw2i9It/WDPzSW4d+9jX0xdobp4IrwsDxGRCF1GQupyGHtHo4fVCbX6WSQMVEqy+L33cNlsmHzUmBGgaRx5uVi7d2/6wBYQUM1v5xz+WXVEjpoNXYZ7dk7iAJjzNXw8G1b+E7K3qTqyNl4nFnDCAmhOnUZYt5M7YVJKdmSV8XVqHut357EtswQpIa5DEOelJDI+JYGz+sQRGaqNREPd/MjjLx7F6ZCzHSY8rMm+pEyBLx9UXURRDX9Gfu2EjRpJ0dKlVG/frrTDAhgCe14+YSO1kQewxMcHImHtFbcmWEQSjL+/eeeGRsO178PXj8F3z0DuTiVj0dH/vvc8JeCEBdAce2Ympo4dMUdGnvBaebWd7/cVsD41jw2788krrwFgcJdI/nFeH8b1S2BQ58iG1eu9zFEn7DiZit2r1L8tHdjdFClTlRO2exWMntvgIfasbPUZduigjQ0aEjZ8OAhB5ZYtASfMILiqq3GVlmqSjgTlhNUcPKjJ2gEMzo8vQ87vcOWbqvmouZjMcN79qk7sk1uUntiVb3jUQe6PBJywAJpjy8wkqIuqB5NSsj//CF+nqjTjlrQiHC5JRIiFc/rGM75fAuf0jSc+wvchaFNICKbIyBMFW1NXQnx/iO2lzcZxvSGun0p5NuqE+ZdGWH3MUVEE9+2r6sJubaRAN4BPcUepNHPCEhJwFBQgpfRauUAAP6AkQ0Wx+k6G/tNat9aA6RDXB967TinsT3oCRs5qc3ViAScsgObYMjMp69yDJZ/9wde788gsqgIgJSmCWWefwrh+8QzvHt2qonpvYU2Ix5FfLxJWWQTp36s2ai3pPxU2Pq/2C4s54WV7drbfOmGg6sJKPv4Yabf7jeJ/W8Z9o6FlJAy7HWdJCZboaE32CGAwpISVtwNCaX55w1lK6A+z18OyObDqdsjaBlOeBWvb0RzU/6oXoE2SWVTJm5vSuGnRZiozMlmeJ/hw6yH6JUaw4JJT+f7u8ay57RzunpzC6FNiDeGAAVjiE7DXT0fuWQPS5T2V/MZImQLSCXvXNfiyP0fCQDlhsqqKqj9OIoYbwGe4U+7WRK0iYUc7jQO0E3Z+BnvXwvj7Gq1tbRGhUXDNe3DOnbDtLVgyGUoPe299nQlEwgJ4BbvTxZa0Ijbszufr1Dz25h0BYEhwNVaXk8kThnPXrRMIsTY9I1FPLAkJ1PxYr5YldSVEdIJOQ7XdOHmo2mfXchh89TEvOcvLcZWXY+3kX/IU9QkbqWrBKrdsJWyoxp9lgCaxazSyyE2dYGtePvTrp8keAQxEdSmsvguSToNRDZdUtAqTSTl3yaepOrFXx8IVS6GH/8+kDThhAVpMXnl1ndO1cW8B5TUOrGbB6J6xXD2qG+P6xZN4YCcZ78PAkQMM74BBrWp+fj7S5UI4qmHfVzD0eu3rEEwmSLkQfn0bbJUQFFb3kj1LqUj7cyTMEhNDUK9eqi5szmy9zWn3OPLyEcHBmI7Xw/MSAdX8dsZXD0NFHlzzLpg1dCv6TzuqJ/bGdJj4uJLB8OM6sYATFqDZfPzzIV7/IY3fD5cCkNQxhKmDkxnXL4Eze8cRHnz016rk20wAn8yN9AaWhHhwOHAWFWHJ3wyOKlWv5QtSpsCW1+DABuWQ1WLPUqF3f3bCQEXDyj5fjnQ4EJbAV4+eOHJzsSQkaFY03x6dsKrffqNm/wGiLr1Eb1N8S+YW2LIIRt8CnYdpv198v6N1YqvvUHpiU57z2zqxwDdhgGbx32/288TqVAZ26sgdE/sxrl8C/ZMjGv0yt2VkgsWCNSnJx5a2jPoyFZbdKyEkErr7KOTd/SwIjlQp0PpOWLaKhPmbWv7xhI0cScl771O9K5XQQafqbU67xpGXh0WjejAAU2gopoiIduWEFb62iPIvvyR06BCCe/bU2xzf4LSrsWsRySpd6CtCIuHqd+GbJ+GbJyBvp1Lmj9RmPrGWGKMaOoDhkVLy3LrdPLE6lamnJfPpX87kL+N6M6BTx5PeTdszM7F26uQ3kY861fzsbDV4tu+kpkdueAtLEPSdqPTCnI66px1ZWQirFUtcnG/s0IiwkSMBAiOMDIAjLw+rRvVgbtqbYKstLQ2kpHDRIr1N8R2bXoTcP1Q3ZHCEb/c2mWDcPXD1O1CwT+mJpW30rQ1eIOCEBWgSKSWPrtzF/63fx5UjuvDvq4di9bCb0XboUJ1GmD9QFwlL3QxVxdp3RR5PyhSoKoLMH+uesmdlYUlO9vqgZV9jTUggqHv3gBOmM1JK7Pn5WOJ94IS1k+5I6XJhS09HWK2UfvZ5XfS6TVOcBhueUGLTvirZaIiUKSo9GRoNS6fD5v8quQw/wb+/1QNojsslufeTP1i08SA3ntGDJy49DXMz1OvtGRlYmxhXZCQssbEgBI49W8AcDL3O860Bvc9T+6auqHvKnuXfGmH1CRs1ksqff0Y6nXqb0m5xHTmCrKzUrDPSTXuKhDmys5E2GzE336SiYUuW6G2StkgJK/9XqdtPflJvayC+r3LE+k6ENXfBp7eCvUpvqzwi4IQFaBSH08X/fvgb7/6UwZ/P7cWD0wY0a3yQs7wcZ0kJQX5SlA8grFbMsbE40vdAr3EQ7OMxQcERcMq5ygmrvZvzd42w+oSNHImrrIyaPXv0NqXd4o5OWRK9PIz+ONxOmPSjqERLqUlLAyD8jDOInDqVkg8+xFFUpK9RWrJjGez7EsbPM04dVkhHuOptOPde+O1dWDxRzeM1OAEnLECD1Dic/PWdX/nk18PcMbEfd05KaXYnlf2QGtxt7eI/ThiANToCe2mVdrMimyJlihr/kfsH0mbDkZ+P1c+L8t0E6sL0p84JqxVU1QpLQgKypgZXebmm+xgBW3o6AEE9ehA7exaypoaiN97Q2SqNqCqB1XdD8hAYNUdva47FZIJz71LirkUHlZ7YwW/1tuqkBJywACdQbXcy542fWbMjh/unDuAv43q3aB1bhroLCfKjdCSAJcSGo8oM/SbrY0C/yYCA1JXYc3NByjYTCbMmJ2Pt0iXghOlInVq+D9KR0D5kKmxpaZjCwrDExxPcqxcREyZQ/PY7ONuiA/rVfKgsgGn/VulII9JvskpPhsXCGxfDppcMWycWcMICHMORGgc3LvmJb/fm88Slg7j5rJa3WtsP1WqE+VFhPoBFFuCwBUO4Tt2IHRKg62hIXYH9cBaAX6vlH0/YyJFUbtmKdLn0NqVdYs+tjYTFaxwJi28/o4tsaWlYe3SvyxbEzpmDq7yc4nff09kyL5PxI2xdDKNvhU5D9Lbm5MT1gVlfKYds7T3wyVwlhG0wAk5YgDpKK+1c/9qPbEkr5vmrhnD1qG6tWs+WmYk5KgpzhI9bl1tD0UEs5OOsdCFtNv3s6D8Vcn7Hvu93wP+FWusTNnIkzpISavbt09uUdokjLw9Thw6YwsM13ad9RcLSCe7Ro+7n0FMHEn7WWRS9/jquKv8oEG8StyZYxy4w7l69rfGMkI5w5Zswbh5s/0DViRWn623VMQScsAAAFByp4eqFm9mZVcZL1w3joiGdW72mPSMTa7fWOXI+Z/cqLKEqQuMoKNDPjn5KrNW+Q+ne+LtQa33CRgXqwvRECbVqW5QP9YZ4t3EnTNps2A8dIqieEwYQN3cOzqIiSj5epo9h3uaH/yhR1CnP+L5hqTWYTDD2Drj2fSWr8eq5cOAbva2qI+CEBSCntJqrXtnEwYIjLJwxgokDvaNu728aYQCkrsSarGzWNY0S2wsSBmDfvxNzfBymoCD9bPEy1s6dsSQnc2SDcb4I2xOOvDzNi/IBTOHhiLAwNcS7DWM7dAhcrhOcsNARIwgdNozCRYv0jap7g6IDSp2+/zT9amVbS9+JMPtrVe7x5sXwwwuGqBMLOGHtnMyiSq58ZRM5pdUsnTmKsX298+UsHQ4lreBH8hRUFEDGJiyDxgJHa2d0I2UKjtwCrBqOl9EDIQTRV11FxXffUf7VV3qbY1yqijVZ1hdq+aD+P1vi47SLhFWXgqNGm7WbgS3taGdkfYQQxM2dgyM7m9IVK3WwzEvUaYJZYfJTelvTOuJ6w6wvVQf6uvtg2Wzd68QCTlg7Zn/+Ea58ZRMllTbenn06o0+J9dra9pwccDj8qzNy92qQLiwjLgIMUFCcMgV7pRlruP53a94m9uabCO7Xj5z5D+MsK9PbHOPx81J4sgd8+RC4vCdsK10upZbvAycMNFTN3/cVPH8avHwm5OurOWer1QgL6t79hNfCzzmH4JQUChcu9F+B4j8+hv3r4bwHoGMbqE0NjlB1YuPvh98/guX/0NWcgBPWTtmVXcZVr2zC5nDx3pwxDOka5dX17Znuzkg/csJSV0JkV8x9zwCrVXcnTCYNxl5pwWoq1NUOLRBWK8mPPoqjoIC8p5/R2xxjUZ4D6+6HsDjY+C94+wqo9I7wp7OkBOx2LAna14SBBqr5UtZ+JperodFVxbBwPOxa0fS5GmFLS8McHY05MvKE19zRMNvBg5R/8aUO1rWSyiJYczd0Hg4jb9bbGu8hBJxzO1z3oe5NBgEnrB3yW2YJV7+6GYvJxPtzxzCgU0ev71GnEdbVT2rCao6ou72UKQizGWt8PI68XF1NchYVIZ1gdaTpHjLXgtBBpxIz80ZKPvyQis0/Nn1Ce2HNPeCohpvWwtTnldjkwnGQ80erlz4q1OrDSJi3nLCaI/DhjSo6OOAimP0VzP1GSRG8fx2sXwA6yJ7Y0tJOSEXWJ+KCCwjq3p2CV1/xv+kBXz6kHLGpzxtXE6w19JkAMS2XYfIGmjphQohJQojdQoh9Qoi7G3i9mxDiayHEr0KI7UKIC7W0JwD8dLCI6177kY6hFj68ZQy9E7TpcrEfykRYrT7pwvIK+9eDs6ZuYLclIQG7zpEw9xBga0iVsq8NEv/Xv2Lt3o3sBx5oO638rWHvF2okzDm3q/qVETNh5iqwV8OiCfBH6zrtfKWW78aakICrshJXRUXrFio6oN7/rs/h/Plw+RIIClcjc2auhiHXwbdPwbtXK0V3H9KUEybMZmLnzKZm5y4qNm70nWGtJX0T/LIUxvwZkk/T25o2i2ZOmBDCDLwITAYGANcIIQYcd9g84AMp5VDgauAlrewJAN/tzeeGxT+S2DGYD+eeQdeYMM32smUewtq5M8LsJ3dPqSshNBq6nQEoJ0zvrq46odbosGMGerclTKGhJD/8CPaMDPL/84Le5uiLrQJW/hPi+sGZ9epUuo5SEZ+kQfDRTPjigRbXidlzVXTXF4X54CWtsL1fKlmBsiy47iM46zaVTnJjDYGLXoQLn4H9X6n0ZF5q6wz3EFdFBY68vJM6YQCR06ZhSUqi4JVXfGJXq3HYlCZYZDc49x69rWnTaBkJGwXsk1IekFLagPeAi447RgLuXFgkkKWhPe2adTtyuPn1rfSIDef9uWNIigzRdD97Rob/dEY67bBnDfSdDGYLoIYbO3L1TUfas2qdsMHjVdOA06GrPVoRPnoUUVdeSdHrr1P1e+tTbn7LN0+qmaFT/wWW4GNfi0iCGStgxM3w/b/hrctaVCdWFwnTWC3fTaucMCnhu2dV/VdkV5izAXqf1/CxQsCo2TBjOdSUwWvnwc7PW2y3p9gyMoATOyNPMC8oiNibbqJq689Ubt2quV2t5od/Q34qTHlWRRwDaIaWTlhnoP4I80O1z9XnIeB6IcQhYBXwt4YWEkLMEUJsFUJszW/jwn9a8Nm2w9z69i/079SR9+acTlyH4KZPaiW2Q4cI8hcnLP17qC6pS0WCSte4jhxpfRqlFdizszGFh2MacpGyL+MH3WzRmoQ7bscSF0f2vHlIu11vc3xPzh9Kt2jon6DHmQ0fYwmCqc/B9P+o39lXz4Wc35u1jSMvH3NMDMJHunNuJ6zZqf2aI/DBDfDVw3DqpXDzOs9qd7qfAXO+gfh+8MGf4KtHvNpdejx1nZFNOGEAUVdcjjk6moJXX9XMHq9QuB++eRoGXAx9L9DbmjaPlk6YaOC546sSrwFel1J2AS4E3hRCnGCTlPJVKeUIKeWIeB/dwbUVPtiSyW3vb2N492jenjWaqDDtv3ydpaW4ysr8JxKWuhIsodBrfN1T7nSNnmrf9qwsrJ06IfqcD5YQZWcbxRwRQdJDD1KzezeFixbpbY5vcTlVm3xoNEx4uOnjh92g6qCcNnhtgmqz9xAl1Oo73bkWRcIK98Nr56sU/AWPwmWLmheNiewMN66CodfDd89oWidW54R5IMVjCg0lZsYMKr79juqdOzWxp9VICSv+R0ViJz2htzXtAi2dsENA/d/MLpyYbrwZ+ABASrkJCAF0mprc9ljy/UHu/Hg7Z/eJZ+nMUXQItvhkX7/qjJRSOTe9xkPQ0Ro5d0OBnoKt9uwsLJ2S1QWo13hlp791VzWDiPHjiZg8iYIXX6Jm/369zfEdWxfD4a0w6XEIi/HsnC4jVMSn0xD4+GZYN8+jdLUjN9dnRfkApshIRFCQ507YnnXw6jg4kgvXL4Mz/nZs/ZenWENg+gsw5TnY/7XqLs3b1fx1msCWloYlORlTaKhHx0dfew2mDh0oeHWh123xCts/gIPfwPkPQse2MyrNyGjphG0B+gghegohglCF98cn6TOA8wCEEP1RTlgg3+gFXvx6H/OX72TiwEQW3jCc0CDfFcjbD9VqhHX1g7mR2dug7PAxqUg42sKvp1aY43DW0cHdKVOgNBNytutmjy9Iuu8+TGFhZM+7H6mD3IDPKctWKbdTzoVBVzTv3IhEuOFzGDlbzfV769Im68Ts+XlYfdixrFTzPZCpkBK+fRreuRKiu6n6r17jWru50ra6cYVKby48D3Z+1ro1j6MmLY2gHieKtDaGuWNHoq+9lvK1a6k5cNCrtrSayiJYew90HgHDb9LbmnaDZk6YlNIB/BVYC+xCdUHuEEI8LISYXnvY/wKzhRC/Ae8CN0q/E1IxFlJKnl6bytNrd3PxkE68eO0wgi2+7VC0ZR4CIKhL64eAa07qShAm6DvpmKf1dsJcFRU4S0uPOmF9Jyk7dRSl9AWWuDgS772Hql9/pfidd/U2R3vW3KXSilOea1nExxKkBipf9CJkbIJXx0J2w466dDhwFhRiifftGKwmnbCaclW/tf5RGHQ53LQOoj13bJqk2+mquzRxgKoz+3K+1+rEbGnpHtWD1Sdmxg2IoCAKX3vNKzZ4jS/uV6Ogpv1bDb0O4BM0/aSllKuklH2llL2klAtqn3tASvl57X/vlFKeKaUcLKUcIqVcp6U9bR0pJQ+v2MmLX+/nmlFdefbKIVjMvv9jsmdmYI6NxRTuB101qSuh+5kQfuzIpqPDh/Vxwuo0wpJrnbDwOOg2pk3XhbnpOH064WedRd5zz2E/fFhvc7Rj9xoVmTnnDjWwvTUMvR5mrlEpyUUXwPYPTzjEUVgIUvq0Jgzco4saccIK9qkIVeoqmPgYXLrwmLIAr9GxE9y4EobNgI3PqYhbK2dzOoqLcZWWEtxMJ8wSG0vU5ZdT+vnndR3QupO2EX59C8b8FZJO1duadkWTV2ghhIdFCgH0xOmS3LPsd5Z8n8ZNZ/bksUsGYTa14M7aC9gy/aQzsnA/5O08IRUJKo1iTUjArpNqfp08Rad6s9pSpkDeDiVc2YYRQpA8/yEAsh+a738q455gq4BVt0N8Cpzxd++s2WW4ivh0GgrLZsGae4+pE3NLrujihDUUCdu9RtVqVeTDnz6BMX9pWTTQY0OCYfr/KfX3A9+o2rPclhfIN6cz8nhib5oJQOHiJS3e32s4alQxflQ3GHuX3ta0OzwJk/wohPhQCHGhEFr+hQRoKXani39+sI33tmTyt/G9uX9qf/T8X2XPzPSPzkh3VKlfw4Ma9BRsPeqE1SuOdduZukoHi3yLtXNnEv7nf6j47jvKPtde78nnbHhc1fhNfV6lFL1FhwSY8TmMmgubX4S3LoGKAqCeRliij52whHhcZWW4qqvVEy4XfFOrbh/dQzmOp4z1nUEjZqqomL1SdWHu+KRFy9jS0oGGB3c3hbVzZyKnTaPkww9VhFJPNj4PBXtgyr+0iUIGOCmeOGF9gVeBPwH7hBCPCSH6amtWAE+pcTj5y9u/8Nm2LO6alML/XtBPVwdM2mzYs7P9ozMydaVSIW+k/kQ5YTqlI7OywWI5VlQzpickntouUpKgOslChw4l97HH9b9QeZPs7bDpJRh+I3Qf4/31zVa48Cm4+GXI+FHpiWVtq9Pq8pVavht3DZqjoACqy1T919cL4LQrlf5XlA4NPN1Gq+7SxIFqHuUXDza7TsyWlgYWC9bOLat9jZ09C2mzUbT0jRad7xUK9ikZj1Mvgz7n62dHO6ZJJ0wqvpBSXgPMAmYAPwkhvhFCaPANEsBTqmxOZi3dyrqducyfPpBbz21lXYkXsGdng8tl/M7II3mQ+SOkTG30EEtiAo7cXF3SYfasLKxJSSeOfUqZCpmb4UjbbyIWZjPJjz6Cq7KS3AUL9DbHO7g1wcJi4PyHtN1ryLVw0xqQLlg8EcfvG8Bsxhzj2woTtySGY+8vSsl+92qlQXXJK2D1TNpBEzomq87J4TPh++eVMn8zphDY0tII6tIFYbW2aPvgU04h4oILKH5x8WdsAAAgAElEQVTnHZzl5S1ao1VIqUYTWUJh4uO+3z8A4FlNWKwQ4h9CiK3A7ShV+zhUZ+M7GtsXoBHKq+3MWPwT3+8r4KnLT2PGGT30Ngmo1xlp9EjY7tWAbLAezI01IQFps+EqLfWdXbXYs7OxJjeg05MyRV1U96z2uU16ENyrF3F/vpWyVaspX98GhphvWQRZvygnJDRa+/06D1MRn84jcGxbi6WDFYFvpT/qBFvf/ztUFsINn8Hpt2pb/+UplmCY9rzqCEzbqGrUcjwbndXU4G5PiJ0zG9eRI/p0Av/2LqR9BxMeUnInAXTBk3TkJtR8x4ullFOklMuklA4p5Vbgv9qaF6AhSiptXL/oJ37JKObfVw/lyhHGqb+yZ6pZaoavCUtdCVHdVXqvEdwFzM0eueIF3Gr5J5A0SA3VbScpSYDYm28muF8/ch6ar0/EwFuUZSlNsF7nqfSPr+gQDzd8iiOoOxZzGbx5tE5Mc1wuLHuUg+EgXjmEPc/2zd7NYfiNSmXfXg2LJsAfH5/0cOlyYUtvvjzF8YQOHEj42WdTtHQprqqqVq3VLCoKYe190HU0DLvRd/sGOAFPnLB+UspHpJSHjn9BSvmkBjYFOAn55TVc/epmdmWV8d/rhzNtcAMXah2xZR5CBAf7bEBwi6gphwMbVGrvJHfjbtV8h49V86XdrpTNOzUQCRNCRcP2f60EKNsBIiiI5EcfxVFQQN7Tz+htTstZfSe47Goosq+jQGYrDlcUll6nwaEt8MpYyPpV2z2rS+H96zD//DyYBI7eV0CUgW/Ouo5UTQJJp8FHN8G6+xudQuDIy0NWV7faCQOImzsHZ1ERJR+d3PHzKl/crwadT30+oAmmM558+uuEEFHuH4QQ0UKItRraFKARskuruOrVTaQXVrL4xpGcP8B4IWR7ZibWLl0QRv7D3vclOGtOmooE/QRbHXl5qq6uoUgYKLudNbD/K5/apSehg04l5sYbKfngAyp+/Elvc5pP6irYtVxJAHgyiFoDHHl5WPsMVXViQsCiibBNozRY/h6l/7VnLeLCp7DEJ+Ao1GZ+o1eJSIIZy2HEzfDD/8HblzVYJ3ZUnqL1orJhI0YQOnw4hYsXI222Vq/XJAe/hW1vK2mUxAHa7xfgpHhypYyXUtb99UgpiwHfttcEIKOwkiv+u4n8shreuHkUZ/Ux5ohNW2YmQV0MXg+WuhLCYlUo/iQcHT7sWyesQY2w+nQbA6Ex7SolCRD/t79i7daN7Afu923qprXUHIFVd0DCADULUQdc1dU4S0vVjUWnoWosUNdR8OktsOpOcNq9t1nqSlg4XomhzvgcRs9VncbNGeKtJ5YgmPocTP8PpP+guktzfj/mkNZohDVE3Nw5OLKzKV2u8UQMe7XSBIvuAWPv1HavAB7hiRPmFELUtboJIboDbVA90bjsyzvCla9s4kiNg7dnj2ZkD2Pq50opVSSsm4E7Ix02NSS472Qwn3yguSk4GHNUFPZc3wq2nqCWfzxmC/SbDHvWePfiaXBMoaEkP/ww9vQM8l94QW9zPOfrx6DskCr+Nresk661uB0gS0Jt9Dw8Dv70KZz+F/jpFXjjotZ33Lpc6r2+dy3E9VapvR5nqX09mR9pNIbdADNXq7+x1ybA7x/VvWQ7mIYIDfWa8G342WcT3L8/hQsXIp3eGanUIBv/BYX71JgsPTtTA9ThiRN2H7BRCPGmEOJN4FvgHm3NCuCmtNLOtQs343BJ3ptzOqd1iWr6JJ1wlpTgqqgwdmdk+kaoKW0yFelGD8HWBoVajydliqq5SdvoI6uMQfjpo4m64gqKlrxO1e+edbHpStY2+PFlGHGTijzpRJ1Qa32nwWyBSbWjgg7/rOZOHv65ZRtUlcB718A3T8KQ69QIpcij3wNqdJE+mnutossIFTXsNAQ+vlkVszsdqjOye3evlV0IIYibOwdbWhrlX3zhlTVPIH+PGtk06ArofZ42ewRoNp7ohK0BhgHvAx8Aw6WUgZowH/H46l0UVth4feZIUpI66m3OSbFn1HZGdjFw8W3qSrCGQa9xHh2uh2Cr/XAW5pgYTCEhjR90yjil79POUpIACXfcjiU2lux585B2A0cCnQ6lCRYeD+c9qKspR52wBhpm3KKpwgyLJ8Ovbzdv8bxUlX7c9yVcWDtM3Hrs764lPh5ncbFvap68TUQi3PA5jJwNm16Aty7FdnC/11KRddtMmEBQjx4UvPKq97UJ3Zpg1rCAJpjB8NSNdwJ5QCkwQAhxjnYmBXCz+UAh723JZNbZPTm1c6Te5jRJnUZYN4M6YS6XKpDufZ7HoXhdnLDs7MbrwdwEhan3kbpSfcG2I8wdO5L00IPU7N5N4aJFepvTOFsWQva2Wk0wfSPY7pR6o2r5yYNVxKfbaPjsz6qGzZNU967lSoC1pkwVtI+a3WDnZ119pb9OPrAEwRTlYMq0zdgOHSIozrvpPGE2Ezt7NjW7dlHx3XdeXZttb0P69zDhYSVZEsAweCLWOguVglwLzK/99yFtzQpQbXdy7ye/0zUmlNvO848pUfZDmQAtHuOhOVm/QnnWSVXyj8eSmICjoEDbOo3jaFQj7HhSpqj3o7XUgAGJOO88IiZPouDFl6g5YMCB5qWHYP2j0HsCDLxEb2tw5OUjgoMxRZ7kZi48Fq7/BMb8FX56FZZOV5MlGsLlVO/v/eshvp/S/+p+RqNL16nm+1td2PEMvR77pCXggqD9b8H2D726fOS0qViSkyl45VXvLVpRAOvmqYaeoX/y3roBvIInkbB/ACOBdCnlOGAo4Od/ScbnpQ37OZBfwYKLBxEaZG76BANgy8jEEh+PKdSgBZ+pK1TKpc8FHp9iTUgAp9Nnd/BSysbV8o+n7yQQpnaZkgRIuu8+RFgY2fPuR7p8qwLfJKvuVI7KlGcMoQzvyMvDkpDQ9FxZswUmLoBLX1PO/Stj4dBxdWJVJWr49rdPw9Drlchp5MlvvOrmR/q7EwbUVIUDENSrNyybBWvubVRPrLmIoCBib7qJqp9/pnLrVq+sydr7VIduQBPMkHjyf6RaSlkNIIQIllKmAv20Nat9sze3nJc37OOSoZ05p6//hI4N3xmZuhJ6nKnm9nnIUa0w31w8nCUlyKoqrJ09iISFxUD3M9utE2aJiyPxnrup+uUXit/VYexLY+xaAbtXwrh7lBSAAXA7YR5z2hWqTsxsgSWT4Jc31fN5u9Ron/3rlejs9BdOqP9qiLp0pD8W5x9HnTzFre/DqLmw+UV482KvTSGIuvwyzDEx3omGHdgA29+Ds26DhJTWrxfA65y8R19xqFas9VPgCyFEMZClrVk64nLBgfXQ/SyPvly8v73knmW/Ex5sYd6U/j7fvzXYDh0ifJR+HWAnpWAvFOyGkTc36zR3S78jLxcYqIFhx2I/rP60LJ5EwkClVtfcBYX7IVb/Ae4ecyQfTOZmOcQNEXnRRZQtX0H+s88Rce65+qfCa8pVPVXiqXD6n/W1pR6O3FyCBzTz+yT5NJVm/GgmfP5X2LsW9q2HoHCYsQK6j/F4KUtsDAjRJiJhtrQ0zJGRWGLj4cKnVOfk8tuUntjkp1pd/2cCYi46l/wly6j68l1C+7RQEFZKpQkWcwqc/b+tsimAdjTphEkp3QUNDwkhvgYigTWaWqUnGZvgrcvg4v/CkGt8vv27WzLYml7MM1cMJrZDsM/3bykumw1HTo5xZ0a6o0UeSlO48bVqvj27CaHW40m5UDlhqSvgzH9oaJkX2bMOPp6lip2vWKqiky1ECEHS/PkcmD6d7Ifm0/XVV5pOuWnJ+gVQng1XvambJtjxSCmx5+fTIeHc5p8cFgPXfQxfzVcK8p1HqPfWsXnj0oTFgjk2to04YcfNjBxyLST0h/euVzIdXiDaJii0JlL45D10ObO4dYvd8FlAE8zAnNQJE0KYgO1SylMBpJTf+MQqPel+BsT1U51NPnbCcsuqeWJVKmf0iuWyYQYtbm8E+6HDIKVxOyNTV0LykGO0izzBEhsDJpPPnDBHU2r5xxPVTc26S11pfCfM5YKNzypHJWkQ2Kvgjekw8TEYNafFtVNBXTqT8D//Q+6CBZQtX07k9OleNtxDDv+ihE9HzlL6UgbBVVGBrKxsubCo2QIXPKLqv6J7Kue5BVgS4n2uuacFtvT0EyP+nYbCn3/wWpOMGYi2fkbhB2upGfcEwV2TWrZQRLJqnAhgWE7qhEkpXUKI34QQ3aSUGb4ySleEUF+iq+9QX6qdh/ls6/nLd2BzunjskkH63s23gLrOSCNqhJXnqKHF4+5r9qnCYsESF+cz1Xx7VjYiNBRzVDNSGilTYcPjUJ6rNI2MSE05fHKLitiddpVSj3fa1HOr71QXr6n/avEde/S111C2ciW5Cx4j/MwzscTGevkNNEGdJlgCnHe/b/duggaFWltCKy/mfqmafxyuqioc2dkNz4wMiYRTzvXaXjF/H0TRZxsoXLOdTo9f7bV1AxgLTwrzk4EdQoivhBCfux9aG6Yrg6+GoA6w5TWfbfnFzlxW/Z7D38/rQ4+4cJ/t6y1sGcoJM6Ra/u5VgGx2KtKNL1Xz3fIUzXLCU6YAEvas1syuVlGwTw1z3r1aaWZd8opytkIi4aq34dx74bd3YfEkKMls0RbCbCb50UdwVVaSu+AxL78BD/jpFcjZDpOfVO/LQDhqbyC8NWKnpbQFJ8xWK0jtbaHWhrDExhJ1xRWULl+O/fBhzfcLoA+eOGHzganAw8Cz9R5tl5CO6m79j4+hskjz7Y7UOHjgsz/olxjBnHNO0Xw/LbBnZqoITpwBB4unrlRplISWNTr4UrDVnpXlmTxFfRIHQlR3Y3ZJ7l6juukqC1Rtyum3Hpt2NJng3Lvgmveg6IAanXOwZUKVwb17E3vrLZStWkX5+vVeegMeUJKpUqx9J8GAi3y3r4ecVC3fh1ji43EUFvpUc8/b2A6mAb5xwgBib5oJQOHiJT7ZL4Dv8WRs0TcNPXxhnK6Mmg2Oavj1Tc23embtbnLKqnn8skFYzf6p42I7dIigLl2Ml0atLoMD36hoUQttsyT60AnzRC3/eISA/tNUO3pNuSZ2NRuXCzY8Ce9eBTE9VZddz7MbP77fZJi9HsJi1TDpzS+3aBJA3KxZBPftS85D83GW++CzkBJW3Q5IuPBpQ2iCHY+99ne3UbV8H2GJjweXy39V86knT+EjKR5rcjKRF02n5KOPcBR4RwIjgLHwRDG/XAhRVvuoFkI4hRBlvjBOVxL6K5mKLYuU6KJGbMssYemmNG44vTvDukVrto/W2DMyjNkZue8LcNmbpZJ/PNaEBJzFxbg0nnvnqqrCWVTUfCcMlJPptMFejYb/NofqMqWkvuExGHwN3LQWojz43YjrA7O+Ug7ZmrtVvZi9qllbi6Agkhc8iqOggLxnfBCw37Uc9qyBcfeqJgkD4sjLx9ShA6Zwfcsc6rTC/DglaUtLw5KY6NPPMnbWLKTNRtHSN3y2ZwDf4UkkLEJK2bH2EQJcBrygvWkGYOTNUJKuBtNqgN3p4u6Pt5MYEcLtE/23g0VKqSJhRnTCUleqAcpdW65f5ivBVnt2DgDWTs1MRwJ0Ha2iSHqnJPP3qFmCe9YozaSLX25esX1IR7jyTRg3D7a/D4sugJLm9QSFDhpEzIwZlLz/PhU//dTMN9AMqktVU0HSIBh9q3b7tBJHbq7u9WBwNBLn105YerrPUpFugnv2JGLSRIrfeQdnWduPf7Q3mp37klJ+CozXwBbj0X8adEiCnxZqsvxr3x0kNaechy8aSESIMTSFWoKzsFCpvBvNCXPUKE2qfpOVMGgL8ZVWmL258hT1MZnV+9y7DhzaRuwaJXUVLByv6ihnfA6j57YsPWcywdg74Nr3oThNjc450LwKiPi//w1r165k338/rurq5tvgCesfVZ230/6tZBwMSrPV8jWirUTCgrq3UDy1FcTNmYOrooLid97x+d4BtMWTdOSl9R6XCyGeAJpfrOGPmK0w/EYVCSvy7pDg9MIKnv9yD5MGJnHBwBZqwBgEw3ZGHvwObOWtSkXC8ar52mHPUh1QzS7Md5MyFWrKIK1lhe0txuWCrx9XQpVxvWHuN9DjrNav23cizP4aOiTAm5fAphc9rhMzhYaS/MjD2NMzKHhBg8D9oZ/VzdmoOdB5uPfX9yKOvDysiQZwwmqbdvx1dJGzpARncbHPI2EAIf37Ez72HIqWvoGrstLn+wfQDk8iYdPqPSYC5YDxWoC0YviNKsqwdbHXlpRSct8nfxBkNvHQdO1H4WhNnUZYV4PVxKSuAGs49BzbqmXcXWWaR8Kys8FsxpLYQq2vU84Fa5hvU5LVpfDetfDNEzDkOpi5ptmCuCclrjfM+lJNBlh7LyybDTbPLkLhp59O1BWXU7h4CVV/7PCeTU670gSLSIbx87y3rga41fKNEAkTQUGYo6L8NhJmS08HfNcZeTxxc+fiLC6m5KOPdNk/gDZ4UhM2s95jtpRygZTSP29lWkLHZBVh+PWtZhcJN8Ynvx5m474C7pycQlKk7+dTehtbZiYI4dnQaV/hcil9sD7nt3oGqDkqChEUpLkT5sjKwpKYgLC0MLVlDYXe56n37XJ517iGyN+t0o/7voALn4GLXtRm3mpwhKoTG38//P4RLL4AitM9OjXhjjuwxMaSPW8e0m73jj2bX4bc39XcwJCO3llTI5zFxWC3Y4nX3wkDt1aYf3b51XVG6uSEhQ0bRtiIERQuWozUuEkogO/wJB25tHaAt/vnaCGE98JC/sCo2VBVrHTDWklRhY1HVuxkePdorhtlsMhRC7FnZKqOoWADzbo8/DMcyW11KhLUfEJLQgL2XK1rwrKxJrfSkU2ZpmYXZv3iHaMaY9cKJcBaXQozlqu/ES3lGYSAc26Haz+A4gw1LHn/102eZu7YkaQHH6AmNZXCRV742ipOV9MJ+l3old8trfGaWr6XsCQk+G0krCYtDcxmgrroN1Iudu4cHLm5lH7etvXS2xOepCNPk1KWuH+QUhYDQ7UzyYB0PxPi+6sakBZoF9Xn0ZU7OVLj4PFLB2EyGU9TqCUYsjMydQWYLNDnAq8s5wvBVrdafqvoewEIs3r/WuByKWHS96+D+L5K/6v7Gdrs1RB9L4A5X0OHRHjrUvjhP03+TUacfz4RkyZR8NJL1BxoRW1nnSaYUJ2fBtQEO546J8wANWHg36r5trQ0rF06I4JaNjvTG4SfdRbBA/pTuPA1vxa9DXAUT5wwkxCiTsBKCBFDEzMn2xxCwKhZkL1NRVhayMa9BSz75TC3jO1F38QILxqoL/bMTON1RqauhB5nQ2gzZjCeBK2dMOl0Ys/NbXlRvpvQaFUUr0VdWFUJvHs1fPuUGuZ84yqI1CEqENtL1Yn1nwbr5sHHs5qsE0uadx8iNJTsefcjW5qq3fmp6j4dP88z3TMD4DCIUKsbtxPW4v8HOmJLT9elM7I+Qgji5szFlp5O+bp1utoSwDt44oQ9C/wghHhECPEw8APwlLZmGZDTroKgiBbLVVTZnNz7ye/0jAvnL+N6e9k4/XBVV+PIyzNWZ2T+bijc2+JZkQ1hTUyom8GnBY78fHA4Wh8JA5UmK9ijNLu8RV6qqv/a/xVMeRamv6BN/ZenBHeAK5bCeQ+qMoFFFyg5i0awxMWRePfdVP3yC8Xvvtv8/apLYfVdkDxYdUT6CW61fHO8viOL3Fji48HhwFlS0vTBBkJKiS3N9xphDREx4XyCevak4JVXka3MzATQH08K899ACbTmAvnApVJK7Wf5GI3gCDXYe8cyqGh+Yen/rd9LRlElj10yiBBryzWrjIb90CHAYJ2R7lRcvwu9tqQlIQFXZSXOIxVeW7M+dRph3mhuSKl937u9FA3b+bkSYK0phxkrYOQsY6TihICz/wnXfQSl7jqxxmdGRl58EeFnnkn+s8/Vfd4e89XDUJFveE2w43Hk5mGOjsakYwqtPnWdxn6WknTk5SMrKw3hhAmzmdjZs6lJTaXi22/1NidAK/GkMP90IFNK+YKU8j9AphBitPamGZCRs9RomF+aNz5iV3YZr357gCtHdGFMr1iNjNMHW6YBNcJSV0KnYV5NlWkt2GrPygZaoRFWn8gukDyk9SlJlxO+egQ++BPEpyj9r+5jWm+ft+lzPszZoCQj3roMNj7fYJ2YEIKk+fORQPZDD3keRcj8SY0vG30LdPKvclhHXl7LJU80wFfTJ7yNuzMy2ABOGEDktKlYOiVT8N9XAtEwP8eTdOTLwJF6P1fUPtf+SEhRdUZbl3g8T9Lpkty97HeiQq3ce2F/jQ30PfZMt0aYQWpkyrJU3Z4XU5FQX7BVKyesNhLmDScMoP9UOLQFyrJbdn5VCbxzFXz3DAy7AWaugo4GkiA5nphT4OYvYMBF8OWD8NFMsJ0YtQzq0pmE226j4tvvKFvhQfOC0w7Lb1Pvfdy9GhiuLUot3xipSPBf1Xy95SmOR1itxN50M1W//krV1q16mxOgFXjihAlZz9WWUrpob4X59Rk1W6U+9npWFPnmpjR+yyzhgWkDiAozRkrAm9gyD2EKD8ccbZDh47tXqX/7T/PqskcFW7WpC7NnHcYcGem9wcBu+QT359EccnfCwnFwYANMfR6m/wcsBpIfaYzgDnD5Ejh/Puz8DF6b0OCki+jrriV08GByFzyGo7Dw5GtuehHydsCFT6uSBD/DKCOL3PizEyaCg7EkGWe6SdTll2GOjaXglVf1NiVAK/DECTsghPi7EMJa+/gH4N0ZPv5EvykQ0cmjAv2skiqeXrubsX3jmT7YwFGEVuDujBRGqBEClYKL7Q1xfb26rFvsUrNIWHY2Fm+K3canqOhQc1OSOz6F185XUaQbV8KImd6zyRcIAWfdpurEyg7Dq+PU2LH6h5jNJC94FFdFBbkLHmt8reI02PCEcmi9HFn1BdLhwFFYaJjOSABTSAimiAi/G11kS08nqFs3hKnZ45Y1wxQSQsyMGVRs3OjdiRABfIonv1G3AGcAh4FDwGhgtpZGGRqzRV2Y9n8FhfsbPUxKyQOf/YFTSh69+FTjOClexpaZaZx6sKoSOPitumB6+fM2dwjHFB5e123mbRze0AirjxDqczj4rersawqXE76cDx/OgMSBSv+rmx+XfvY+T9WJRXaBty6H7547pk4suHdvYm+ZS9mqVZSvb0D0VUpY8U81smyyfzaDOwoLweWqS6UbBX/UCrOlpRkmFVmf6GuuxhQRQeGrgWiYv+JJd2SelPJqKWWClDJRSnkt0EN70wzMsBlKCHTLokYPWfNHDl/uyuOfE/rSNSbMh8b5DulyYT90yDidkXu/AJdDMyVzS2IiDg1U86WU2A9ntV4t/3hSpoLLrj6Xk1FVDO9cCRufU7NSb1yhxnX5OzE94eZ1MPAS+KrWwaw5Wt4aN3s2wX36kDN/Ps7y8mPP3bFM3WiNv18fLTQvYDS1fDf+5oRJh0PdbBrQCTNHRBB93bWUf/EFNfsbDwoEMC4ex1aFEAOEEA8LIfbSXgvz3UQkQv/psO2tBkUiS6vsPPj5DgYkd+SmM3vqYKBvcOQXIGtqjBMJS10B4QnQeYQmy2sl2OoqK8NVWendSBhAl5EQHn/ylGTuDiXtcOAbVf817d/+Uf/lKUHhcPlimPAI7FquUq21EWwRFETygkdx5OeT9+yzR8+pKobVd6tOyFH+G/Q3rBPmZ6OL7FlZYLcb0gkDiLnhBkRwMIULX9PblAAt4KROmBCiuxDibiHEb8CbwJ+BCVJKba5y/sSo2SrN8/uHJ7z01JpUCo7U8MRlg7CYjVND4G3smRkAWLsYoDPSXq1qf1IuBI3qNiwJ8Zo4YXWdkd52wkxm6DdZRcIcNSe+/scy5ZTYq1X3o7/Vf3mKEHDm3+H6ZXAkRzUd1EYHQ087jZgbbqDkvfep+OkndfyX86GyQDmkJv/V9LPXigsbqTsS6qnm+4m0Ql1nZM8eeprRKJaYGKKuvILS5cuxHTqstzkBmkmjVyshxA/AKsAKXC6lHA6USynTfGSbsek2BhIGwpZj50luSSvi7R8zmHlmT07r4p2ROUbFlqmEWoO6GcAJO/gt2I6oAdYaYU1MxJGX5/WLhz27ViOskwYpwJRpYCtXn48blxO+eEDJOCQNUvpfXUd5f2+j0WtcbZ1YN3j7Cvj2GZCS+L//DWvXruTMfxiZvhl+XgKn/1mp4/sxjrw8MJuxxBpLm9ASH4+sqcFVVqa3KR5hNHmKhoidORNMJooWe2FIfQCfcrKQQT4QASQC7lsp/7h18QXueZI5vysxR6DG4eSeZb/TOSqUf07wbneeEbFnZoLJ5D1tq9aQukKNlep5tmZbWOITkHa710eu2A9rFAkD6HkOBHU4OkWgsgjevhy+/zeMuFkp4EcYp+1ec6J7qDqxUy+D9UqI1mR2EjNjBrb9+3G883eI7Arn3qO3pa3GkZePJS4OYTZWNM/fZCpsaemYIiKMI8PTANbkZCIvmk7JRx/5zecaQNGoEyalvAgYBPwCzBdCHASihRDt4JbZQwZdCcEdYYvKxb/yzQH25R3h0YtPJTy47Uup2TIzsSYlIfQeieJyKj2sPhM0rWfSSjXfnp2NCA7GHBPj1XUBNd+x9/mQugqyf1P1X2kblfbX1OfA0va065okKAwuew0uWKDq5V47n9CecQBU7U2HC59RmmN+jtE0wtz4nxOmOiON3uEeN2sW0uGg6I3mTXQJoC8n9RSklKXAYmCxECIBuAp4XgjRVUppgByUzgR3gCHXwtbFpI24jxfW72PqacmMSzHeF59XqSiAjM3Y92zHGhsGuzxQHteSkgw1109jLSdLYq0TlpsL/fp5bV17VhbW5GTtvuRTpsLOT9UA7vB4mLkaurTzsk4h4Iy/qnTshzcSsmE2whxGpSuFjv0m6W2dV3Dk5mLtZpDO5Xr42/xIWxTvSmMAACAASURBVFoaocOH621GkwT16EHHSRMpfuddYmfNwhwZqbdJATzA43CNlDIP+A/wHyFEd+1M8jNGzoIf/8umj/5FiPVCHpg2QG+LtMVWqYY5F6dhS08kolM1vH+d3laBNVxFwrTcQqtImLc1wo6nzwQVsU0cCFcsVd29ARSnjIU5GxDvX0dIXB5V5RpEI3XCkZdH2EjjOdt1wsd+4IS5qquxZ2cT2cM/Lnmxc+ZQtmo1xe+8Q9ytt+ptTgAPaFHOTEqZ7m1D/Ja4PuTEnc45+csxTf4HCREhelukLd8+DcVpuC58Ced7j2IdfzNcd4neVkF4HIRoe+fnTqN4W7DVnp1F8NixXl3zGEKj4LbtyhHz424/zYjuDrO/Jqz4SQrf+QBXTQ2mYP+W6XDV1OAsLTVkOtLcIRwRFuYXQ7xtGRkgpaGL8usTkpJCh7FjKVr6BjEzZmAKa5salW2Jtl+4pDH55TU8XnAW/xabuaLjDuAUvU3Sjtyd8MP/wZDrsEWOBCBo4ChIPk1nw3yDCArCHBPj1UiYq6YGZ36BtpEwgFDjFhUbArOV0JGnw9K3qd6xk7BhQ/W2qFW4o0zuqJPRsMTH4cg3/ugif+iMPJ7YuXNJv/ZaSj78kJgZM/Q2J0ATnEyi4hohhLF6mw3Iwyt2ss4+FHuHTpi2tmGxPJcLVtymoikTHsF+KBMwiEaYD7EkJHhVNd/hlqfwtlp+gGYTOlhJUlRt26azJa3HUacRZlQnLN4/ImHpKukT1L2HvoY0g7BhQwkbOZLCxUtw2Wx6mxOgCU4mUdEd+FAI8Z0Q4iEhxGhh9PYQH/N1ah7Lf8vilnH9sI66CQ5sgIK9epulDb+8Dpk/wsQFEB6LLUM5YYZRy/cR3hZsPaoRFnDC9MYSH4+1c2eqfvtNb1NaTZ1afqIxnTCrn6jm29LSMMfHYe4QrrcpzSJ27lwcubmUfvaZ3qYEaIKTSVQ8IaUcD1wI/AbcBPwihHhHCHGDEKJdV/dW1DiY9+kf9E7owC3nnlI7T9JaJ1fRpijPhS8egh5nw+BrAKURZurYEXNU2xakPR5vjy6qU8vvHHDCjEDokCFtIxJW+ztqNXIkzC+csHSC/SgK5ib8zDMIGTiQwoWvIZ1Ovc0JcBI8GeBdLqX8REo5V0o5FHgUJd7arsVI/vXFHg6XVPH4pYMItpihQwIMvBi2vXPMkOA2wZq7wVGlZgvWBkNthzIJ6tK+omAA1oREHIWFSIfDK+vZs7JBCMNeLNsboYMH48jNrYtQ+iv2vDxEUBAmg8oUWOLjcVVW4jxSobcpJ8WWlmbYcUUnQwhBzI0zsGdkUPXbdr3NCXASmj1kT0q5U0r5rJRyohYG+QO/Hypl8fcHuXZ0N0b2qNfSPnI21JQ1OE/Sb9n7BexYBmffDnG96562Z2QaUoNIaywJCeBy4Sgs9Mp69qwsLAkJ+gveBgAgdOgQAL9PSTpylVCrUStIjgq2Grc431lWhrOw0K+K8usTftZZIAQVmzfpbUqAk9B2p0trhMPp4u5l24ntEMxdk1KOfbHrKCX+uOW1Y+ZJ+i22Slj5T4jrC2fdVve0dDqxHz7c7urBwPuq+W6h1gDGIKRfP0RwMFW/+ndK0pGXhyXRuBUj/qCaX1eU76dOmCU6mpABA6j8IeCEGZmAE9ZMlnyfxo6sMuZPH0hkqPXYF4VQ0bDcPyBjs1f2k1JS9Nbb5D71NEVLl1K2Zi1V27Zhz8nxWkqsUb55UqnRT33+mHFAjrw8pN3e7joj4TjVfC9gz84OFOUbCBEURMjAgX5fF6ZGFsU3faBO+IUT5ofyFMcTfsYYKn/7DVeFsdO+7ZkmdcKEEL2AQ1LKGiHEucBpwBtSSu9OMfYDMosqee6LPZzfP4HJpzYy9HjQFbDuftiyELqPafWepcuWkfvoo2C1gt1+7IsmE5a4OCxJSVgTE7EkJmJNSsSSmFT7r3q0SHgy5w/44T8w9HroceYxL9V1RnZrf06Yu3bLG4Kt0uXCkZ2NdeIFrV4rgPcIHTKE4jffxGWzYfLTNLEjL48OY8/R24xGqYsoG9oJSweTCWtX//2eCx8zhsKFr1G5dSsdtBSEDtBiPBFr/RgYIYToDSwCPgfeQXVNthuklMz79A9MAh6+6NTGay2CwmDodfDTQtVV2IoRMbaMDHIWPEbYqFF0W7IYZ1kZjtxcVTick4sjN6f231xqDh6gYtMmXEdObAowR0crBy0xUTlsSYlYEhKxJCViTUrCkph0bAu2ywXL/6EEPic8csJ6dRphfvzl1FLMMTFgNnslHekoKEDa7VgC6UhDETpkMEWLF1OzcyehQ4bobU6zcR45gquy0rAaYQCmjh0RQUEGd8LSsHbq5LeOOEDosGGIoCAqftgUcMIMiidOmEtK6RBCXAI8L6X8jxDiV60NMxqf/5bFN3vyeXDaADpFhZ784JGzYPNL8MtSGHtni/aTDgdZd9yJMJvp9OQTCLMZS3Q0luhoSElp9DznkQocebk4cnKOOmq5uThycrHn5lK1fTvO4uITzjOFhx+NqFlKsRTsxnrGNVh+2l7rqCVijopCCIEtMxMsFqxJjUQD2zDCbFbt9V4QbHW45SkC6UhDETpYOV6V27b5pRNWpxGWYNyaMCGE4QVbbWlpfp2KBDCFhBA6fBgVmwJ1YUbFEyfMLoS4BpgBTKt9znqS49scJZU2Hl6+k8FdIrlhTI+mT4jtBb3Gw9YlcNY/wdz86VAF/32Fqt9+o9OzzzSrcNvcIRxzh1MIPqXx8UmumhoceXlHHbW82shaTg72rExqDu7EURUBO1fAayvqzhNBQViSknAdOYK1UyeEpX1OvfKWVlidRlhALd9QWBMTsHRKpmqbf3ZIHnXCjBsJA2NrhUkpsaWlETnUv8dXAYSPOYP8557DkZ9fV4sXwDh4chWdCdwCLJBSHhRC9ATe0tYsY/HYql2UVNl58+bRmE0etnyPnA3vXQO7V8KAi5q1X9W2bRS8/DIdp08jcsqUFlh8ckzBwQR17UpQQ+nED2bA7mLknI04ZEflmOXmHZP6tOfk0OHss71ul79gSYjHnp7R6nXq1PIDQq2GI2zIECr9tEPyqBNm7AuuJT6emgMH9DajQZwFBbgqKvw+EgaqLiwfqNj8I5HTpuptToDjaNIJk1LuBP4OIISIBiKklE9obZhR+GF/AR9sPcQtY3sxoFNHz0/sOxEiu6nasGY4Yc4jFRy+406siYkk3X9/CyxuBXvWws5PYfw8RGJfrIA1KYkmkq/tDmtCIlVbtrZ6HfvhLDV1oEMHL1gVwJuEDh5M2arV2HNzsRpY6qEh7O65kQYd3u3GkpBAxY8/6m1Gg7SFzkg3IQP6Y4qMpGLTpoATZkCalKgQQmwQQnQUQsSgxhctEUI8p71p+lNtd3LfJ3/QLSaMf5zXp3knm8wwYiakfQf5uz0+Lffxx7AfPkynp57EHBHRTItbga0CVt4O8Slwxj98t68fYklIwFlaiqu6ulXr2LOzAxphBsVdC+aPemGOvHxM4eGGn3doiY/HVVbW6r8jLTiqEdZdZ0tajzCbCR89mopNm5BtQb+yjeGJTliklLIMuBRYIqUcDpyvrVnG4MWv93GwoIIFl5xKaJC5+QsMuwHMQR7Pkyxbt47Sj5cRO3s2YSNGNH+/1rDhcSh1a4L5bzeQL/BWe709KytQlG9QQvr3RwQF+aVyvtGFWt3UaYUVFOhsyYnY0tIQVmubuUkKP2MMjuzsughfAOPgiRNmEUIkA1cCK5o6uK2wO6eclzfs59KhnTm7TwtrK8LjYOClsO1dqCk/6aH23Dxy7n+AkIEDif/Ln1u2X0vJ3g6bXlJDyL2gbdbW8ZZqfkAt37j4s2irEmo1dioSjtaseWv6hDepSUvD2r0bwtyCm28DEj5Gfa8HuiSNhydO2MPAWmC/lHKLEOIUYK+2ZumLyyW5Z9l2IkIs3Delf+sWGzUbbOWw/f1GD5EuF9n33IOrpoZOTz/t2zmCLqfSBAuLgQnzfbevH2P1gmq+s7wcV3l5oCjfwIQOHkz1jh1Im01vU5qFIzfX8EX5UC8SZkCZirYgT1Efa7duWDt3pjLghBmOJp0wKeWHUsrTpJS31v58QEp5mfam6cfbP2XwS0YJ86YMILZDC9Tm69N5OCQPhp8anydZ/NZbVPzwA4l330XwKT1bt19z2bIIsn6BSU8ocdYATWLxgmq+Pau2MzKQjjQsoUOGIG02qlNT9TbFY6SU2PPz6yY7GBmjquZLpxN7egbBbcgJE0IQfsYYKjb/qP24uwDNwpPC/C5CiE+EEHlCiFwhxMdCiDY7uTmntJqnVqdyZu9YLh3WufULuudJ5u+C9O9PeLl69x7ynnmWDueeS9RVV7V+v+ZQlgVfPaw0zU5t0361VzF17IgIDm7VHbw9260RFkhHGpXQobXF+X6UknSWlIDdbmihVjfmqCiwWAznhNmzs5F2e5uKhIFKSbrKy6nesUNvUwLUw5N05BLUqKJOQGdgee1zbZJKm4P+nTqy4OJBjY8mai6nXgYhUUquoh6umhqy7rgDU0QEyQse9d5+nrL6TnDZYcqzylkM4BFCCCyJia1KR7qFWi2BSJhhcY/58icnzF+EWgFE7exbozlhtrTazsju/t8ZWZ+w008HAnVhRsMTJyxeSrlESumofbwOGL/goIWcEt+BD+aOoUecF9u7g8LUIOzUFVCWXfd0/r+ep2bPHjo9tgBLbKz39vOE/2fvzsPbqu70gb9HupItybstObbjLM6+Wtkjp3QKlJa2LG2hQAothZKETillKBBooe1AKVtbppTOQNJSShdaygATlsKPlqFlsm9kIYE4i5zFi7zbkWRLVzq/P2QpduLdkq6W9/M8fhxLV/d+LRL8+pxzv+fDN4CDr4a2VSoYuLs+9U+xWce0oFitrYUwGKAUFUWxKoo2k92eVJ3zw78YJEMIA3q65ifYwvxU6hHWm1JQgIxZs+DexBCWSIYTwpqEENcJIfQ9H9cBaI51YSlnyddDi+B3PgsAcG/ahJZnn0X+l1fGf2PV7tPAG3cCttlA1a3xvXaKMIxx6yJ/bR2UkhII3XD+CZJWTPZK+Gtrx7T+L56SaSQMSMyti3xOZ6jPWgr+gmRxOODdvRtBj0frUqjHcH4C3IhQe4p6AHUArkRoKyMaiYIKYOongZ3PItDchNq774GxogK2O++Mfy3/+2Og42SoJ5g+rbYBjRrFVgy/yzXq5ofsEZYcTJWVAJJnXZg/SbYsCkvUEGacNCn+y0PiwOJwQPr98OzcpXUp1GM4d0cel1JeJqW0SiltUsrPI9S4lUZq6SrIznrU3fENqC0tKH3sUehMcd4UqPZ9YOt/AYtuACYsi++1U4his0F6vQiePj2q17NbfnLInDMHwmBImqatqssFfX4+dPFsczMGis2KQGtrQrUBSbX2FL2ZFy2EMBi4LiyBjHYu5PaoVpEupn4S7a5ydG7eD+utt8I0Z058rx/pCVYEfPKH8b12ihlLw1bp80F1uTgSlgR0RiMyZ89OmnVhakNyNGoNi/QKa06MFS5Bnw/+2tqUDWE6sxmmBQsYwhLIaENY6o3TxoHvVC0aNulgtnaj8JLl8S9g2zqg7n3gMw8Dprz4Xz+FRBq2jiKE+RsaAClhKOVIWDIw2SvRtX9/Qo3WDCRZuuWHnWnYmhhr7vwnTgDBYErsGTkQS5UD3QcPQm1p0boUwuhDWErvAtrh64j6OaWqovautYAhA6VVHohdce7y0X4SeOdHoXVpczibPFaRhq2jaFPBRq3JxWS3Q3Z3o+ujQ1qXMqTQvpHJFMISq2Frqt4Z2Vt4CyPPli0aV0LAICFMCNEphOjo56MToZ5hKWlP4x586sVPYUtddP+CNq1bB+/u3Rj3gx/AsPwLoW2MuqIf9gb017Wh6Uj2BIuKsWy5Eu4RxhCWHEz25GjaKlUVanNzUnTLD4v8O0q0EJZiPcJ6y5w7F7rsbE5JJogBQ5iUMltKmdPPR7aUUolnkfE0s2Am8jLy8Mi2R+AP+qNyTu+ePWj65X8i55JLkHvpJcDSmwDfaWDPn6Jy/iEdfC3Uo+wTdwP5k+JzzRSnM5uhy84e3XRkT7d8Zdy4aJdFMWAoKYFSXJzwIUxtbgaCweSajiwsAHS6hAph+sJC6HNytC4lZoReD8vyZXBv3DTqu7spetik6CwZ+gzcteQuHG47jBc+emHM5wu63Th1111Qim0Y9/37Qg+WLQJKFwLbB95PMmq6O0M9wYrnAo5vxvZaaUYpto2qa76/thZ6axF0GWPcl5TixlRZmfB3SCZbjzAAEIoCfWFB4oSwY6l7Z2RvZocj1P/u+HGtS0l7DGH9OL/8fFSVVuGXu3+Jlq6xLV5sePhh+I+fQOnDD/f97WrpKqDpI+DYP8dY7RDeeRDorGNPsBgYbcNWtbYWhhJORSYTk90O/8mTUJuatC5lQGdCWOLvG9lbqGt+YoSw7hpnSi/KDwuvC+OUpPYYwvohhMDaJWvhVb14YtcToz5P59/+hra/vIjCm74Oy9KlfZ+c80XAVBAaDYuVU7uAbU+HuvWXL4ndddKUYrXB3ziK6cjaOq4HSzLJsC5MTbJGrWGK1Tqqf0fRFjh9GoHGJhgnTtK6lJgzTpoEpaSEWxglAIawAVTkVeDLs76Ml6pfwgfNI9913u9yoe7e+5Axexas3/rWuQcYMoGFXwE+fB1oPxWFis8SUEM9wSw24MLvR//8FNrE29UIGQwO+zVSylCjVoawpJI5ZzZgMCR0CPO7XIBOF/99aMcoUbrm+2p6Nu5Og5EwIQQsDgfcW7dCBgJal5PWGMIGcXPlzcjPzMdDWx8a0QJGKSXqvvs9BL1elD32GMRA3asX3wjIYGQ/yaja9jRQvxf4zCNAZm70z0+htTeqikBr67BfE2hpgezuZrf8JKPLyEDmrFkJ3bRVbXBBKSqC0Ou1LmVEDDYbAs0tmoeBdGhP0ZvF4UCwvR1dBw5qXUpaYwgbRLYxG7ctvA17GvfgtaOvDft1rb//A9z/93+wrb0LGVOmDHxg/iRg2qdCIUyNYiPIthOhtWDTPg3Mvjx656U+wtM+I1kXFmlPUcaRsGRjslfCu38/pD86d01HW6hHWHKtBwN62lQEg5p3zfc5nYAQME6YoGkd8WJxhBqGc12YtmIawoQQFwshPhJCHBZC3D3AMVcJIQ4IIT4QQvwxlvWMxuVTL8fcwrl4fOfjcPvdQx7fXV0N12OPwfIvH0f+ypVDX2DpKsDtAg5uiEK1CN1t+cYdACTw2cfYEyyGDD0/8EbSsNV/ij3CkpWpshKyqythm7YmW7f8sETpFeZz1sBQUgJdZqamdcSLUlSEjOnT4d68SetS0lrMQpgQQg/glwA+A2A2gJVCiNlnHTMNwD0AVkgp5wC4LVb1jJZO6HDPsnvQ6G3E+r3rBz026PPh1J13QZeVhdIHH4QYTgCaciGQPzl6C/QPvgocehM4/7tAfuqvbdDSaPaP9Nf1dMvndGTSMYcX5+9JzHVhoRCWXIvygcTZuiiVN+4eiMXhgHfnLgS7urQuJW3FciRsKYDDUsqjUkofgD8BOHtubBWAX0opWwFASqn9LTL9mG+dj8unXI7nDjyHmo6aAY9r/I+fo/vDD1Hyox9BKSoa3sl1utDdi8c3A/X7x1ZoVzvw17uA4nnAsm+M7Vw0JKWoCBBiRLfX+2trobNYoEvhZpCpSikthWK1JuS6sGB3NwJtbUnVLT8sEUbCpJQ9ISy9fnG1VDkgfT54d+3SupS0FcsQVgbgRK+vT/Y81tt0ANOFEBuFEFuEEBf3dyIhxGohxA4hxI5Gjf6h3rboNhj1Rjy2/bF+n3dv2YKW3/wGeVdfjewLzh/Zye3XAkomsH3wkbYhvfMjoLMeuPTngD5lNzVIGMJggL6wcIQjYbUwlJYMb5SUEooQIrQuLAHvkAwHmGTrEQYg8gurliEs0NqKYGdn2o2EmRcvBgwGrgvTUCxDWH8/Zc6+xVABMA3AJwCsBPArIUTeOS+Scp2UcrGUcrHVqs1we5GpCDfPvxn/OPkP/PNk3wargfZ21N59D4wTJ6J47V0jP7m5AJh3JbD3BcDbNroCT+4Etq0Hlq4Gxi8a3TloxBSbdURd8/21tVC4Hixpmex2+E+c0HwR+dmSsVt+mDAaoc/P1zSEpdudkWE6iwXmykr2C9NQLEPYSQDlvb4eD6C2n2P+R0rpl1IeA/ARQqEsIV0761pMypmER7c/Cn8gdIeUlBJ1P/wh1KYmlD72GHRm8+hOvmQV4PeMbj/JgD/UEyx7HHDBvaO7Po2KYYQNW9VTtVyUn8QiTVsTbAujZA5hQLhXmHa7EfiOOQGkXwgDAHOVA10HDkAdQasdip5YhrDtAKYJISYLIYwArgFw9i2ArwA4HwCEEEUITU8ejWFNY2LQG7B26VrUdNTg9wd/DwDo2LABnX99E9ZbboFp3tzRn7zUDoxfMrr9JLf8F9CwD/jMo0Am1xrFk2KzDXtNWNDtRqC9nVsWJbHMOXMARYF3d2JNSYZHY5NxYT6gfcNWn9MJGAxp+QuSxeEApIRn61atS0lLMQthUkoVwC0A3gJwEMALUsoPhBD3CyEu6znsLQDNQogDAP4XwJ1SysQa5z/Lx8o+hk+M/wSe2vMU6qv3oP7+B2BatAiFq24a+8mX3AQ0VwNH3x3+a1prgHcfAqZ/Bph16dhroBFRiosRaG4eVu+oyJ2Rafg/+lShy8xE5syZCTcS5ne5QtN6eees5kgKof0jtbsvy+d0wlheDqGk31pa07x50FksnJLUSEz7hEkp35BSTpdSTpFSPtjz2PellBt6/iyllLdLKWdLKedJKUcxFxd/dy65E6rqw0f/9k1ACJQ+8kh0ulTP/jxgLhx+u4pITzDBnmAaUWxWQMphbex8JoSxPUUyM9nt8O7bB6mqWpcSoboaodhsSXvDh2K1Qm1qGtEWYNHkczphnJhed0aGCUWBedkyLs7XCDvmj8KEnAn4wZF5sB1uRvdtX4Vx/Nk3fY6SIRNY+FXgozdCXe+HcuAVoPr/ARd8D8grH/p4irqR9Apjo9bUYLLbIb1edB9KnKatydqoNSyyBVjbKG9MGgMZDMJ3/HhargcLszgc8J84Ad+JYfzcoahiCBsF7759mPbSLuycm4kHc99DUEbxt7fFN4Y+7/zN4Md1tQN/XQuUVAJL10Tv+jQiI+ma76+tBRQl0heJkpPJXgkgsRbnqw0NyR3CNOwVptbXQ3Z3p3cIq3IA4BZGWmAIG6Ggx4PaO++CUmRF4X3fxYGWg3jl8CvRu0DeBGD6xcDO3wJq98DH/f1+wN3InmAaOzMSNvQPD39dHQzFxUm3wTL1ZSgrg76oKKH6hakuFwzFSRzCIvuwxj+EpWt7it6MFRVQbDaGMA0whI1QwyOPwldTg9KHH8bF86/EAtsC/HzXz9Hh64jeRZbcBHiagAP/0//zJ7YB238dGgErXRC969KI6fPzAYNheNORtWxPkQrCTVs9CRLCAqfdCHo8qTESpsHi/G6GMAghYHE44Nm8RbN1eemKIWwEOt95B21//jMKbrwBluXLIITAPUvvQWtXK57a81T0LlRxPlAwJdR89WwBP/DqbUBOaWgtGGlK6HRQrEXDatgaCmFclJ8KTJWV8NccT4jeSsneIwzQdjrS53RCmM1J294jWixVDgTa2tD94Ydal5JWGMKGSW1sRN337kXGrFmwfvvbkcdnFc7CldOvxPMHn8eRtiPRuZhOFxoNO7kNqDtr3cnmXwKuD0J3Q2ZkR+d6NCYGqw3qEA1bpaqG1u1wJCwlRDbzToDRMNXV0yPMmrwhTJeZCV1OjmYhzDhxYtLeWRotZgfXhWmBIWwYpJSo/d73EPR4UPbYo9AZjX2e/9aCb8FkMOHhbQ9DjrTR6kDsKwHF1LddRasTePdhYOYlwMzPRec6NGaKzQb/ENMoakMDEAxyOjJFZM6dC+j1CbGZdyqMhAHaNWz11dSk3cbd/THYbMiYNpX9wuKMIWwYWv/4R7j/+R5sd96JjKlTz3k+PzMf37R/E1vqtuCdE+9E56KmfGD+l4C9fwG8raGeYK/dDuj0wGceic41KCqU4uIhFxRHeoSxW35K0JlMyJwxIyHukGQIGz3p88F/8lRarwfrzexwwLNzJ4Ldg9wURlHFEDaE7iNH4Hr0MVjOOw/51355wOOunnE1puZNxWPbH0OX2hWdiy9ZBahe4P0/Ah+8BBz5O3DBfUDu+Oicn6JCsdkQ7OhA0Osd8Bh/LXuEpRqT3Y6uvXshAwFN6/C7XNBZLNBnWTStY6y06JrvO3kKCASQwRAGINQvTHZ1Jdy2XKmMIWwQ0ufDqTvvhM5sRumPHxx0zYCiU3D30rtx6vQp/PaD30angJL5QPkyYNs64K93AyV2YOmq6JyboubM7fUD/wCJhLCScXGpiWLPtMCOoMeD7upqTetQG5K7UWtYeCQsaks6hoHtKfoyL1kK6PVwb9qkdSlpgyFsEI2/+AW6DxxEyY8eGFaDzWUly3DRxIvwq32/Qr27PjpFLFkVWgvmaQr1BNOxx1SiMQyja76/tg76ggLoTKZ4lUUxZqrsadqq8eL8ZO+WH6ZYrZA+H4IdUWz3M4RICEvTLYvOps+ywFRZycX5ccQQNgD31m1o/tWvkfelLyH7wguH/bo7Ft8BCYmf7vhpdAqZfTmQPxn42L8BpfbonJOiSol0zR98JIxTkanFUF4OfUGB5ovzVZcLShI3ag2LjCjHcV2Yz+mEPi8vaTc+jwWLw4Gu/fsRaG/XupS0wBDWj0BHB2rvvhuGCeUovnvtiF5bmlWKr8/9Ot50vont9dvHXoxiBG7dHVoLRglpOPtH+uvqYChhj7BUEmraatd0JExKGeqWnyIjYUD8QxinIvuyVDkA80NzSQAAIABJREFUKeHeulXrUtICQ1g/6v/9fqguF8oeeww6y8gXu94w9waUWkrx8LaHoQbVsRckROiDEpIuKwvCZBowhEkpORKWokx2O3xOp2ZNWwNtbZB+f8pMRwJxDmE1NQxhZzHNnw+d2cwpyThhCDuLe9s2dLz+Ooq++a8wzZ8/qnNkKpm4Y8kdONR6CC8eejHKFVKiEULAYLNFmmaeLdDWBun1slt+CgqvC+vau1eT66dKewrgTLPZeN0hGXS7oTY0MISdRRgMMC9ZAg/7hcUFQ9hZzEuWYPwvn0TR6tVjOs8nJ3wSy8Ytwy92/wJtXW1Rqo4S1WANW8N3RrJbfuoxzQs1bdVqH8kzIaxYk+tHkz7LAmE2x20kzHf8OADeGdkfS5UDvpoa+E+d0rqUlMcQdhYhBLIvvBBCUcZ8nrVL18Ltd+PJ95+MUnWUqBSbbcCGrewRlrp0ZjMyZkzXbF1YKo2EAYAhjg1bI3dGTp4Ul+slE0tVFQDAvWWLxpWkPoawGJqWPw3XzLwGfzn0F3zU8pHW5VAMKcXFUBsa+u1xpIa75TOEpSRTZSW69u7TpGmrv2fj+FTZfDrUsDXOIWzChLhcL5kYp06F3lrELYzigCEsxr5R+Q3kGnPx0LaH4tqEkOJLsVkhu7v77XHkP1ULYTLxNvgUZbbbEXS70X34SNyvrbpc0OflnbOfbbJSbPEdCVPGjWPvvn4IIWBxOODevBkyGNS6nJgJut1al8AQFmu5Gbn41sJvYWfDTrzlfEvrcihGBmvY6q+thaGkZNAdFyh5meyh/n1aTEmqrsZIn7pUoFit8McthPHOyMFYHFUItLRoviNErMhgEMeuuhoNjzyqaR0MYXHwxalfxKyCWfjJjp/A4/doXQ7FQKRha38hrK6OU5EpzDBhAvT5+Zps5p0q3fLDFKsV0uNB4HTsRyhCPcLYKX8gFsdyAIB7Y2puYdT59t/gO3IkdHONhhjC4kCv0+OeZfegwdOAX+//tdblUAxEGrb20zWfPcJSmxACpspKbUbCGhpSZj0Y0OvfUWNs21Sora0ItLdzJGwQhnHjYKyoSMl+YVJKND39FIwTJyL705/WtBaGsDhZYFuAz1V8Ds/ufxYnOk9oXQ5FWaTR5FkjYcGuLgRaWtgjLMWZ7Hb4jh5FoC1+7WikqkJtbk65kTAg9g1buXH38FgcDnh27EDQ59O6lKhyv/ceug8cROHqVRB6bfdjZgiLo39b+G/Q6/T4yfafaF0KRZkuMxO63NxzQpi/lndGpgOTvWcz73374nZNtbkFCAZhSLE1YUA8QlgNACCDIWxQlioHpNer+Sb10db09DooJSXIvfRSrUthCIunYksxVs9fjXdOvINNp1Jznj2dGWw2+M/qmh/pEcZ9I1Oaad48QKeDd3f8flilWo8woPeIchxGwvR6GMrKYnqdZGdeuhTQ6VJqStKzfTu8O3ei8Otfh0iAu4oZwuLsq7O/ivLscjy8/WH4g36ty6Eo6q9hq7+OjVrTgc5iQcb0+DZtDW+TFd7uJxXocnIgjMbYj4TV1MA4fjyEwRDT6yQ7fXY2TPPmpdQWRk1PPQ19YSHyrrxC61IAMITFnVFvxNola3Gs/RieP/i81uVQFIVC2NnTkbWATpdSbQSofyZ7Jbx798atr1IqjoQJIUINW+OwJozrwYbHXOWAd98+BDo7tS5lzLz79sO9cSMKvnY9dJmZWpcDgCFMEx8f/3F8rOxj+K89/4Umb5PW5VCUKMU2qI2NfTqnq7V1UIqLx7wNFiU+U6UdwdOn4TsSn6atfpcrFPCLCuNyvXhRbLaYhjAZDIZGwhjChiWrqgoIBuHZtk3rUsased3T0OXkIH/lSq1LiWAI04AQAnctuQtdgS48sesJrcuhKFFsNiAQQKClJfIY21Okj/Di/Hht5q26XFCKijS/uyvaYj0SprpckF4v94wcJlNlJYTJlPRbGHVXV6Pz7b+h4LrroM/K0rqcCIYwjUzOnYyvzPoKXj78MvY37de6HIqCcNf83g1bw93yKfUZJ02CPjc3bk1b1YbUatQaFusQxvYUIyOMRpiXLE76xflN69dDmM3I/8p1WpfSB0OYhlbPX40iUxEe2vYQgjJ19+dKF+F1X+GGrTIQgL+hgSNhaUIIgUx7/Jq2plq3/DDFakWwowPBrq6YnD8SwiayW/5wWRxV8B09Cn99vdaljIrvxAl0vP4G8q++Gkp+vtbl9MEQpqEsYxZuW3gb9jbuxWtHX9O6HBoj5az9I9XGRkBVGcLSiNluh+/wEQT62cg92lSXC0pxaoYwIHa9wnzOGojMTN4sMwKWKgcAwL15i8aVjE7z+l9B6HQouOFrWpdyDoYwjV065VLML5qPx3c+jtO+01qXQ2OgFBYCOl0khJ1p1MrpyHQR2cx7b2ybtgZ9PgTa2iJT4KnkzNZFsQphThgnToTQ8cffcGVMmwZ9YSHcm5Kvv6W/oQHtL7+M3Cu+mJD/Xvi3UGM6ocM9y+5Bk7cJ6/au07ocGgOhKFAKCyP73kUatXIkLG1kzpsHCBHzKclUbE8RFt4LM1YNW9meYuSETgfL8uVwb94MKaXW5YxIyzO/gQwGUXjTTVqX0i+GsAQwt2guvjD1C/jdwd/hWPsxrcuhMVBsNvgbQk002S0//eizspAxbRpD2BjEcjpS+v3wnTzJEDYKlioHAk1N6K6u1rqUYVNbW9H6wgvIveQSGMeP17qcfjGEJYhbF96KTH0mHtn+SNL9pkFn9O6a76+rhT43FzqLReOqKJ5Mdju8e/bEtGnrmRCWeuua9Hl5gKKc0/g4GvynTgGqyhA2ChZHaF2YJ4nukmx57jnIri4Url6ldSkDYghLEEWmInyj8hvYeGoj/nnyn1qXQ6PUu2u+v7YWShmnItONqbISwc5O+I7FblT7TAizxuwaWhE6HZSiopiMhHXzzshRM5SWwjhxYtL0Cwt0dqL1939A9kUXIWPKFK3LGRBDWAJZOWslKnIr8Mj2R+AL+LQuh0ZBKbYh0NKCoM8HtbYOhhKGsHRjWtCzOD+GU5KqywVhMIRGjVJQrLrm+2tqAICNWkfJXOWAe/t2SH/i73vc+sfnEezsROGa1VqXMiiGsARi0BmwdulanOg8gecOPKd1OTQKhkibikZ2y09TxkmToMvNjWkI8/c0ahVCxOwaWopVw9ZupxO63NyUDa+xZqmqgvR44N27V+tSBhX0etHy29/Cct55MM2Zo3U5g2IISzBVpVW4oPwCrNu7Dg3uBq3LoREKL5T2HTmMoNvNEJaGhE4H0/z58L4fu875oR5hqbceLEyxxmY6MnRn5MSUDa+xZlm6FNDpEn5Ksu0vLyLQ0oKim9doXcqQGMIS0B1L7kAgGMDjux7XuhQaofAPxvD+gbwzMj2Z7JXoPnwYgc7OmJw/VbvlhylWKwKtrZC+6C7L8DlrkMFF+aOmz81F5ty5Cb2FkfT50PzMMzAvXgzzokValzMkhrAEVJ5djq/N/RpeP/o6drt2a10OjUD4B2N4KsrAhflpyWS3A1LGbNomFMJSb1F+WKRNRVNT1M4Z9Hqh1tXxzsgxsjgc8O7Zg8DpxGwu3r5hA9T6ehSuSfxRMIAhLGF9fe7XUWwuxkNbH0IgGNC6HBomfV4ehMGArp6O6RwJS0+m+fNDTVtjsJl34LQ7NNWd4iNhQHR7hfmOHwfAOyPHyuJwAIEAPNu3a13KOaSqomn9emTOmQPLx1ZoXc6wMIQlKLPBjO8s/g4OthzEy4df1rocGiYhBBSbDUG3GyIjA/rCQq1LIg3os7ORMXVKTBbnR9pTpPKasBhsXeQ75gQAjoSNkWmBHSIzMyGnJDvefAv+muMovHlN0qz7YwhLYBdPuhgLbQvxxK4n0N7drnU5NEzhHyCGkpKk+R8BRV+oaeveqDdtjYQwK0fCRsIXbk/BkbAx0WVkwLxoUcLtIymDQTQ//TSMU6cg+8ILtS5n2BjCEpgQAvcsuwftvnY8uftJrcuhYYqEMG7cndZMdjuC7e3wOWuiet7w3qQpvTC/sBDQ6aIbwpxOKDYbd7CIAkuVA77DR+BviP6uBqN1+t130V1djaLVq5Nqc/bkqTRNzSyYiWtmXIM/f/Rn7G/ar3U5NAxKceiHo8L2FGnNVFkJIPpNW9WevUlTOYQJvR76wgL4o7h1ETfujp7IFkZbEmNKUkqJpqeehmH8eOR89rNalzMiDGFJ4JYFt6DIVIT7N98PNahqXQ4NwdBrOpLSl7GiArqcnKiHML/LBZ3ZDH1Wao/oRLthK0NY9GTMnAl9Xl7C9AvzbNmCrr17UXjTTRCKonU5I8IQlgSyjdlYu3QtDrYcxJ8+/JPW5dAQzkxHlmlcCWkp0rQ1yndIqq7GlF6UH2awRm/rokBbGwKtrVwPFiVCp4PZsRzuzZshpdS6HDQ99TQUmw25X/yC1qWMGENYkvjUxE9hRdkK/GL3L1Dvrte6HBqEcfJkAEDG1KkaV0JaM1VWoru6GoHT7qidM9UbtYYptuiNhPm4Z2TUWaqqoLpc8B09qmkdnt274dm6FQU33gCd0ahpLaPBEJYkhBD43rLvISADeHT7o1qXQ4MwzZuHKX97G6Z5c7UuhTRmstuBYBBd+6LXtFVtaEiPEGa1ItDcAqmOfQlGJIRxOjJqLI4qANB8SrL56XXQ5+Uh/6qrNK1jtBjCkkh5djlurrwZb9e8jX+e/KfW5dAgjOPHa10CJQBT5XwAiNqUpJQy5bvlhylWKxAMQm1uGfO5fE4noNPx32UUGceXwTBhgqb9wro+/BCn330XBdd/FTqzWbM6xoIhLMlcP/t6TMmdgge3PAiv6tW6HCIahD4nB8YpU+DdHZ3F+YG2Nki/H4Y0WBMWzV5hPqcThvHjIZJwuiqRWRwOeLZujcpo5Wg0Pf00dBYL8q+9VpPrRwNDWJIx6A24d/m9qHXX4qk9T2ldDhENwWSvhHfPnqgsYFZdoUCSFtORka75Y29T0e10wjiJi/KjzeJwIOh2w7tvX9yv3X3sGDrffAv5X/4y9Dk5cb9+tDCEJaHF4xbj81M/j+c+eA7VrdVal0NEgzDZ7Qi0tcFfM/amraor9XuEhUVrJExKCZ+zBsaJk6JQFfVmXrYUEEKTKcnm9b+CyMhAwdeuj/u1o4khLEndvuh2ZBmz8MCWBxCU0d0WhYiix2y3AwA8UegXFtmyKB1CWM++q2MNYaqrEdLj4UhYDCj5+cicPRueOC/O9586hfYNG5D3pS9F/p4kK4awJJWfmY/bF92O3a7deOXwK1qXQ0QDME6ZAl1WVlSatqZTCBNGI/T5+WMOYb4aJwDeGRkrlioHPHv2IOiOXhuWoTQ/8xtACBTeeEPcrhkrDGFJ7PNTP49FxYvws50/Q0vX2O8gIqLoizRtfX/sd0j6XS7o8/KSsh/SaChWa2Qd3Gj5nE4AQAZDWExYHA7A74dnx464XE9takLbiy8i9/LLUmJXEoawJCaEwH3L74Pb78ZPd/xU63KIaAAmux3dhw6NebRAbUiPRq1h0di6yOesgTAaoaTAD+xEZFq4EMJojFu/sJZnn4X0+1F0001xuV6sMYQluSl5U3DDnBuw4cgGbK/frnU5RNQPk70SCAbh3bd/TOdJl275YYpt7FsX+ZxOGCdOhNDxx10s6DIzYVq0MC6L8wPt7Wj94/PIufjilJle5t/KFLBq/iqUZZXh/s33wxfwaV0OEZ3FVFkJAGNeF6a6XFCK0yiEWa1Qm5ogg6O/+cjH9hQxZ6mqQvehQ1HdcL0/Lb//PYIeDwrXrInpdeKJISwFmBQT7l1+L5wdTvxm/2+0LoeIzqLPzYWxomJMnfNlIAC1qSm9RsKsVkBVEWhrG9XrparCd+JEyoyaJKrIFkZbtsbsGkG3G63P/Q5ZF1yAzBnTY3adeGMISxEfK/sYPjXxU1i3dx2OdxzXuhwiOoupshLe998fddNWtakZCAZhSLcQhjN3hY6Uv64O8PsZwmIsc9ZM6HNzYzol2frnFxBob0fRmtUxu4YWGMJSyNqla2HUG/Hg1gej0p2biKLHZLcj0NoK//HR/ZKUTu0pwsJ7ZI52mit8ZyRDWGwJvR7m5cvh3rw5Jj97gt3daP7NMzA7lkem9lMFQ1gKsZlt+NaCb2FT7Sa86XxT63KIqBdTT9PW0U5JhrfvUWypv29kWGTrolG2qfAdcwJgCIsHi8MBta4uEnyjqf2llxBobELRmpujfm6tMYSlmKtnXI05hXPw6PZH0eHr0LocIuqRMXUKdBbLqBfnp+VI2Bi3LvI5ndBlZ0NfUBDNsqgflioHAER9SlL6/Wj+1a9hqqwMbZOUYhjCUoxep8d9jvvQ0tWCJ3Y9oXU5RNRD6PXInD9v1NsX+RsaAJ0OSmH6BApdRgZ0OTljCmHGiRMhhIhyZXQ2Q3k5DGVl8EQ5hLW//jr8p06h8OY1KfnfkSEsBc0pnIOVM1fihY9ewL7G+O9uT0T9M9nt6P7oEIIez4hfq7pcUAoLIRQlBpUlrlDX/NEtzA+1p5gU3YKoX0IIWKoccG/ZChkIROWcMhhE87r1yJgxA1mf+ERUzploGMJS1C32W2A1WXH/lvuhBlWtyyEi9PQLCwTg3T/ypq2qqxFKcfqsBwsbbdf8YHc3/HV1DGFxZHE4EOzsRNco/n73p/Ptv8F39CiK1qxOyVEwgCEsZWUZs7B26Vp82PIhnv/wea3LISL0bto68sX56dYtP2y0Icx//DggJUNYHJmXLwcQnXVhUko0Pf0UjJMmIfvTnx7z+RIVQ1gKu2jiRTiv7Dw8uftJ1LvrtS6HKO0p+fkwTpo0qjsk1YaGSMuGdKLYQiFspK0PutmeIu6UggJkzJoVlX0k3e+9h+4DB1G4ahWEXh+F6hITQ1gKE0Lgu8u+i6AM4pFtj2hdDhEhtC5spE1bgz4fAm1taTsSJn0+BDtGdrf3mR5h3LIonixVDnh37x7Vusfemp5eB6WkBLmXXhKlyhITQ1iKG589Hmsq1+Bvx/+Gf5z4h9blEKU9k70SgeZm+E+eHPZrwn2yDGm6JgwYeZsKn9MJfVER9FlZsSiLBmBxVEH6/fDs3DXqc3i2b4d3504Ufv3rEEZjFKtLPAxhaeD62ddjSu4U/Hjrj+Hxj+23EyIam0jT1hGsC0vHHmFho926yOes4SiYBsyLFkIYDGNaF9b01NPQFxYi78orolhZYmIISwMGvQH3Oe5DrbsWT+19SutyiNJaxrRpEGbziJq2qq4GAGkewkYxEsb1YPGnM5lgWrhw1CHMu28/3Bs3ouBr10OXmRnl6hIPQ1iaWFS8CF+Y+gX87oPf4VDrIa3LIUpbQq+Had68EYawdB4J69m6aAQhLNDZiUBzMzIYwjRhcTjQffAg1JaWEb+2ed3T0OXkIH/lyhhUlngYwtLI7YtuR7YxGw9sfgBBGdS6HKK0ZbLb0fXRRwh6vcM6XnW5IAwG6PPyYlxZ4tFnWaAzm0cUwnzOGgC8M1Ir4S2MPFu2jOh13dXV6Hz7byi47rq0WcvHEJZG8jLz8J3F38H7je/j5eqXtS6HKG2Z7JWAqqLrgw+Gdby/p0dYqjasHMpIe4X52J5CU5lz5kCXnT3iKcmm9eshzGbkf+W6GFWWeBjC0sxlUy7D4uLF+NnOn6HZ26x1OURp6UzT1uFNSaoN6dmoNUyxWuEfwcJ8n9MJCAFDeXnsiqIBCb0eluXL4N64aditWHwnTqDj9TeQf/XVUPLzY1xh4mAISzNCCNy3/D54VA9+tvNnWpdDlJaUggIYJk4YdtPWdO2WHxZu2DpcPqcThtJS6DIyYlgVDcbscMBfWxvauWAYmtf/CkKnQ8ENX4ttYQmGISwNVeRV4IY5N2DDkQ3YVrdN63KI0pLZbodnmE1bVZcLSnEahzCrDWpj07CP552R2rM4QuvChjMl6W9oQPvLLyP3ii/CkGa/bDCEpanV81djfNZ4PLDlAfgCPq3LIUo7mZWVCDQ2wX+qdtDjAqfdCLrdaffDqTfFZoX0eBA47R7yWCklfDU1DGEaM06aBKWkZFhbGLU88xvIYBCFN90Uh8oSC0NYmspUMnHv8nvh7HDimf3PaF0OUdoxR5q2Dr4uTG1M3/YUYWd6hQ29LizQ3Izg6dMMYRoTQsBS5YB761bIQGDA49TWVrS+8AJyL7kExvHj41hhYmAIS2Mrylbg4kkXY/3e9ajpqNG6HKK0kjF9eqhp6xDrwtQGhrAzXfOHXhfGOyMTh8VRhWB7O7oOHBzwmJbnnoPs6kLh6lVxrCxxxDSECSEuFkJ8JIQ4LIS4e5DjrhRCSCHE4ljWQ+e6a8ldMOqNeHDLgyPaUJiIxkYoCkxz53IkbBhG0jWfG3cnDsvyZQAGXhcW6OxE6+//gOyLLkLGlCnxLC1hxCyECSH0AH4J4DMAZgNYKYSY3c9x2QBuBbA1VrXQwKxmK25deCs2123GX4/9VetyiNKKqbISXQcPItjVNeAxZ7rlp9/m3WEjDmEGAwylpTGuioaiFBUhY8YMuDdv6vf51j8+j2BnJwrXrI5zZYkjliNhSwEcllIelVL6APwJwOX9HPcAgEcBDPx/IYqpq6ZfhTmFc/Do9kfR4evQuhyitGFaYA81bT1wYMBjVJcLOrMZ+ixLHCtLLLqcHIiMjGGFsG6nE8YJEyD0+jhURkOxOBzw7tx1zi8aQa8XLb/9LSznnQfTnDkaVae9WIawMgAnen19suexCCHEAgDlUsrXBjuREGK1EGKHEGJH4wg3caWh6XV6fN/xfbR2t+KJXU9oXQ5R2og0bd098JSkP80btQKhRd7D7Zrv552RCcVS5YD0+eDdtavP421/eRGBlhYU3bxGo8oSQyxDWH/7a0QWHQkhdAAeB/CdoU4kpVwnpVwspVxs7RmWpuiaXTgbX575Zbzw0QvY27hX63KI0oJSWAhDefmg68LSvVFr2HBCmAwE4Ks5zvVgCcS8aBFgMPRZFyZ9PjQ/8wzMixeHnk9jsQxhJwH03jNiPIDeDXGyAcwF8K4QwglgOYANXJyvnVsW3AKr2YoHtjwANahqXQ5RWjDZ7fAO0rQ11Kg1fdeDhSlWa2R93ED8dfWQPh9HwhKIzmKBubKyT7+w9g0boNbXo/DmmzWsLDHEMoRtBzBNCDFZCGEEcA2ADeEnpZTtUsoiKeUkKeUkAFsAXCal3BHDmmgQFoMF9yy9Bx+2fIg/Hvyj1uUQpQWTvRJqYyPUurpznpNS9oyEcQZgOCNh4TsjMxjCEoq5yoGuAwegtrZCqiqa1q9H5pw5sKyo0ro0zcUshEkpVQC3AHgLwEEAL0gpPxBC3C+EuCxW16WxuXDChfj4+I/jyfefRL27XutyiFKeqXLgpq2BtjZIny+tu+WHKTYbgp2dg95JGg5hhomcjkwkFocDkBKerVvR8eZb8NccR+HNayBEf6uW0ktM+4RJKd+QUk6XUk6RUj7Y89j3pZQb+jn2ExwF054QAt9d9l1IKfHwtoe1Loco5WXOmA6Rmdlv09Zwc1KuCRtemwqf0wmd2Rw5lhKDad486CwWuDduRPPTT8M4dQqyL7xQ67ISAjvm0znKsspwc+XN+Pvxv+PdE+9qXQ5RShMGA0xz58LTz0hYpEcY14QNO4QZJ03iCEuCEYoC87JlaH/lf9BdXY2i1ashdIwfAEMYDeCrc76KqXlT8eOtP4bH79G6HKKUZrJXouvAQQS7u/s8fqZRK0fCwuviBlucz427E5elqgrS74ehvBw5n/2s1uUkDIYw6pdBZ8D3Hd9HnbsOT+15SutyiFKayW4H/P5zmraqrgYA4PQaht4/MujzwX/qFENYgso672OAXo+im9dAKIrW5SQMhjAa0ALbAlwx7Qo8d+A5HGo9pHU5RCkr0rT1/b7rwvwuF/S5udBlZGhRVkLR5+UBBsOA05H+EyeAYBDGyZPiWhcNj3HiREz7x7vIu+IKrUtJKAxhNKjbFt6GHGMO7t98P4IyqHU5RClJsVphKCs75w5J1dXI9WA9hE4HpahowBAW2bibd0YmLKWoSOsSEg5DGA0qLzMPdyy5A3sa9+C/q/9b63KIUpbJbj/nDkl2y+9rsF5hDGGUjBjCaEiXVlyKJeOW4PGdj6PZ26x1OUQpyWS3Q62vh7/+TH8+taGBIayXoUKYvqAA+tzcOFdFNHoMYTQkIQTuXX4vvKoXP9nxE63LIUpJJnvfpq0yEIDa1MRu+b0o1qIB7470OXlnJCUfhjAalorcCtw490a8dvQ1bK3bqnU5RCknc8Z0iIyMyOJ8tbkZCAZh4JqwCMVqjewicLZwjzCiZMIQRsO2at4qlGeX40dbfgRf4Nz/CRLR6AmjEZlz50ZGwtgt/1zh90JtaurzeOC0G2pjI0MYJR2GMBq2TCUT9y67F84OJx7f+Tj8Qb/WJRGlFJO9El0ffICgz3emRxhDWMRAXfN9NU4AXJRPyYchjEakqqwKV0y7Ar8/+HtcseEK/PPkPyGl1LosopRgqqyE9PvRfeAAu+X3Y8AQFr4zkiNhlGQYwmjEfuD4AZ44/wkEZRDf/Ps3sebtNahurda6LKKkF1mcv2dPKITpdFAKCzWuKnGEQ5j/rMX5Z9pTTIh3SURjwhBGIyaEwPkTzsfLl72MtUvW4oPmD3Dlq1fi/s33s4UF0RgYbDYYSkvhef99+F0uKIWF3OKlF6WwENDp+pmOrIFSWgJdZqZGlRGNDkMYjZpBb8B1s6/DG198AytnrsTL1S/jcy9/Dr/e92t0B7qHPgERncNkr4T3/T1QG9io9WxCr4dSWNjPdGQNMjgVSUmIIYzGLDcjF3cvvRsvXf4SlhQvwX/s+g9c/srleNP5JteLEY2QyW6HWleHrgMHGML6cXbDVikl21NQ0mIIo6iZnDsZv7jwF1j/qfWwGCy48x934vo3r8e+xn1al0avqdhgAAAad0lEQVSUNMLrwgLNzVCKGcLOdnYIC7S2ItjRwTsjKSkxhFHULS9ZjhcueQE/dPwQxzuO48tvfBl3v3c36t31Q7+YKM1lzpwJYTQC4J2R/VFs1kgPNYB3RlJyYwijmNDr9Lhi+hV4/Yuv46Z5N+Ft59u49OVL8eTuJ+Hxe7QujyhhCaMRmXPmAAgt1Ke+FKsVgeZmSFUFAPiOOQEwhFFyYgijmLIYLPj2wm/j1S+8ivPLz8fTe5/GJS9fglcOv4KgDGpdHlFCCk9JciTsXIrNBkgJtbkFQOjOSCgKDGVlGldGNHIMYRQXpVmlePRfHsXvPvM7lFhKcN/G+3DNa9dge/12rUsjSjiWKgcgBEd3+nF2w1af0wljeTlbeVBSYgijuLLb7Pj9Z3+PR857BK3drbjxrRtx2//ehuMdx7UujShhZJ13Hqb+410YJ7D56NnOhLBQw1beGUnJjCGM4k4Igc9WfBavfv5V3LrgVmyu3YzL/+dyPLb9MXT4OrQujyghcD1Y/3qPhMlgEL6aGt4ZSUmLIYw0k6lkYtX8VXj9i6/jsimX4XcHfofPvfQ5PP/h81CDqtblEVECCm/jpLoaodbXQ3Z3cySMkhZDGGmuyFSEf6/6d/zl0r9gRv4M/Hjrj7k5OBH1SxiN0OfnQ21sZHsKSnoMYZQwZhTMwPpPrccT5z+BgAzgm3//Jm7+283cHJyI+lBsNqiNjegOh7DJk7Qsh2jUGMIoofTeHPyuJXdhX9M+bg5ORH2Eu+b7a2ogTCa28qCkxRBGCcmgN+Ars7+CN75wZnPwS16+BM/sf4abgxOluXAI6+65M1IIoXVJRKPCEEYJLS8zL7I5+OLixXh85+O4/JXL8ZbzLa4XI0pTitUKtakJvqPHeGckJTWGMEoK4c3B1120DhaDBXf84w587c2vYX/Tfq1LI6I4U6xWQFXhP3ECxkkMYZS8GMIoqThKHZHNwWs6arDy9ZX47nvf5ebgRGmk9xow3hlJyYwhjJLO2ZuDv+V8C5e9chleqn6JU5REaSDcsBUAMhjCKIkxhFHSCm8OvuELGzC/aD5+sOkHuP3d29HW1aZ1aUQUQ4rtTAjjSBglM4YwSnplWWVY96l1uH3R7Xj35Lu4YsMV2FK3ReuyiChGwiNh+rw86PPyNK6GaPQYwigl6IQON8y9AX/47B9gNpix6v+twk93/BS+gE/r0ogoynQZGdDl5PDOSEp6DGGUUmYXzsYLl76Aq2dcjWc/eBbXvnEtjrYd1bosIooy88KFMDuWa10G0ZiIZFvIvHjxYrljxw6ty6Ak8O6Jd/H9jd+HR/XgzsV34qoZV7GpIxERxZUQYqeUcnF/z3EkjFLWJ8o/EWny+qOtP8K33vkWtz4iIqKEwRBGKa3IVIT//OR/4u6ld2Nz7WZcseEKvHfyPa3LIiIiYgij1KcTOlw761o8f8nzyM/Mx7/+/V/x0NaH0KV2aV0aERGlMYYwShvT86fjT5f8CdfNug5//PCPWPn6ShxqPaR1WURElKYYwiitZOgzsHbpWjz1yafQ1t2Ga167Br878DsEZVDr0oiIKM0whFFaWlG2Av992X9jRdkKPLr9UXzjb99Ao6dR67KIiCiNMIRR2irILMAT5z+B+5bfh10Nu/DFDV/EO8ff0bosIiJKEwxhlNaEELhqxlX486V/RomlBN/+32/j/s33w+P3aF0aERGlOIYwIgAVuRX4w2f/gBvm3oAXD72Iq1+7Gh80f6B1WURElMIYwoh6GPQG3L7odqz/1Hp4VA+ue/06/HrfrxEIBrQujYiIUhBDGNFZlpUsw0uXvYTzJ5yP/9j1H1j19irUu+u1LouIiFIMQxhRP3IzcvHTf/kp7q+6H/ub9uOKDVfgLedbWpdFREQphCGMaABCCHxh2hfw4qUvYmLORNzxjztw7//dC7ffrXVpRESUAhjCiIYwIWcCfvuZ32LN/DV49eiruHLDldjTuEfrsoiIKMkxhBENg0FnwC0LbsFvPv0bBGUQ1//1ejy15ymoQVXr0oiIKEkxhBGNwMLihXjxshdx8eSL8cv3f4kb37oRp06f0rosIiJKQgxhRCOUbczGw+c9jIfOewjVrdW4csOVeO3oa1qXRURESYYhjGiULqm4BC9e9iKm5U/DPe/dg7X/XIsOX4fWZRERUZJgCCMag7KsMjzz6Wdwi/0WvOV8C1/a8CXsbNipdVlERJQEGMKIxkjRKVhTuQbPfeY56HV63PjWjXh85+PY1bAL9e56Lt4nIqJ+CSml1jWMyOLFi+WOHTu0LoOoX26/G49sewQvH3458phe6GEz21BiKUFJVknoc++PrBJYDBYNqyYiolgRQuyUUi7u9zmGMKLoO9FxAsc7j6POXYc6dx3q3fWoPV2LOncdGtwNUGXf0bFsYzZKLaUosZRgnGUcSrJKUGopDf3ZUgKr2Qqd4MA1EVGyGSyEKfEuhigdlOeUozynvN/nAsEAmrxNkXBW565D7enayJ93uXads8Bf0SkoNhf3GT3rPZo2zjIOZoM5Ht8aERFFCUMYUZzpdXoUW4pRbCke8JjTvtORUNbn43QddjTsgOuYCwEZ6POavIy8c0LaOMu40AhbVgkKMgs4mkZElEAYwogSUJYxC1ONUzE1f2q/z6tBNTKaFp7mDIe2453HsbV+6zl7XOqFHoWZhSgyF6HIVASrydrnc5H5zJ+NemM8vk0iorTGEEaUhBSdgnGWcRhnGYcFtgX9HtPp64yMntW56+DyuNDkbUKTtwmNnkYcaD6Alq4WBGXwnNfmGHNCgaxXMAsHNqvZikJTIawmK7IMWRBCxPrbJSJKSQxhRCkq25iNbGM2pudPH/CYQDCA1u5WNHoa0eht7BPSmrxNaPQ2YrdrN5q8TegOdJ/z+kx95pmAZu4b1no/lp+RD71OH8tvl4go6TCEEaUxvU4fCU6zMGvA46SU6PR3osnTFAlnkbDW1YQmTxOOtB3B1rqt/e4aoBd6FGQW9Als47PGY1r+NEzPn44SSwlH1Igo7TCEEdGQhBDIMeYgx5iDiryKQY/tDnRHAlqztxmN3nNH2T5s+RCN3sbIa7IMWZiaNxXT86djWv60yEeOMSfW3xoRkWYYwogoqjL0GSjLKkNZVtmgx532ncbhtsM41HoI1a3VqG6rxl+df8ULh16IHDPOMi4UzPKmRUbNJuVOgkFniPW3QUQUcwxhRKSJLGMW7DY77DZ75DEpJRo8DX2C2aHWQ9hUuymy/ZOiUzA5d3IknIVHz4rNxZzSJKKkwo75RJTw/AE/jnUcCwWz1lAwq26rRr27PnJM+CaE3qNm0/KncUsoItIUO+YTUVIz6A2Ynj/9nDs927vbcbjt8Jlg1lqNV4++2qdHWllWWWiNWd40TC+Yjul50zEhZwIUHf/3R0Ta4v+FiChp5WbkYlHxIiwqXhR5TEqJWndtn2B2qPUQ3jv5XmSXAaPOiCl5U86Es/zpqMirQJGpiOGMiOKG05FElBa6A9042nYU1W3VfQJa77s0dUKHwsxC2My2yMc4y7g+XxebiznFSUTDxulIIkp7GfoMzCqchVmFffuhtXa1orq1Gs4OJ1weF1weFxo8DTjReQI7Gnag09d5zrmyDFnnBLNic3Hoa0voa+7VSURDYQgjorSWn5mPpSVLsbRkab/Pe/weNHob4fK4UO+ujwS18MeWui1o9jafs6G6IhRYzdb+g1rP1zaLDRn6jHh8m0SUgBjCiIgGYTaYMdEwERNzJg54TCAYQHNXc2QUzeVxocHdEAlq1a3V+L9T/wev6j3ntXkZeX2DWc/nkqwS2K12mA3mWH57RKQhhjAiojHS6/SRIDUXc/s9RkqJ0/7TfYJaZPrT3YAGTwMONh9ES1cLJEJrdRWdgoW2hXCUOrCidAVmFMzgFCdRCuHCfCKiBOIP+tHkacKxjmPYUrsFG2s34lDrIQBAYWYhHKUOVJVWoaq0CoWmQo2rJaKhDLYwnyGMiCjBNXoasbluMzae2ojNtZvR2t0KAJhVMAtVpVVYUbYCdqsdBj23cyJKNAxhREQpIiiDONhyEJtObcLG2o3Y49oDVaowKSYsHbc0EsomZE/gNk5ECYAhjIgoRZ32nca2+m3YVLsJG09txMnTJwGEdgpYUboCVWVVWDZuGbKMWRpXSpSeGMKIiNLEiY4T2Fi7ERtrN2Jb3TZ4VA8UoWC+dT5WlK3AitIVmFU4iwv8ieKEIYyIKA35A3683/h+ZJTsYMtBAKG2GI4SB6rKQgv8bWabxpUSpS6GMCIiQrO3GZvrNmNzbWiRf3NXMwBgWv600NRlaRUWFi9kA1miKNIshAkhLgbwcwB6AL+SUj581vO3A7gJgAqgEcCNUsqawc7JEEZENHZSShxqPYSNtRux6dQm7HLtgj/oR6Y+E4vHLQ4t8C9dgcm5k2O2wD8QDKA70I2uQBe61dDnLrWrz2PegBfdaje6A93wqt7Qcz3HKDoF2cZsZBmykGXMQrYhO/R1z5+zjFmwGCyceiVNaRLChBB6AIcAXATgJIDtAFZKKQ/0OuZ8AFullB4hxDcAfEJKefVg52UIIyKKPo/fgx0NO7Dx1EZsqt0EZ4cTADDOMg4rSldgeelyWBRLJCBFwlKvz12BrjNhqSc4DXasP+gfVa06oUOGPgNqUB3yHAIiEtJ6h7NweOv9eaDHTIqJd5rSqGkVwhwAfiil/HTP1/cAgJTyoQGOXwDgSSnlisHOyxBGRBR7p06fivQl21K3Baf9pwc9PkOfgUwlM/RZn4kMJQMmvQkZSkbkscjzvT5n6s/6s5IRecykmJChz4g8Fj5G0SmRUNQd6EanrxOdvk6c9p1Gp7/ns68Tp/19P4f/fPbzZ+/7eTa90MNisPQJamcHumxDNgpNhZicOxmTcibxblSKGCyExXLbojIAJ3p9fRLAskGO/zqAv/b3hBBiNYDVADBhwoRo1UdERAMoyyrDVTOuwlUzroIaVPFRy0cIyECfEBUJSfoMzUaKMvQZyDBloMhUNKrXSynhVb2RcNbh6zgT1HoFuj4Bzt+J2tO1kT+7/W4EZbDPeW0mWyiQ5U7C5NzJmJw7GRW5FSg2F3NUjSJiGcL6+1vW77CbEOI6AIsB/Et/z0sp1wFYB4RGwqJVIBERDU3RKZhTNEfrMmJCCAGzwQyzwTzqu0SllPCoHjR4GuBsd+Jo+1Ecaz8GZ7sTbxx9A53+zsixJsWESTlnglk4nE3ImcAbItJQLEPYSQDlvb4eD6D27IOEEJ8E8D0A/yKl7I5hPURERFEnhIDFYEFFbgUqcitwAS6IPCelRHNXM461H+vz8b7rfbxx7I3IcTqhQ1lWWSiY5UzuE9LyM/O1+LYoDmIZwrYDmCaEmAzgFIBrAHy59wE968CeBnCxlNIVw1qIiIjiTgiBIlMRikxFWDJuSZ/nPH4PjncePyegba3biu7AmTGJvIy8M6GsV0AryyqDXqeP97eU9Nq62rCvaR/2Nu3F9PzpuGjiRZrVErMQJqVUhRC3AHgLoRYVz0gpPxBC3A9gh5RyA4DHAGQB+EvPHPlxKeVlsaqJiIgoUZgNZswsmImZBTP7PB6UQdSerj0TzDpCn9898S5e6nopcpxBZ8DEnIl9Rs3CQc1sMMf720lI/qAf1a3V2Nu4N/TRtBc1HaFOWDqhw7WzrtU0hLFZKxERUZJo724/J5w525040Xmiz12exeZiTM6djCl5UzAlbwqm5k3FlLwpyDHmaFh97DW4G7C3aW8kdB1oPoCuQBcAoDCzEPOt8zHfOh+V1krMKZwTl7DKjvlEREQpzB/w40TniT7h7EjbERxtPwqv6o0cZzPZzglmU/OmJmVLjS61CweaD0RGuPY27kWDpwFAaJRwVuEszC8KBa751vkosZRocmeqVi0qiIiIKA4MegMq8ipQkVfR5/Hw1OaRtiM43HY48vnFQy9GRoiA0MhZ71AWDmoWgyXe30q/pJQ43nm8z7TioZZDUKUKINRSZWHxwlDgKpqPGQUzYNQbNa56aBwJIyIiSjNBGcSpzlOhYNZ+JqAdaz/W56aAEkvJOaNmFbkVMZ/G6/B1YH/T/kjo2te0D23dbQAAs2LGvKJ5kanFeUXzUGgqjGk9Y8GRMCIiIorQCR3Kc8pRnlOO83F+5PFAMICTp0/2GTU72nYU2+q2wRf0RY4ryyo7Z1qzIrcCJsU04lrUoIojbUf6rOU62n4UQGjbqSl5U3DBhAswvygUuipyK1LmrlCOhBEREdGg1KCKk50n+05rth+Gs90Z2b9TQKAsq6zPdGY4nGUqmZFzNXmb+kwr7m/aH1m3lp+RHxnhmm+dj7mFc5NyvVpvXJhPREREUacGVRzvPN4nnB1pOwJnuzOyXktAYHz2eJRnl8PZ7kStO9S3XREKZhbMPBO6iuZjfPb4lNvWiSGMiIiI4sYf9ON4x/E+05onO09iQs6EyLTizIKZfUbIUhXXhBEREVHcGHSGyHQkDUyndQFERERE6YghjIiIiEgDDGFEREREGmAIIyIiItIAQxgRERGRBhjCiIiIiDTAEEZERESkAYYwIiIiIg0whBERERFpgCGMiIiISAMMYUREREQaYAgjIiIi0gBDGBEREZEGGMKIiIiINMAQRkRERKQBhjAiIiIiDTCEEREREWmAIYyIiIhIAwxhRERERBpgCCMiIiLSAEMYERERkQYYwoiIiIg0wBBGREREpAEhpdS6hhERQjQCqInDpYoANMXhOsmK78/g+P4Mje/R4Pj+DI3v0eD4/gwtHu/RRCmltb8nki6ExYsQYoeUcrHWdSQqvj+D4/szNL5Hg+P7MzS+R4Pj+zM0rd8jTkcSERERaYAhjIiIiEgDDGEDW6d1AQmO78/g+P4Mje/R4Pj+DI3v0eD4/gxN0/eIa8KIiIiINMCRMCIiIiINMIQRERERaYAh7CxCiIuFEB8JIQ4LIe7Wup5EI4QoF0L8rxDioBDiAyHEt7WuKREJIfRCiN1CiNe0riURCSHyhBAvCiE+7Pm75NC6pkQihPi3nn9f+4UQzwshMrWuSWtCiGeEEC4hxP5ejxUIId4WQlT3fM7XskYtDfD+PNbzb2yvEOJlIUSeljVqrb/3qNdzdwghpBCiKJ41MYT1IoTQA/glgM8AmA1gpRBitrZVJRwVwHeklLMALAfwTb5H/fo2gINaF5HAfg7gTSnlTACV4HsVIYQoA3ArgMVSyrkA9ACu0baqhPAsgIvPeuxuAH+XUk4D8Peer9PVszj3/XkbwFwp5XwAhwDcE++iEsyzOPc9ghCiHMBFAI7HuyCGsL6WAjgspTwqpfQB+BOAyzWuKaFIKeuklLt6/tyJ0A/PMm2rSixCiPEAPgfgV1rXkoiEEDkAPg7g1/j/7d1biFVVHMfx7w+t8FIvRWVNNWbiQ1AaFZVEkAURYkEPdkXKl4KyeigJIYgiDCJFiqKiKJIg1EiQSjEwpJsYXro8RCU5ZmWESRfK7NfDXgNnbI5kxaw9M78PHM7eaw5zfudwzua/11pnL8D277b31k3VOmOBcZLGAuOBryvnqc7228APBzVfBbxQtl8Arh7SUC0y2Ptje63tP8rue0DPkAdrkS6fIYAlwL3AkP9SMUXYQCcDOzv2+0iB0ZWkXmAG8H7dJK2zlOYL/WftIC11OrAHeL4M2T4raULtUG1hexfwKM1Z+W7gR9tr66ZqrRNs74bmBBE4vnKeNrsFeL12iLaRNAfYZXtrjedPETaQBmnLNTwGIWkisBK4y/a+2nnaQtJs4Dvbm2tnabGxwDnAk7ZnAD8zuoeRBijzmq4CJgMnARMk3Vg3VQxnkhbRTCVZXjtLm0gaDywC7q+VIUXYQH3AKR37PWQY4G8kHUFTgC23vap2npaZCcyRtINmOPtSSS/VjdQ6fUCf7f4e1BU0RVk0LgO+tL3H9n5gFXBR5Uxt9a2kSQDl/rvKeVpH0jxgNnCDc2HQg02hOdnZWo7ZPcCHkk4cqgApwgbaBEyVNFnSkTSTYVdXztQqkkQzl+dT24/VztM2tu+z3WO7l+bz85bt9GJ0sP0NsFPStNI0C/ikYqS2+Qq4QNL48n2bRX640M1qYF7Znge8VjFL60i6AlgIzLH9S+08bWN7u+3jbfeWY3YfcE45Rg2JFGEdygTG24E3aQ56r9j+uG6q1pkJ3ETTw7Ol3K6sHSqGnTuA5ZK2AdOBhyvnaY3SQ7gC+BDYTnOcHvXLz0h6GXgXmCapT9J8YDFwuaTPaH7dtrhmxpq6vD+PA0cD68qx+qmqISvr8h7VzZTeyYiIiIihl56wiIiIiApShEVERERUkCIsIiIiooIUYREREREVpAiLiIiIqCBFWEQMS5IOdFwmZYuk/+2q+5J6JX10GI+fIGld2d5Y1nyMiDikHCgiYrj61fb02iGKC4H3ypJDP3csmhwR0VV6wiJiRJG0Q9Ijkj4otzNK+2mS1kvaVu5PLe0nSHpV0tZy618iaIykZyR9LGmtpHGDPNcUSVuAl4Drgc3A2aVnLotJR8QhpQiLiOFq3EHDkXM7/rbP9vk0VwxfWtoeB160fRbNQsbLSvsyYIPts2nWsOxfJWMq8ITtM4G9wDUHB7D9eemN2wycD7wIzLc93XbWMYyIQ8oV8yNiWJL0k+2Jg7TvAC61/UVZbP4b28dK+h6YZHt/ad9t+zhJe4Ae2791/I9eYJ3tqWV/IXCE7Ye6ZNlk+zxJK4EFtnf9zy83Ikag9IRFxEjkLtvdHjOY3zq2DzDIHFpJT5UJ/FPLsOQVwBpJdx9O2IgYnVKERcRINLfj/t2y/Q5wbdm+AdhYttcDtwFIGiPpmH/6JLZvBR4AHgSuBtaUocgl/y1+RIwG+XVkRAxX40rvU783bPdfpuIoSe/TnGheV9oWAM9JugfYA9xc2u8EnpY0n6bH6zZg92HkuIRmLtjFwIZ/9UoiYlTKnLCIGFHKnLBzbX9fO0tExKFkODIiIiKigvSERURERFSQnrCIiIiIClKERURERFSQIiwiIiKighRhERERERWkCIuIiIio4C/vc9W1VtkGzwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "plt.plot(cnn3.history.history['accuracy'], label = \"train_acc\")\n", + "plt.plot(cnn3.history.history['val_accuracy'], label = \"validation_acc\")\n", + "plt.plot(cnn3.history.history['loss'], label = \"train_loss\")\n", + "plt.plot(cnn3.history.history['val_loss'], label = \"val_loss\")\n", + "plt.title('Training Loss and Accuracy on Dataset')\n", + "plt.ylabel('Loss / Accuracy')\n", + "plt.xlabel('Epoch #')\n", + "plt.legend(loc='upper right')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Both the precision, recall and f1-score for the two classes are close to one, indicating that the tests are highly accurate." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + "Pneumonia (Class 0) 0.91 0.94 0.92 390\n", + " Normal (Class 1) 0.89 0.84 0.86 234\n", + "\n", + " accuracy 0.90 624\n", + " macro avg 0.90 0.89 0.89 624\n", + " weighted avg 0.90 0.90 0.90 624\n", + "\n" + ] + } + ], + "source": [ + "predictions = cnn3.predict_classes(x_test)\n", + "predictions = predictions.reshape(1,-1)[0]\n", + "predictions\n", + "print(classification_report(y_test, predictions, target_names = ['Pneumonia (Class 0)','Normal (Class 1)']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The confusion matrix, in comparison with the previous matrix, demonstrates a far higher number of correctly classified cases, particularly within the True Positive and True Negative region." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "cm = confusion_matrix(y_test,predictions)\n", + "cm_df = pd.DataFrame(cm , index = ['0','1'] , columns = ['0','1'])\n", + "plt.figure(figsize = (10,10))\n", + "sns.heatmap(cm_df, linewidth = 5 , annot = True, fmt='d',\n", + " xticklabels = ['Pneumonia', 'Normal'],\n", + " yticklabels = ['Pneumonia', 'Normal'],\n", + " cbar = False, cmap = \"YlGnBu\")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "cnn3.save('cnn3_model_attempt5_normalimages_FINAL 25.05.2020.model')\n", + "cnn3.save_weights('cnn3_model_attempt5_normalimages_weights_FINAL 25.05.2020.h5')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### In the following Notebook, labelled '02', I will investigate a multi-class image dataset." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/your-project/Notebooks/02 Image Processing_CNN Pneumonia_and_COVID19.ipynb b/your-project/Notebooks/02 Image Processing_CNN Pneumonia_and_COVID19.ipynb new file mode 100644 index 00000000..357720a0 --- /dev/null +++ b/your-project/Notebooks/02 Image Processing_CNN Pneumonia_and_COVID19.ipynb @@ -0,0 +1,1634 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Notebook 02: Continuing from my previous notebook, I acquired X-Ray scans of lungs from patients who have suffered from Coronavirus (COVID-19). To clarify, COVID-19, in severe cases can result in pneumonia, however I thought it would be potentially for radiologists / doctors if it's possible to differentiate between COVID-19 induced pneumonia and typical pneumonia. " + ] + }, + { + "cell_type": "code", + "execution_count": 285, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image\n", + "from IPython.core.display import HTML \n", + "from collections import Counter\n", + "\n", + "import cv2\n", + "import pandas as pd\n", + "import random\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt \n", + "import os\n", + "import os.path\n", + "import shutil\n", + "import seaborn as sns\n", + "import joblib\n", + "\n", + "# Keras Libraries\n", + "import tensorflow as tf\n", + "import keras\n", + "from sklearn.model_selection import train_test_split\n", + "from keras.utils import to_categorical\n", + "from keras.models import Model\n", + "from keras.models import Sequential\n", + "from keras.layers import Input\n", + "from keras.layers import Conv2D\n", + "from keras.layers import MaxPooling2D\n", + "from keras.layers import Flatten\n", + "from keras.layers import Dense\n", + "from keras.preprocessing.image import ImageDataGenerator, load_img, img_to_array, array_to_img\n", + "from sklearn.metrics import classification_report, confusion_matrix\n", + "from tensorflow.keras.models import load_model\n", + "from keras.utils import plot_model\n", + "from sklearn.metrics import multilabel_confusion_matrix" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "keras.backend.clear_session()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This function serves to feed in the from the train, validation and test image datasets, label them appropiately as a 0, 1, 2 based on their location (either in the Pneumoniam, Normal or COVID files). Then, it iterates through the images, converts them to grayscale, resizes the image to a smaller 128 x 128 dimension and converts it into an array of numbers. This list of pixels, along with the label (0 1, 2), is then appended into the an array. " + ] + }, + { + "cell_type": "code", + "execution_count": 331, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['PNEUMONIA', 'NORMAL', 'COVID']\n", + "\n", + "def get_training_data(data_dir):\n", + " data = []\n", + " for label in labels:\n", + " path = os.path.join(data_dir, label)\n", + " class_num = labels.index(label)\n", + " print(path)\n", + " for img in os.listdir(path):\n", + " try:\n", + " img_arr = cv2.imread(os.path.join(path, img), \n", + " cv2.IMREAD_GRAYSCALE)\n", + " resized_arr = cv2.resize(img_arr, (128, 128))\n", + " data.append([resized_arr, class_num])\n", + " \n", + " except Exception as e:\n", + " print(e)\n", + " return np.array(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 332, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\COVID\n", + "OpenCV(4.2.0) C:\\projects\\opencv-python\\opencv\\modules\\imgproc\\src\\resize.cpp:4045: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'\n", + "\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\COVID\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\COVID\n" + ] + } + ], + "source": [ + "train = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\")\n", + "val = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\")\n", + "test = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here's the distribution of our images per set.\n", + "#### I have now included additional CT scans from COVID-19 patients in the dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 252, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nuCjjz5i7969AFx//fVnTEJqgTnLcvokJSW55OTkaIeRjl77kp5e+yIiInL2S0lJ4ZJLLol2GHKGeeSRR3j99deZO3cuV111VbTDyTUi/fdkZoudc+newaM1pCIiIiIiIr5NYUYoFi1axD//+U/Kly/PFVdcEYWozl6asisiIiIiIuK75JJLqFu3LjVq1CAuLo4VK1akTjceNmxY6rtQJWfoaYqIiIiIiPgeeOABpk6dyujRo9m3bx/x8fG0bt2axx9/nAYNGkQ7vLOOElIRERERERHfwIEDGThwYLTDyDO0hlRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIjkWsuWLcPM6N69e7RDkdOgQLQDEBERERHJVcqXj3YEmdu0KVvNzSxL9UeOHEnnzp2zdc3M7Nu3j2LFitGqVSumTJly2q5zOsybN4/XX3+d+fPns2XLFgoVKkSZMmWoWbMmjRo1onv37sTGxp5y/+3bt+ezzz5j69atlC5dOgcjzz2UkIqIiIiI5CFPP/10urJXX32V3bt388gjj1CyZMk052rXrv1nhRZWtWrVSElJIT4+PqpxhHrrrbfo1q0bZkaLFi1o3749AGvWrGHhwoVMnDiRjh07cs4550Q50txNCamIiIiISB7Sv3//dGWjRo1i9+7dPProo1SuXPlPjykzMTExXHzxxdEOI41du3bx6KOPEhMTw4wZM2jQoEGa8845Zs+eTbFixaIU4ZlDa0hFRERERCQiW7dupVevXlx00UXExcURHx/Pddddx6xZs9LVPXjwIIMGDaJ27dqULFmSIkWKUKVKFW655RZmz54NwNChQ1OTti+++AIzS/0MGjQIyHgNafv27TEztm7dymuvvUb16tWJi4sjMTGR7t27s3///rD3MHHiRK688koKFy5MQkIC7du3Z/Xq1an9bdu27aTPYcmSJRw6dIikpKR0ySh406KbNGlCkSJF0p378ccf6dixIxUqVCAmJobExETuvvtuVq9enVpn3759mBmfffYZAGXKlEl9LjVr1jxpfGcSjZCKiIiIiMhJrVy5kmbNmrFx40auvvpqWrVqxZ49e5g0aRLNmzfngw8+oEOHDqn1b7vtNiZPnkydOnXo3LkzsbGxbNy4kdmzZzNjxgwaN27M5ZdfTp8+fRg4cCAXXnhhmvbhEr1wHnzwQaZPn06rVq24/vrrmTZtGsOGDePXX39l8uTJaeq+++67dOnShaJFi3LHHXdQtmxZvvnmG+rXr0/VqlUjfhYJCQkArFu3jkOHDhEXFxdRu/Hjx3PHHXfgnKNNmzZUqVKFX3/9lTFjxjBlyhTmzJlD9erViYmJ4emnn2bcuHGkpKTQu3dvChcuDEDZsmUjjvNMoIRUREREREROqmPHjmzevJmJEyfSpk2b1PLt27dz1VVX8be//Y0bbriBkiVL8ttvvzF58mQaN27MrFmz0myk5Jxjx44dAFx++eVUr16dgQMHUq1atbDTiU/m+++/Z9myZSQmJgJw5MgRGjRowJQpU1i+fDnVq1cHYNu2bTz00EMULlyYRYsWpZkG3L17d4YNGxbxNWvUqEHNmjVZtmwZjRo1okuXLtSvX5/q1atTsGDBsG02b97MXXfdRXx8PHPmzEmTAC9evJirrrqK+++/nzlz5hATE0P//v1ZtmwZKSkpPP7442ftpkaasisiIiIiIpmaN28eycnJ3HXXXWmSUfBGC5988kn27t3LpEmT0pyLjY1Nt6uvmaWOMOaEZ599NjUZBW/N6d133w3AwoULU8s//fRTDhw4QJcuXdKtSX322WdTRyAjUaBAAcaPH0+DBg1ITk6mW7du1K5dm6JFi9KgQQNeeeWVdFOG33nnHfbv38+LL76YbjS2Xr163HXXXcydO5d169ZFHMfZQCOkIiIiIiKSqQULFgDeGtJwo5gbN24EICUlBYDExESuvvpqpk2bRlJSEjfffDONGjXi8ssvj3h6a6SSkpLSlZ133nkA7Ny5M7Vs6dKlADRs2DBd/VKlSlG9enWSk5Mjvm7VqlWZN28eP/74I19//TWLFy/mu+++Y8GCBSxYsIA333yTb775hvL+a4QCz3DRokWsWbMmXX9r164FvGdYsWLFiOM40ykhFRERERGRTG3fvh3wNh764osvMqy3b9++1P+eNGkSL7zwAh9//DH9+vUDoHDhwtx+++28/PLLlCpVKkdiC31NDXgjmADHjx9PLdu9ezcA5cqVC9tPRuUnU6tWLWrVqpX6/ccff6Rz584sWbKExx9/nA8//BD44xmebGpw8DPMCzRlV0REREREMlWiRAnAm3bqnMvwM2TIkNQ2RYsW5YUXXmDVqlWsXbuW9957j6SkJN599106duz4p99D8eLFAdiyZUvY8xmVZ1WtWrV49913AZgxY0ZqeeAZrlq1KtNn2K5duxyJ40yhhFRERERERDJ15ZVXAjBnzpxTal+pUiU6derE9OnTqVChAv/+9785ePAgAPnz5wfSjmaeDnXq1AFg7ty56c7t2LGD5cuX59i1Aq+ycc6llp3KM/yznk00KSEVEREREZFMNWnShLp16/Lhhx8yZsyYsHWWLl2aumZz06ZNLFmyJF2dvXv3sn//fmJiYlKTrYbbd5kAACAASURBVEKFClGoUKHTvplP+/btKVy4MO+88w4rVqxIc+6pp57iwIEDEfeVkpLCm2++yd69e9OdO3HiBC+88AIAjRs3Ti3v2rUrRYoUoW/fvvznP/9J1+7YsWPp3uca/HqZs5XWkIqIiIiISKbMjE8++YTmzZvToUMHBg8ezGWXXUbx4sVZv349S5cu5aeffuLHH38kPj6e1atX06hRI2rVqkXt2rWpUKECu3btYvLkyezatYu+ffsSExOT2n/z5s2ZMmUK7dq1o1atWhQoUIBrrrkmdVQxJ5QpU4ZXX32Vrl27kpSUxG233UaZMmWYPXs2v/zyC/Xr12fBggXky3fyMbvt27fzwAMP8Nhjj3HVVVdRo0YNihYtypYtW5g2bRrr1q2jQoUKvPjii6ltypcvz9ixY7ntttuoW7cuLVq04JJLLsE5x/r165k3bx7Hjh1j27ZtaZ7Lm2++SadOnWjbti1FihShbNmydO3aNceeS7QpIRURERERkZM6//zzWbp0Ka+99hrjx4/n/fffxzlHYmIiNWrUoHfv3qmvM7n44ot56qmnmDVrFl9//TXbt28nISGBSy65hFdffZX27dun6Xv48OE8+uijzJo1iwkTJnDixAni4uJyNCEFuO+++yhdujQDBw5k9OjRFCpUiGbNmvHBBx/w17/+FfhjrWlm6tWrxyeffMK///1vFi5cyJgxY9ixYwdFixalWrVq3HPPPTz88MPpNm5q3bo133//PYMHD2batGnMmjWLuLg4EhMTadmyZbrn0q5dO55//nlGjRrFK6+8wpEjR6hRo8ZZlZBa8LxmOT2SkpJcVraQ/rP4O1BLkE2boh2BiIiInG4pKSlccskl0Q5DcpEjR45w7rnnUqJECX7++edoh3NGifTfk5ktds6le0eP1pCKiIiIiEiesGPHDg4dOpSm7MSJE/Tr14+tW7dy8803RymyvEtTdkVEREREJE+YMWMGXbt2pUWLFlSqVIk9e/Ywb948li1bRtWqVenTp0+0Q8xzlJCKiIiIiEieUKtWLa699loWLFjA5MmTOXHiBBUrVqRnz5706dOH+Pj4aIeY5yghFRERERGRPOGiiy5i7Nix0Q5DgmgNqYiIiIiIiESFElIRERERERGJCiWkIiIiIiIiEhW5IiE1s7+b2XQzW29mB81sh5ktNbOnzSwhpG5lM3OZfDKcFG5md5vZQjPbZ2a7zWyWmbXOpH5+M3vUzH4IimuqmTXIyfsXERERERHJi3LLpkY9gCXANOB3oAhwJdAf6GpmVzrn1oe0+Q8wIUxfy8JdwMwGAT2BDcDbQAxwOzDZzB5yzg0NqW/AWKA9sAIYCpQCbgNmm1k759zErN+qiIiIiIiIQO5JSIs75w6FFprZ80BfoA/wQMjp751z/SPp3B/R7AmsAi5zzu30y18GFgODzGyKc25tULPb8ZLR+UDzQHxmNhyYC7xtZjOcc3sjvksRERERERFJlSum7IZLRn3j/OOF2bzE3/zj84Fk1L/uWmAYEAvcE9Kmm3/sFxyfc24R8DFQBi9hFRERERERkVOQKxLSTNzoH38Ic668md1vZn3946WZ9NPMP/4rzLkvQ+pgZrFAA+AAMCeSNiIiIiIiIpI1uWXKLgBm1gsoCpQAkoCGeMnoi2Gqt/A/we1nAXc759YFlRUBKgD7nHO/hennZ/9YLaisKpAfWO2cOxZhGxEREREREcmC3DZC2gt4GngULxn9F3Ctc25rUJ0DwACgHhDvf5oAM4GmwHQ/CQ0o4R93Z3DNQHnJbLZJw8y6mlmymSVv3bo1o2oiIiIiImetX375BTPj3nvvTVN+5513YmZs2LAh4r7OPfdcqlatmtMhppFRvHL65KoRUufcOQBmVg5vyuyLwFIza+2cW+LX+R14KqTpbDO7Fm+zoSuAe4HXsnr5LNS1k7Vxzv0T+CdAUlJSVvoWERERkSgqP7h8tEPI1Kaem7LVvkOHDowZM4Y33niDbt26ZVq3RYsWfP3114wfP562bdtm67q5wbFjxyhYsCDNmzfn66+/jnY4ETt48CBDhw7l008/5aeffuLgwYMkJCRQoUIF6tevz6233kqjRo1Ouf9ffvmFCy+8kC5dujBixIgcjPzkctsIKQDOuS3OufHAtUAC8H4EbY4BgafXOOhUYDSzBOGFGw09WZviYdqIiIiIiOR6Xbt2BeDtt9/OtN7atWuZPn06iYmJtG7dOkdjePnll0lJSeGcc87J0X6zq1KlSqSkpPDcc89FO5RUe/fupX79+jz++OOsX7+e9u3b07NnT1q2bElcXBzDhw/nnXfeiXaYpyxXjZCGcs79ambLgdpmVto5t+0kTQJzY1On7Drn9pvZRqCCmSWGWUca2MF3ZVDZL8Bx4HwzKxBmHWm4NiIiIiIiuV7Tpk2pVq0aS5cuZcmSJdStWzdsvREjRuCc45577qFAgZxNGxITE0lMTMzRPnNCwYIFufjii6MdRhqDBw/mP//5DzfccAMTJkygYMGCac7v3LmTn376KUrRZV+uHCENEZgzcTyCulf6x9Uh5TP84/Vh2rQMqYNz7jDe+0cLA+HGvtO1ERERERE5U9x3331AxqOkx48fZ9SoUenWU27cuJFnnnmGBg0acM455xATE0OFChXo2LFjlpKijNaQOud4/fXXqV69OrGxsVSoUIGHH36YPXv2hO1n165dvPTSS1x99dVUqFCBmJgYypYtS9u2bVm4cGGauiNGjEhN5qZPn46ZpX4CI6KZrSHdtGkT3bp1o1KlSsTGxlK2bFnatWvH0qVL09UdMWIEZsaHH37I9OnTadKkCUWLFqVEiRLceOONrFixIuJnNX/+fAC6deuWLhkFiI+Pp379+unKjx07xtChQ7niiisoXrw4hQsXpm7durzxxhs498eKwn79+nHhhd542zvvvJPmuXz44YcRx3mqoj5CamYXA7ucc5tDyvPhbV5UFpgfeH+omV0BLHXOHQmp3wzo4X8NfXLDgbuAJ8xsQlBflYEHgcPAyJA2b+Ilo8+ZWfPAu0jN7DLgNrzR2M9O8bZFRERERKLm7rvv5oknnuCjjz5i8ODBFC5cOM35qVOnsnHjRlq0aEGVKlVSy2fOnJmaANapU4ciRYrw888/M27cOCZPnsz8+fOpWbPmKcfVvXt33njjDcqXL8/9999PgQIFmDBhAgsXLuTo0aPExcWlqb9s2TL69etHkyZNuPHGGylZsiS//vorkyZNYurUqUydOpVrrrkGgLp16/Lkk08yYMAAqlSpQqdOnVL7ady4MZlZtWoVDRs2ZPPmzVxzzTV06NCBdevW8cknn/DFF18wfvx4WrZsma7dhAkTmDhxIjfccAPdunVj2bJlTJkyhUWLFrF8+XJKlSp10meSkJAAwMqVkU/OPHLkCK1ateLrr7/m4osvpmPHjsTGxjJjxgwefPBBFi5cyKhRowBo1qwZe/bsYciQIdSpU4c2bdqk9nPppZm9WTNnRD0hxRu1fNnMZgOrgO1AObydc88HNgP3BdX/O1DDf8VL4E8ql/LHO0GfdM7ND76Ac26+mb0CPAb8YGafAjF4iWUp4CHn3NqQuMYCtwDt8TZWmoy3nvU2vFfC3OecC/+nGhERERGRXKxMmTK0bduWcePGMW7cODp37pzmfGBjm8B604AWLVqwZcsWihYtmqZ86dKlNGzYkD59+jB58uRTimn27Nm88cYbXHjhhXz33XfEx8cD8Pzzz9OkSRN+//13ihUrlqZNzZo1+e2331KTtoBff/2VK664gh49evDjjz8CXkJ66aWXMmDAAM4//3z69+8fcWxdu3Zl8+bNvPjii/zv//5vavnf/vY3mjZtSqdOnfj111/TJfYTJ05k2rRpNG3aNLWsd+/eDBo0iFGjRvHYY4+d9Nq33XYbY8eOpW/fvqxevZobbriBunXrZrr+9tlnn+Xrr7/mkUceYfDgweTPnx/wRr67dOnCe++9x1/+8hdatWpFs2bNqFixIkOGDKFu3bpZei45ITdM2f0abzfaBLwEsDfQDtgBPAPUcM4tD6r/AfAdcBleovoA3prOcUBj51zYFcjOuZ5AZ7wEtyvQCfgvcKNzbmiY+g64Ay+JPQY85Mc327/OxOzctIiIiIhINAWSzdBdVX/77TemTp1KuXLluOmmm9KcK1euXLpkFKBOnTo0adKE6dOnc/x4JCvt0hs50puw+OSTT6YmowCFChXihRdeCNumZMmS6ZJR8DYnuuWWW1i2bBmbNmVvV+K1a9cyY8YMqlSpQs+ePdOca9SoEbfeeivbtm1jwoQJ6dp27NgxTTIKfzz30CnFGWnbti2vvPIKsbGxDBs2jFatWpGYmEj58uW58847mTt3bpr6x48fZ9iwYVSoUCFNMgqQP39+Bg8eDMDo0aMjuv7pFvURUufcMrxps5HWfwc4pW2knHPvAe9lof4x4B/+R0RERETkrNGsWTMuuOAC5s2bR0pKCpdccgngJYbHjh2jc+fOYdcsTpo0ibfeeovFixezfft2jh1Lu//njh07KFOmTJbjWbJkCQBNmjRJd65x48bkyxd+LG3OnDm8/vrrfPvtt/z+++8cOZJmZR8bN26kfPlTf5VPYI1o48aNw27u1KxZM8aOHcvSpUvp0KFDmnNJSUnp6p933nmAtxlRpHr06EHXrl2ZNm0a8+fPZ+nSpcyfP5/Ro0czevRonnnmGZ56ynszZkpKCrt27aJcuXIMGDAgbH9xcXGkpKREfP3TKeoJqYiIiIiI/PkCm/f06dOHESNGMHjwYJxzqRvbhNvY55VXXqFnz56UKlWKa665hkqVKlGoUCHMjM8//5wff/yRw4cPn1I8u3d7b1QsV65cunMxMTFpRk0DPvnkE26//XYKFSpEixYtOP/88ylSpAj58uVjxowZzJkz55TjCY0ro12BA+W7du1Kd65kyZLpygJJbVZHkosUKULbtm1T3wd75MgRhg8fTo8ePejfvz8333wztWrVYvv27QCsWLGCZ555JsP+9u3bl6Xrny5KSEVERERE8qh77rmHp556ivfff5+BAwcyZ84cVq9eTbNmzahatWqaukePHqV///6UL1+eJUuWpEsc58yZk61YSpQoAcCWLVuoWLFimnNHjhxh586d6RK8J598kri4OBYvXsxFF12U5tz69euzHVNwXJs3bw57/rfffktT788SExPDww8/zIIFCxg7diwzZ86kVq1aqXH85S9/Ydy4cX9qTKciN6whFRERERGRKChXrhxt2rRJXQMZeA1M6GZG4CWKe/fupWHDhumS0T179oR9/UlWBN6H+s0336Q7N3v2bE6cOJGufNWqVdSsWTNdMnr8+HHmzZuXrn5g2m9WRifr1KkDeAl3uHYzZ85ME/+fLbDRU+BVLjVq1KBYsWIsWLAg3XTqjARvevRnU0IqIiIiIpKHBd5JOnjwYCZMmEDp0qW5+eab09VLTEwkLi6ORYsWsX///tTyI0eO8NBDD2VpTWQ499xzDwADBgxIM/314MGD9O3bN2ybSpUqsWLFijSjl845nnrqqbDv+syXLx/x8fGsW7cu4rgqV67M1VdfzapVqxgyZEiac/PmzePjjz8mISEh3QZQOeXNN9/McAOk5cuX89ln3psoGzVqBEDBggXp3r07GzZs4NFHH+XQoUPp2m3atCnNGtLA62ey8lxyiqbsioiIiIjkYddeey1VqlRJTXq6d+9OTExMunr58+ene/fuDBo0iFq1atGmTRsOHz7MjBkz2L17N02aNAk7uhmpxo0b061bN958801q1KhB+/btU99DWqZMGcqWLZuuTY8ePejevTu1a9emXbt2FChQgDlz5rBy5Upat27NlClT0rVp3rw5n376KTfddBN16tShQIECNG3alIYNG2YY21tvvUXDhg3p0aMHX375JfXq1Ut9D2mBAgUYNWoURYoUOeV7z8wXX3zBAw88QJUqVWjQoAHnnXcehw8fZuXKlXz11VccO3aMxx57LM0I7TPPPMMPP/zAsGHDmDhxIs2aNaN8+fJs2bKFn3/+mfnz5/P3v/89dSOrEiVKkJSUxMyZM7nzzjupVq0a+fLlo23bttl6r2wklJCKiIiIiORhZkaXLl3o168f8MeIaTgDBw6kbNmyvPvuu7z11luULFmSFi1a8Pzzz9OnT59sxzJ06FAuuugihg8fzvDhwyldujS33HILzz//PNWrV09X/8EHH6RQoUK89tprjBw5ksKFC9O4cWM++OADxowZEzYhHTJkCAUKFGD69OlMmTKFEydOMGDAgEwT0gsvvJDFixfz3HPPMXXqVGbOnEnx4sVp1aoVffv2Dbubbk4ZNGgQTZs2Zfr06Xz77beMHz+eY8eOpU637tKlCzfccEOaNgULFmTSpEl88MEHvPfee0yePJl9+/ZRpkwZzj//fJ577jluv/32NG1Gjx7NY489xtSpU/noo49wzlG5cuXTnpBaYK6xnD5JSUkuOTk52mGkk43dr89a2XxNlYiIiJwBgl9xIiLZE+m/JzNb7JxLl7lrDamIiIiIiIhEhRJSERERERERiQolpCIiIiIiIhIVSkhFREREREQkKpSQioiIiIiISFQoIRUREREREZGoUEIqIiIiIiIiUaGEVERERETyHOdctEMQOePlxL8jJaQiIiIikqfkz5+fo0ePRjsMkTPe0aNHyZ8/f7b6UEIqIiIiInlKsWLF2LNnT7TDEDnj7dmzh2LFimWrDyWkIiIiIpKnlCpVip07d7Jt2zaOHDmi6bsiWeCc48iRI2zbto2dO3dSqlSpbPVXIIfiEhERERE5I8TGxlKxYkV27NjB2rVrOX78eLRDEjmj5M+fn2LFilGxYkViY2Oz1ZcSUhERERHJc2JjY0lMTCQxMTHaoYjkaZqyKyIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhUKCEVERERERGRqFBCKiIiIiIiIlGhhFRERERERESiQgmpiIiIiIiIRIUSUhEREREREYkKJaQiIiIiIiISFUpIRUREREREJCqUkIqIiIiIiEhU5IqE1Mz+bmbTzWy9mR00sx1mttTMnjazhAzaNDCzqX7dA2b2g5k9amb5M7lOazObZWa7zWyfmX1nZnefJLa7zWyhX3+33751du9ZREREREQkr8sVCSnQAygCTANeA0YDx4D+wA9mdl5wZTO7CZgNNAbGA8OAGOAfwNhwFzCz7sBkoCbwIfA2UB4YZWaDMmgzCBgFJPr1PwRqAZP9/kREREREROQUmXMu2jFgZnHOuUNhyp8H+gJvOuce8MuKA78AJYCrnHPJgT6AGUB94A7n3NigfioDPwH7gXrOubV+eTywCLgAaOCcWxDUpgEwD1gFXOac2xnU12K8BPriQF+ZSUpKcsnJyZE+jj9N+fLRjiD32bQp2hGIiIiIiJx9zGyxcy4ptDxXjJCGS0Z94/zjhUFl7YEywNhAMhrURz//a7eQfv4KxAJDgxNIP8l8wf/6t5A2ge/PB5JRv81avBHZWOCeDG9KREREREREMpUrEtJM3Ogffwgqa+Yf/xWm/mzgANDAzGIjbPNlSJ3stBEREREREZEIFYh2AMHMrBdQFG86bhLQEC8ZfTGo2kX+cWVoe+fcMTNbA9QAzgdSImjzm5ntB841s8LOuQNmVgSoAOxzzv0WJtSf/WO1rNyfiIiIiIiI/CFXJaRAL6Bc0Pd/AZ2dc1uDykr4x90Z9BEoL5nFNkX8egdO8RoiIiIiIiKSBblqyq5z7hznnAHnALfgjXIuNbO6WejGAt2d5jaZ1jezrmaWbGbJW7duzaiaiIiIiIhInpWrEtIA59wW59x44FogAXg/6HRgdLJEuoae4iH1stJmT4T1TzaCinPun865JOdcUpkyZTKqJiIiIiIikmflyoQ0wDn3K7AcqGFmpf3iFf4x3fpNMysAVMF7h+nqoFOZtUnEm667wTl3wL/ufmAjUNQ/Hyqw62+6NakiIiIiIiISmVydkPoCb8s87h9n+Mfrw9RtDBQG5jvnDgeVZ9amZUid7LQRERERERGRCEU9ITWzi83snDDl+czseaAsXoIZeBfop8A24HYzSwqqHwc85399M6S7kcBhoLuZVQ5qEw/09b8OD2kT+P6EXy/QpjLwoN/fyIhuUkRERERERNLJDbvsXg+8bGazgVXAdryddpvgbWq0GbgvUNk5t8fM7sNLTGeZ2VhgB9AG7/UunwIfB1/AObfGzHoDrwPJZvYxcARoD5wLDHbOLQhpM9/MXgEeA34ws0+BGOA2oBTwkHNubU4+CBERERERkbwkNySkXwP/BK4C/gfvVSr78dZnfgC87pzbEdzAOTfBzJoATwDtgDjgF7zk8XXnXLrdb51zQ8xsLd6rZTrhjQ4vB/o5594LF5hzrqeZ/QB0B7oCJ4AlwMvOuSnZvG8REREREZE8zcLkbpLDkpKSXHJycrTDSKd8+ZPXyWs2bYp2BCIiIiIiZx8zW+ycSwotj/oaUhEREREREcmblJCKiIiIiIhIVCghFRERERERkahQQioiIiIiIiJRoYRUREREREREokIJqYiIiIiIiESFElIRERERERGJCiWkIiIiIiIiEhVKSEVERERERCQqlJCKiIiIiIhIVCghFRERERERkahQQioiIiIiIiJRoYRUREREREREokIJqYiIiIiIiESFElIRERERERGJCiWkIiIiIiIiEhVKSEVERERERCQqlJCKiIiIiIhIVCghFRERERERkahQQioiIiIiIiJRoYRUREREREREokIJqYiIiIiIiESFElIRERERERGJCiWkIiIiIiIiEhVKSEVERERERCQqlJCKiIiIiIhIVCghFRERERERkahQQioiIiIiIiJRoYRUREREREREoqJAdjsws4uBlsABYKxzbne2oxIREREREZGzXsQjpGb2lJn9ZmalgsquAZYCg4A3gCVmlpDzYYqIiIiIiMjZJitTdlsCPznndgSVDQQc8DTwJlAFeCTnwhMRERER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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "train_cases = pd.DataFrame(train)\n", + "test_cases = pd.DataFrame(test)\n", + "val_cases = pd.DataFrame(val)\n", + "\n", + "train_cases = train_cases[1].value_counts()\n", + "test_cases = test_cases[1].value_counts()\n", + "val_cases = val_cases[1].value_counts()\n", + "\n", + "labels = ['PNEUMONIA', 'NORMAL', 'COVID']\n", + "\n", + "index = np.arange(len(labels))\n", + "bar_width = 0.25\n", + "opacity = 0.9\n", + "\n", + "fig, ax = plt.subplots(figsize = (15, 10))\n", + "\n", + "train_bar = ax.bar(index - bar_width, train_cases, bar_width,\n", + " alpha=opacity, color='b',\n", + " label='Training Set')\n", + "\n", + "test_bar = ax.bar(index, test_cases, bar_width,\n", + " alpha=opacity, color='r', tick_label = ('Pneumonia', 'Normal', 'COVID'),\n", + " label='Testing Set')\n", + "val_bar = ax.bar(index + bar_width, val_cases, bar_width,\n", + " alpha=opacity, color='g', tick_label = ('Pneumonia', 'Normal', 'COVID'),\n", + " label='Validation Set')\n", + "\n", + "\n", + "plt.xlabel('Class', fontsize = 20)\n", + "plt.ylabel('Number of Images', fontsize = 20)\n", + "plt.yticks(fontsize = 20)\n", + "plt.title('Total Images per set', fontsize = 20)\n", + "plt.xticks(index + 0.3 * bar_width, fontsize = 20)\n", + "plt.legend(fontsize = 20)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here's a further breakdown of the how the images are distributed in the set." + ] + }, + { + "cell_type": "code", + "execution_count": 253, + "metadata": {}, + "outputs": [], + "source": [ + "def percentage(image_set):\n", + " for l, i in zip(labels, list(image_set)):\n", + " num = (int(i) / sum(list(image_set)))\n", + " print(l,' images make up ',round(num * 100),'% of the set')" + ] + }, + { + "cell_type": "code", + "execution_count": 254, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 72 % of the set\n", + "NORMAL images make up 25 % of the set\n", + "COVID images make up 3 % of the set\n" + ] + } + ], + "source": [ + "percentage(train_cases)" + ] + }, + { + "cell_type": "code", + "execution_count": 255, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 59 % of the set\n", + "NORMAL images make up 36 % of the set\n", + "COVID images make up 5 % of the set\n" + ] + } + ], + "source": [ + "percentage(test_cases)" + ] + }, + { + "cell_type": "code", + "execution_count": 256, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PNEUMONIA images make up 48 % of the set\n", + "NORMAL images make up 26 % of the set\n", + "COVID images make up 26 % of the set\n" + ] + } + ], + "source": [ + "percentage(val_cases)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### As mentioned in the previous notebook, our dataset is quite unbalanced, which might affect the fit of the CNN. In order to avoid this, I will use the ImageDataGenerator, which I will describe later." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Preparing the image data for implementation into our CNN." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Here, I extract the feature (the numpy array per image), and the label (the class of the image), and append the data into x and y sets. " + ] + }, + { + "cell_type": "code", + "execution_count": 333, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = []\n", + "y_train = []\n", + "\n", + "x_val = []\n", + "y_val = []\n", + "\n", + "x_test = []\n", + "y_test = []\n", + "\n", + "for feature, label in train:\n", + " x_train.append(feature)\n", + " y_train.append(label)\n", + "\n", + "for feature, label in test:\n", + " x_test.append(feature)\n", + " y_test.append(label)\n", + " \n", + "for feature, label in val:\n", + " x_val.append(feature)\n", + " y_val.append(label)" + ] + }, + { + "cell_type": "code", + "execution_count": 336, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 390\n", + "1 234\n", + "2 32\n", + "dtype: int64" + ] + }, + "execution_count": 336, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.Series(y_test).value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 258, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[19, 27, 30, ..., 16, 9, 2],\n", + " [24, 26, 34, ..., 17, 11, 4],\n", + " [22, 30, 39, ..., 19, 11, 4],\n", + " ...,\n", + " [10, 8, 7, ..., 15, 15, 15],\n", + " [10, 8, 7, ..., 15, 15, 15],\n", + " [10, 10, 7, ..., 15, 15, 15]], dtype=uint8)" + ] + }, + "execution_count": 258, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As we now have a multi-class classification, we need to convert our labels to be categorical." + ] + }, + { + "cell_type": "code", + "execution_count": 259, + "metadata": {}, + "outputs": [], + "source": [ + "y_train = to_categorical(y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 260, + "metadata": {}, + "outputs": [], + "source": [ + "y_val = to_categorical(y_val)\n", + "y_test = to_categorical(y_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Here's the output of converting our y values to categorical. In the case of multi-class image recognition, despite our labels extending from 0 to 2, the CNN still needs to \"see\" the labels as values between 0 and 1. By converting the labels into an array of numbers, whereby the position of the number indicates the label, this ensures that the model can interpert the label input correctly.\n", + "\n", + "### As you can see below, a 1, in the zero index = Pneumonia, first index = Normal, second index = COVID." + ] + }, + { + "cell_type": "code", + "execution_count": 268, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 1., 0.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.]], dtype=float32)" + ] + }, + "execution_count": 268, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y_val" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reducing the Colour Data Down to Grayscale (0 - 1) instead of (0 - 255)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### This significantly reduces the amount of information that the neural network needs to process, thereby reducing the amount of data that's needed to be allocated to memory and reducing the computation time." + ] + }, + { + "cell_type": "code", + "execution_count": 262, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = np.array(x_train) / 255\n", + "x_val = np.array(x_val) / 255\n", + "x_test = np.array(x_test) / 255" + ] + }, + { + "cell_type": "code", + "execution_count": 263, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5365, 128, 128)" + ] + }, + "execution_count": 263, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 267, + "metadata": {}, + "outputs": [], + "source": [ + "img_size = 128\n", + "x_train = x_train.reshape(-1, img_size, img_size, 1)\n", + "y_train = np.array(y_train)\n", + "\n", + "x_val = x_val.reshape(-1, img_size, img_size, 1)\n", + "y_val = np.array(y_val)\n", + "\n", + "x_test = x_test.reshape(-1, img_size, img_size, 1)\n", + "y_test = np.array(y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 269, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(5365, 128, 128, 1)\n" + ] + } + ], + "source": [ + "print(x_train.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[0.0745098 ],\n", + " [0.10588235],\n", + " [0.11764706],\n", + " ...,\n", + " [0.0627451 ],\n", + " [0.03529412],\n", + " [0.00784314]],\n", + "\n", + " [[0.09411765],\n", + " [0.10196078],\n", + " [0.13333333],\n", + " ...,\n", + " [0.06666667],\n", + " [0.04313725],\n", + " [0.01568627]],\n", + "\n", + " [[0.08627451],\n", + " [0.11764706],\n", + " [0.15294118],\n", + " ...,\n", + " [0.0745098 ],\n", + " [0.04313725],\n", + " [0.01568627]],\n", + "\n", + " ...,\n", + "\n", + " [[0.03921569],\n", + " [0.03137255],\n", + " [0.02745098],\n", + " ...,\n", + " [0.05882353],\n", + " [0.05882353],\n", + " [0.05882353]],\n", + "\n", + " [[0.03921569],\n", + " [0.03137255],\n", + " [0.02745098],\n", + " ...,\n", + " [0.05882353],\n", + " [0.05882353],\n", + " [0.05882353]],\n", + "\n", + " [[0.03921569],\n", + " [0.03921569],\n", + " [0.02745098],\n", + " ...,\n", + " [0.05882353],\n", + " [0.05882353],\n", + " [0.05882353]]])" + ] + }, + "execution_count": 178, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x_train[0]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### ImageDataGenerator\n", + "#### This parameter can be used to generate more data from our dataset by feeding in images and manipulating them by flipping their horizontal axis or rotating them. This serves as a way to artificially increase the size of our dataset. This is applied to both the Training Data and Validation Data." + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "metadata": {}, + "outputs": [], + "source": [ + "datagen = ImageDataGenerator(horizontal_flip = True,\n", + " rotation_range = 5,\n", + " zoom_range = 0.1,\n", + " width_shift_range = 0.2,\n", + " height_shift_range = 0.2)" + ] + }, + { + "attachments": { + "example.jpg": { + "image/jpeg": "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MDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNS0yM1QwOToxMzozNCswMjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDUtMjNUMDk6MTQ6NDcrMDI6MDAiIHBob3Rvc2hvcDpDb2xvck1vZGU9IjEiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJEb3QgR2FpbiAyMCUiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyYjE0ZDAyNi1mMDcyLTgyNDgtOGE5NC1kNWNmODEzYjE2Y2QiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDowN2ExOWE4Zi05Y2M1LTExZWEtYTk4Zi1hMTczYTg4NWYxOWYiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTNjNTVhNC04NzFkLTVmNDYtYTk4Zi1kYTViMzg4YjZmYzUiPiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT4wMjQ3NkE3MEY1MEMyQzU4QTM2RERCNDUxMDNGRThEMDwvcmRmOmxpPiA8cmRmOmxpPjNBREZENTdGRjhBREM1RkNCRUVENTEzNDY0NzJFMzFFPC9yZGY6bGk+IDxyZGY6bGk+NEEzQUI5QUNFN0ZCOTAyMUNDMUVFMDI2RkVBMEZBQjE8L3JkZjpsaT4gPHJkZjpsaT5CNTMyNDNENDUyQUEyQTVCNjEzRjQyN0ZEQzVGREYxMDwvcmRmOmxpPiA8cmRmOmxpPkQ4MUM4MDgxQjQxRjc5NjY0RTFGMjk1NEJBRURGOUFEPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjUzYzU1YTQtODcxZC01ZjQ2LWE5OGYtZGE1YjM4OGI2ZmM1IiBzdEV2dDp3aGVuPSIyMDIwLTA1LTIzVDA5OjEzOjM0KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjRkYjgwYTg4LTAwNzMtOTM0Ny04ZGUwLTg5ZDliNGFiNGUzOCIgc3RFdnQ6d2hlbj0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjb252ZXJ0ZWQiIHN0RXZ0OnBhcmFtZXRlcnM9ImZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9qcGVnIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL2pwZWciLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjJiMTRkMDI2LWYwNzItODI0OC04YTk0LWQ1Y2Y4MTNiMTZjZCIgc3RFdnQ6d2hlbj0iMjAyMC0wNS0yM1QwOToxNDo0NyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ZGI4MGE4OC0wMDczLTkzNDctOGRlMC04OWQ5YjRhYjRlMzgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpkNGNkZDVlNC05Y2M0LTExZWEtOTA3ZC1mOGE5M2FiMGUwYWEiIHN0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNTNjNTVhNC04NzFkLTVmNDYtYTk4Zi1kYTViMzg4YjZmYzUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iA6BJQ0NfUFJPRklMRQABAQAAA5BBREJFAhAAAHBydHJHUkFZWFlaIAfPAAYAAwAAAAAAAGFjc3BBUFBMAAAAAG5vbmUAAAAAAAAAAAAAAAAAAAABAAD21gABAAAAANMtQURC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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![example.jpg](attachment:example.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CNN Model" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below I utilised the same model as I used in my previous notebook, with some modification to the final Dense activation layer (\"softmax\") and my loss model ('categorical crossentropy') to assess wherever this can differentiate between COVID-19 induced pneumonia and the previous pneumonia images." + ] + }, + { + "cell_type": "code", + "execution_count": 273, + "metadata": {}, + "outputs": [], + "source": [ + "model = Sequential()\n", + "\n", + "#Convolution \n", + "model.add(Conv2D(32, (3, 3), activation=\"relu\", input_shape=(128, 128, 1)))\n", + "\n", + "#Pooling\n", + "model.add(MaxPooling2D(pool_size = (2, 2)))\n", + "\n", + "# 2nd Convolution\n", + "model.add(Conv2D(32, (3, 3), activation=\"relu\"))\n", + "\n", + "# 2nd Pooling layer\n", + "model.add(MaxPooling2D(pool_size = (2, 2)))\n", + "\n", + "# Flatten the layer - this flattens the 3D feature maps into 1D \n", + "# feature vectors.\n", + "model.add(Flatten())\n", + "\n", + "# Density\n", + "model.add(Dense(activation = 'relu', units = 2048, kernel_initializer = 'uniform'))\n", + "model.add(Dense(activation = 'relu', units = 1024, kernel_initializer = 'uniform'))\n", + "model.add(Dense(activation = 'relu', units = 512, kernel_initializer = 'uniform'))\n", + "model.add(Dense(activation = 'relu', units = 265, kernel_initializer = 'uniform'))\n", + "model.add(Dense(activation = 'softmax', units = 3, kernel_initializer = 'uniform'))\n", + "\n", + "# Compile \n", + "model.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])" + ] + }, + { + "cell_type": "code", + "execution_count": 274, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential_6\"\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "conv2d_11 (Conv2D) (None, 126, 126, 32) 320 \n", + "_________________________________________________________________\n", + "max_pooling2d_11 (MaxPooling (None, 63, 63, 32) 0 \n", + "_________________________________________________________________\n", + "conv2d_12 (Conv2D) (None, 61, 61, 32) 9248 \n", + "_________________________________________________________________\n", + "max_pooling2d_12 (MaxPooling (None, 30, 30, 32) 0 \n", + "_________________________________________________________________\n", + "flatten_6 (Flatten) (None, 28800) 0 \n", + "_________________________________________________________________\n", + "dense_26 (Dense) (None, 2048) 58984448 \n", + "_________________________________________________________________\n", + "dense_27 (Dense) (None, 1024) 2098176 \n", + "_________________________________________________________________\n", + "dense_28 (Dense) (None, 512) 524800 \n", + "_________________________________________________________________\n", + "dense_29 (Dense) (None, 265) 135945 \n", + "_________________________________________________________________\n", + "dense_30 (Dense) (None, 3) 798 \n", + "=================================================================\n", + "Total params: 61,753,735\n", + "Trainable params: 61,753,735\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "model.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 275, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/20\n", + "84/84 [==============================] - 79s 942ms/step - loss: 0.6609 - accuracy: 0.7236 - val_loss: 1.6378 - val_accuracy: 0.2903\n", + "Epoch 2/20\n", + "84/84 [==============================] - 79s 939ms/step - loss: 0.4082 - accuracy: 0.8382 - val_loss: 1.8378 - val_accuracy: 0.3548\n", + "Epoch 3/20\n", + "84/84 [==============================] - 80s 951ms/step - loss: 0.3019 - accuracy: 0.8816 - val_loss: 0.9258 - val_accuracy: 0.6452\n", + "Epoch 4/20\n", + "84/84 [==============================] - 82s 982ms/step - loss: 0.2746 - accuracy: 0.8986 - val_loss: 1.1091 - val_accuracy: 0.6774\n", + "Epoch 5/20\n", + "84/84 [==============================] - 85s 1s/step - loss: 0.2445 - accuracy: 0.9048 - val_loss: 1.2701 - val_accuracy: 0.6129\n", + "Epoch 6/20\n", + "84/84 [==============================] - 83s 984ms/step - loss: 0.2304 - accuracy: 0.9118 - val_loss: 1.0148 - val_accuracy: 0.6774\n", + "Epoch 7/20\n", + "84/84 [==============================] - 84s 995ms/step - loss: 0.2188 - accuracy: 0.9158 - val_loss: 0.6180 - val_accuracy: 0.7742\n", + "Epoch 8/20\n", + "84/84 [==============================] - 81s 959ms/step - loss: 0.2271 - accuracy: 0.9109 - val_loss: 0.9372 - val_accuracy: 0.7419\n", + "Epoch 9/20\n", + "84/84 [==============================] - 78s 929ms/step - loss: 0.2156 - accuracy: 0.9158 - val_loss: 0.9267 - val_accuracy: 0.7419\n", + "Epoch 10/20\n", + "84/84 [==============================] - 78s 930ms/step - loss: 0.1930 - accuracy: 0.9318 - val_loss: 0.9475 - val_accuracy: 0.7419\n", + "Epoch 11/20\n", + "84/84 [==============================] - 79s 943ms/step - loss: 0.2174 - accuracy: 0.9148 - val_loss: 0.9869 - val_accuracy: 0.8065\n", + "Epoch 12/20\n", + "84/84 [==============================] - 80s 948ms/step - loss: 0.1935 - accuracy: 0.9297 - val_loss: 0.8906 - val_accuracy: 0.7742\n", + "Epoch 13/20\n", + "84/84 [==============================] - 78s 928ms/step - loss: 0.1974 - accuracy: 0.9292 - val_loss: 1.0173 - val_accuracy: 0.6129\n", + "Epoch 14/20\n", + "84/84 [==============================] - 79s 941ms/step - loss: 0.1836 - accuracy: 0.9316 - val_loss: 0.6113 - val_accuracy: 0.7097\n", + "Epoch 15/20\n", + "84/84 [==============================] - 78s 931ms/step - loss: 0.1802 - accuracy: 0.9355 - val_loss: 0.5754 - val_accuracy: 0.8065\n", + "Epoch 16/20\n", + "84/84 [==============================] - 78s 926ms/step - loss: 0.1756 - accuracy: 0.9363 - val_loss: 0.8186 - val_accuracy: 0.7419\n", + "Epoch 17/20\n", + "84/84 [==============================] - 78s 926ms/step - loss: 0.1832 - accuracy: 0.9331 - val_loss: 0.4973 - val_accuracy: 0.7742\n", + "Epoch 18/20\n", + "84/84 [==============================] - 78s 931ms/step - loss: 0.1675 - accuracy: 0.9335 - val_loss: 0.7917 - val_accuracy: 0.6774\n", + "Epoch 19/20\n", + "84/84 [==============================] - 78s 933ms/step - loss: 0.1564 - accuracy: 0.9437 - val_loss: 0.6315 - val_accuracy: 0.7419\n", + "Epoch 20/20\n", + "84/84 [==============================] - 78s 925ms/step - loss: 0.1624 - accuracy: 0.9383 - val_loss: 0.8040 - val_accuracy: 0.7097\n" + ] + } + ], + "source": [ + "model_covid = model.fit(datagen.flow(x_train, y_train, batch_size = 64), epochs = 20,\n", + " validation_data = datagen.flow(x_val, y_val))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As you can see, the accuracy of the model is quite good at 87%, whilst the losses could be improved with further tweaking of the CNN." + ] + }, + { + "cell_type": "code", + "execution_count": 276, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "656/656 [==============================] - 2s 3ms/step\n", + "Loss of the model is - 41.88435183974301 %\n", + "656/656 [==============================] - 2s 3ms/step\n", + "Accuracy of the model is - 84.90853905677795 %\n" + ] + } + ], + "source": [ + "print(\"Loss of the model is - \" , model.evaluate(x_test,y_test)[0]*100 , \"%\")\n", + "print(\"Accuracy of the model is - \" , model.evaluate(x_test,y_test)[1]*100 , \"%\")" + ] + }, + { + "cell_type": "code", + "execution_count": 277, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training_accuracy 0.9383038\n", + "validation_accuracy 0.7096773982048035\n" + ] + } + ], + "source": [ + "print(\"training_accuracy\", model_covid.history['accuracy'][-1])\n", + "print(\"validation_accuracy\", model_covid.history['val_accuracy'][-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 299, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " ...,\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.]], dtype=float32)" + ] + }, + "execution_count": 299, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predictions = model.predict_classes(x_test, batch_size = 128)\n", + "predictions = predictions.reshape(1,-1)[0]\n", + "predictions = to_categorical(predictions)\n", + "predictions" + ] + }, + { + "cell_type": "code", + "execution_count": 281, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "plt.plot(model_covid.history['accuracy'], label = \"train_acc\")\n", + "plt.plot(model_covid.history['val_accuracy'], label = \"validation_acc\")\n", + "plt.plot(model_covid.history['loss'], label = \"train_loss\")\n", + "plt.plot(model_covid.history['val_loss'], label = \"val_loss\")\n", + "plt.title('Training Loss and Accuracy on Dataset')\n", + "plt.ylabel('Loss / Accuracy')\n", + "plt.xlabel('Epoch #')\n", + "plt.legend(loc='lower left')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below is the confusion matrix for this CNN. As you can see, the model successfully distinguises between COVID-19 Pneumonia and regular Pneumonia. The precision is the lowest for COVID-19, which is to be expected given the small size of the image dataset for COVID.\n", + "\n", + "### We a larger dataset of COVID-19 images, this could be developed and improved further." + ] + }, + { + "cell_type": "code", + "execution_count": 302, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + "Pneumonia (Class 0) 0.83 0.98 0.90 390\n", + " Normal (Class 1) 0.97 0.61 0.75 234\n", + " COVID (Class 2) 0.63 0.97 0.77 32\n", + "\n", + " micro avg 0.85 0.85 0.85 656\n", + " macro avg 0.81 0.85 0.80 656\n", + " weighted avg 0.87 0.85 0.84 656\n", + " samples avg 0.85 0.85 0.85 656\n", + "\n" + ] + } + ], + "source": [ + "print(classification_report(y_test, predictions, target_names = ['Pneumonia (Class 0)','Normal (Class 1)','COVID (Class 2)']))" + ] + }, + { + "cell_type": "code", + "execution_count": 322, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[190, 76],\n", + " [ 6, 384]],\n", + "\n", + " [[417, 5],\n", + " [ 92, 142]],\n", + "\n", + " [[606, 18],\n", + " [ 1, 31]]], dtype=int64)" + ] + }, + "execution_count": 322, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cm = multilabel_confusion_matrix(y_test, predictions)\n", + "cm" + ] + }, + { + "cell_type": "code", + "execution_count": 329, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 329, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "cm = confusion_matrix(y_test.argmax(axis = 1), predictions.argmax(axis = 1))\n", + "cm_df = pd.DataFrame(cm)\n", + "plt.figure(figsize = (10,10))\n", + "sns.heatmap(cm_df, linewidth = 5 , annot = True, fmt='d',\n", + " xticklabels = ['Pneumonia', 'Normal', 'COVID'],\n", + " yticklabels = ['Pneumonia', 'Normal', 'COVID'],\n", + " cbar = False, cmap = \"YlGnBu\")" + ] + }, + { + "cell_type": "code", + "execution_count": 337, + "metadata": {}, + "outputs": [], + "source": [ + "model.save('model_PNEUCOVIDCOMPARE_FINAL 25.05.2020.model')\n", + "model.save_weights('model_PNEUCOVIDCOMPARE_FINAL 25.05.2020.h5')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### I decided to also explore further balancing dataset by 1) increasing the ratio of test to train data (80:20) 2) also significantly reduce the size of the dataset to match the number of COVID-19 images." + ] + }, + { + "cell_type": "code", + "execution_count": 338, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(5365, 2)" + ] + }, + "execution_count": 338, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 339, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(656, 2)" + ] + }, + "execution_count": 339, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 340, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(31, 2)" + ] + }, + "execution_count": 340, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "val.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### As I am unable to increase the size of the test imageset, I have chosen to reduce the training dataset. " + ] + }, + { + "cell_type": "code", + "execution_count": 341, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['PNEUMONIA', 'NORMAL', 'COVID']\n", + "\n", + "def get_training_data(data_dir):\n", + " data = []\n", + " for label in labels:\n", + " path = os.path.join(data_dir, label)\n", + " class_num = labels.index(label)\n", + " print(path)\n", + " for img in os.listdir(path):\n", + " try:\n", + " img_arr = cv2.imread(os.path.join(path, img), \n", + " cv2.IMREAD_GRAYSCALE)\n", + " resized_arr = cv2.resize(img_arr, (128, 128))\n", + " data.append([resized_arr, class_num])\n", + " \n", + " except Exception as e:\n", + " print(e)\n", + " return np.array(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 342, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\\COVID\n", + "OpenCV(4.2.0) C:\\projects\\opencv-python\\opencv\\modules\\imgproc\\src\\resize.cpp:4045: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'\n", + "\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\\COVID\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\PNEUMONIA\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\NORMAL\n", + "C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\\COVID\n" + ] + } + ], + "source": [ + "train = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\train\")\n", + "val = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\val\")\n", + "test = get_training_data(r\"C:\\Users\\Gareth\\Desktop\\Ironhack\\Week_Eight\\Project_Datasets\\chest_xray\\test\")" + ] + }, + { + "cell_type": "code", + "execution_count": 343, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "12.051868802440884" + ] + }, + "execution_count": 343, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "632 / 5244 * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 344, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "20.0" + ] + }, + "execution_count": 344, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "632 / 3160 * 100" + ] + }, + { + "cell_type": "code", + "execution_count": 345, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2084" + ] + }, + "execution_count": 345, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "5244 - 3160" + ] + }, + { + "cell_type": "code", + "execution_count": 346, + "metadata": {}, + "outputs": [], + "source": [ + "train = train[2084:]" + ] + }, + { + "cell_type": "code", + "execution_count": 347, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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7hQtWpR77rmHMmXKMGfOHOrXr0+VKlWCfhclS5YEYMuWLRw/fpyIiIig2n311Vfcc889OOdo27YtlSpVYvPmzYwdO5apU6cyb948qlevTlhYGM899xzjx48nISGBp556isKFCwNQpkyZoOO8ECghFRERERGRs+rcuTM7d+5k0qRJtG3bNql879693HDDDfzjH//glltuoXjx4vz2229MmTKFxo0bM3v27BQbKTnn2LdvHwD16tWjevXqDBo0iGrVqgWcTnw2P/zwA6tWrSImJgaAkydP0qBBA6ZOncrq1aupXr06AHv27OGRRx6hcOHCLFu2LMU04F69ejFixIign1mjRg1q1qzJqlWraNSoEd27d6d+/fpUr16dggULBmyzc+dO7r33XqKjo5k3b16KBHj58uXccMMNPPjgg8ybN4+wsDAGDBjAqlWrSEhI4Omnn75oNzXSlF0REREREcnQggULiI+P5957702RjII3Wvjss89y+PBhJk+enOJeeHh4ml19zSxphDEnvPDCC0nJKHhrTrt27QrA0qVLk8o///xzjh49Svfu3dOsSX3hhReSRiCDUaBAAb766isaNGhAfHw8PXv2pHbt2hQtWpQGDRowdOjQNFOG33vvPf744w9eeeWVNKOx11xzDffeey/z589ny5YtQcdxMdAIqYiIiIiIZGjRokWAt4Y00Cjm9u3bAUhISAAgJiaGZs2aMX36dOLi4rj99ttp1KgR9erVC3p6a7Di4uLSlF122WUA7N+/P6ls5cqVADRs2DBN/RIlSlC9enXi4+ODfm6VKlVYsGABP//8M99//z3Lly9nyZIlLFq0iEWLFvH2228zZ84cYn3HCPnf4bJly9i4cWOa/jZt2gR477B8+fJBx3GhU0IqIiIiIiIZ2rt3L+BtPPT111+nW+/IkSNJf548eTIvv/wyn332Gf369QOgcOHC3H333bz22muUKFEiR2JLfUwNeCOYAImJiUllBw8eBKBs2bIB+0mv/Gxq1apFrVq1kn7++eef6datGytWrODpp5/mk08+Af58h2ebGpz8HeYFmrIrIiIiIiIZioqKArxpp865dD/Dhg1LalO0aFFefvll1q9fz6ZNm/jwww+Ji4vj/fffp3Pnzuf9OxQrVgyAXbt2BbyfXnlm1apVi/fffx+AmTNnJpX73+H69eszfIft27fPkTguFEpIRUREREQkQ9dffz0A8+bNy1L7ChUqcN999zFjxgzKlSvHd999x7FjxwDInz8/kHI081yoU6cOAPPnz09zb9++faxevTrHnuU/ysY5l1SWlXd4vt5NKCkhFRERERGRDDVp0oS6devyySefMHbs2IB1Vq5cmbRmc8eOHaxYsSJNncOHD/PHH38QFhaWlGwVKlSIQoUKnfPNfDp06EDhwoV57733WLNmTYp7/fv35+jRo0H3lZCQwNtvv83hw4fT3Dtz5gwvv/wyAI0bN04q79GjB0WKFOGZZ57hxx9/TNPu9OnTac5zTX68zMVKa5vm7TEAACAASURBVEhFRERERCRDZsaECRNo0aIFnTp1YsiQIVx77bUUK1aMrVu3snLlSn755Rd+/vlnoqOj2bBhA40aNaJWrVrUrl2bcuXKceDAAaZMmcKBAwd45plnCAsLS+q/RYsWTJ06lfbt21OrVi0KFCjAjTfemDSqmBNKly7N66+/To8ePYiLi6Njx46ULl2auXPn8uuvv1K/fn0WLVpEvnxnH7Pbu3cvDz30EE888QQ33HADNWrUoGjRouzatYvp06ezZcsWypUrxyuvvJLUJjY2lnHjxtGxY0fq1q1Ly5Ytueqqq3DOsXXrVhYsWMDp06fZs2dPivfy9ttvc99999GuXTuKFClCmTJl6NGjR469l1BTQioiIiIiImdVuXJlVq5cyRtvvMFXX33FRx99hHOOmJgYatSowVNPPZV0nMmVV15J//79mT17Nt9//z179+6lZMmSXHXVVbz++ut06NAhRd8jR47k8ccfZ/bs2UycOJEzZ84QERGRowkpwAMPPECpUqUYNGgQY8aMoVChQjRv3pyPP/6Yv/3tb8Cfa00zcs011zBhwgS+++47li5dytixY9m3bx9FixalWrVq3H///Tz66KNpNm5q06YNP/zwA0OGDGH69OnMnj2biIgIYmJiaNWqVZr30r59e1566SVGjx7N0KFDOXnyJDVq1LioElJLPq9Zzo24uDiXmS2kzxffDtSSzI4doY5AREREzrWEhASuuuqqUIchucjJkye59NJLiYqKYt26daEO54IS7L8nM1vunEtzRo/WkIqIiIiISJ6wb98+jh8/nqLszJkz9OvXj927d3P77beHKLK8S1N2RUREREQkT5g5cyY9evSgZcuWVKhQgUOHDrFgwQJWrVpFlSpV6Nu3b6hDzHOUkIqIiIiISJ5Qq1YtbrrpJhYtWsSUKVM4c+YM5cuXp0+fPvTt25fo6OhQh5jnKCEVEREREZE84YorrmDcuHGhDkOS0RpSERERERERCQklpCIiIiIiIhISSkhFREREREQkJJSQioiIiIiISEgoIRUREREREZGQUEIqIiIiIiIiIaGEVEREREREREJCCamIiIiIiIiEhBJSERERERERCQklpCIiIiIick78+uuvmBl///vfU5R36dIFM2Pbtm1B93XppZdSpUqVnA4xhfTilXOnQKgDEBERERHJTWKHxIY6hAzt6LMjW+07derE2LFjeeutt+jZs2eGdVu2bMn333/PV199Rbt27bL13Nzg9OnTFCxYkBYtWvD999+HOpygHTt2jOHDh/P555/zyy+/cOzYMUqWLEm5cuWoX78+d911F40aNcpy/7/++itVq1ale/fujBo1KgcjPzslpCIiIiIieUiPHj0YO3Ys7777boYJ6aZNm5gxYwYxMTG0adMmR2N47bXX6NevH5dcckmO9ptdFSpUICEhgeLFi4c6lCSHDx+mUaNG/Pjjj8TExNChQwfKlCnDrl27WLt2LSNHjkyqcyFSQioiIiIikoc0bdqUatWqsXLlSlasWEHdunUD1hs1ahTOOe6//34KFMjZtCEmJoaYmJgc7TMnFCxYkCuvvDLUYaQwZMgQfvzxR2655RYmTpxIwYIFU9zfv38/v/zyS4iiyz6tIRURERERyWMeeOABAN59992A9xMTExk9enSa9ZTbt2/n+eefp0GDBlxyySWEhYVRrlw5OnfunKmkKL01pM453nzzTapXr054eDjlypXj0Ucf5dChQwH7OXDgAK+++irNmjWjXLlyhIWFUaZMGdq1a8fSpUtT1B01alRSMjdjxgzMLOnz4osvAhmvId2xYwc9e/akQoUKhIeHU6ZMGdq3b8/KlSvT1B01ahRmxieffMKMGTNo0qQJRYsWJSoqiltvvZU1a9YE/a4WLlwIQM+ePdMkowDR0dHUr18/Tfnp06cZPnw41113HcWKFaNw4cLUrVuXt956C+dcUr1+/fpRtWpVAN57770U7+WTTz4JOs6s0gipiIiIiEge07VrV/71r3/x6aefMmTIEAoXLpzi/rRp09i+fTstW7akUqVKSeWzZs1KSgDr1KlDkSJFWLduHePHj2fKlCksXLiQmjVrZjmuXr168dZbbxEbG8uDDz5IgQIFmDhxIkuXLuXUqVNERESkqL9q1Sr69etHkyZNuPXWWylevDibN29m8uTJTJs2jWnTpnHjjTcCULduXZ599lkGDhxIpUqVuO+++5L6ady4cYZxrV+/noYNG7Jz505uvPFGOnXqxJYtW5gwYQJff/01X331Fa1atUrTbuLEiUyaNIlbbrmFnj17smrVKqZOncqyZctYvXo1JUqUOOs7KVmyJABr1649a12/kydP0rp1a77//nuuvPJKOnfuTHh4ODNnzuThhx9m6dKljB49GoDmzZtz6NAhhg0bRp06dWjbtm1SP1dffXXQz8wqJaQiIiIiInlM6dKladeuHePHj2f8+PF069YtxX3/xjY9evRIUd6yZUt27dpF0aJFU5SvXLmShg0b0rdvX6ZMmZKlmObOnctbb71F1apVWbJkCdHR0QC89NJLNGnShN9//53IyMgUbWrWrMlvv/2WlLT5bd68meuuu47evXvz888/A15CevXVVzNw4EAqV67MgAEDgo6tR48e7Ny5k1deeYX/+7//Syr/xz/+QdOmTbnvvvvYvHlzmsR+0qRJTJ8+naZNmyaVPfXUUwwePJjRo0fzxBNPnPXZHTt2ZNy4cTzzzDNs2LCBW265hbp162a4/vaFF17g+++/57HHHmPIkCHkz58f8Ea+u3fvzocffsidd95J69atad68OeXLl2fYsGHUrVs3U+8lJ2jKroiIiIhIHuRPNlPvqvrbb78xbdo0ypYty2233ZbiXtmyZdMkowB16tShSZMmzJgxg8TExCzF88EHHwDw7LPPJiWjAIUKFeLll18O2KZ48eJpklHwNie64447WLVqFTt2ZG9X4k2bNjFz5kwqVapEnz59Utxr1KgRd911F3v27GHixIlp2nbu3DlFMgp/vvfUU4rT065dO4YOHUp4eDgjRoygdevWxMTEEBsbS5cuXZg/f36K+omJiYwYMYJy5cqlSEYB8ufPz5AhQwAYM2ZMUM8/1zRCKiIiIiKSBzVv3pzLL7+cBQsWkJCQwFVXXQV4ieHp06fp1q1bwDWLkydP5p133mH58uXs3buX06dPp7i/b98+Spcunel4VqxYAUCTJk3S3GvcuDH58gUeS5s3bx5vvvkmixcv5vfff+fkyZMp7m/fvp3Y2Kwf5eNfI9q4ceOAmzs1b96ccePGsXLlSjp16pTiXlxcXJr6l112GeBtRhSs3r1706NHD6ZPn87ChQtZuXIlCxcuZMyYMYwZM4bnn3+e/v37A5CQkMCBAwcoW7YsAwcODNhfREQECQkJQT//XFJCKiIiIiKSB/k37+nbty+jRo1iyJAhOOeSNrYJtLHP0KFD6dOnDyVKlODGG2+kQoUKFCpUCDPjyy+/5Oeff+bEiRNZiufgwYOANwqbWlhYWIpRU78JEyZw9913U6hQIVq2bEnlypUpUqQI+fLlY+bMmcybNy/L8aSOK71dgf3lBw4cSHMv0PEx/qQ2syPJRYoUoV27dknnwZ48eZKRI0fSu3dvBgwYwO23306tWrXYu3cvAGvWrOH5559Pt78jR45k6vnnihJSEREREZE86v7776d///589NFHDBo0iHnz5rFhwwaaN29OlSpVUtQ9deoUAwYMIDY2lhUrVqRJHOfNm5etWKKiogDYtWsX5cuXT3Hv5MmT7N+/P02C9+yzzxIREcHy5cu54oorUtzbunVrtmNKHtfOnTsD3v/tt99S1DtfwsLCePTRR1m0aBHjxo1j1qxZ1KpVKymOO++8k/Hjx5/XmLJCa0hFRERERPKosmXL0rZt26Q1kP5jYFJvZgReonj48GEaNmyYJhk9dOhQwONPMsN/HuqcOXPS3Js7dy5nzpxJU75+/Xpq1qyZJhlNTExkwYIFaer7p/1mZnSyTp06gJdwB2o3a9asFPGfb/6NnvxHudSoUYPIyEgWLVqUZjp1epJvenS+KSEVEREREcnD/GeSDhkyhIkTJ1KqVCluv/32NPViYmKIiIhg2bJl/PHHH0nlJ0+e5JFHHsnUmshA7r//fgAGDhyYYvrrsWPHeOaZZwK2qVChAmvWrEkxeumco3///gHP+syXLx/R0dFs2bIl6LgqVqxIs2bNWL9+PcOGDUtxb8GCBXz22WeULFkyzQZQOeXtt99OdwOk1atX88UXXwDeBksABQsWpFevXmzbto3HH3+c48ePp2m3Y8eOFGtI/cfPZOa95BRN2RURERERycNuuukmKlWqlJT09OrVi7CwsDT18ufPT69evRg8eDC1atWibdu2nDhxgpkzZ3Lw4EGaNGkScHQzWI0bN6Znz568/fbb1KhRgw4dOiSdQ1q6dGnKlCmTpk3v3r3p1asXtWvXpn379hQoUIB58+axdu1a2rRpw9SpU9O0adGiBZ9//jm33XYbderUoUCBAjRt2pSGDRumG9s777xDw4YN6d27N9988w3XXHNN0jmkBQoUYPTo0RQpUiTL3z0jX3/9NQ899BCVKlWiQYMGXHbZZZw4cYK1a9fy7bffcvr0aZ544okUI7TPP/88P/30EyNGjGDSpEk0b96c2NhYdu3axbp161i4cCH//ve/kzayioqKIi4ujlmzZtGlSxeqVatGvnz5aNeuXbbOlQ2GElIRERERkTzMzOjevTv9+vUD/hwxDWTQoEGUKVOG999/n3feeYfixYvTsmVLXnrpJfr27ZvtWIYPH84VV1zByJEjGTlyJKVKleKOO+7gpZdeonr16mnqP/zwwxQqVIg33niDDz74gMKFC9O4cWM+/vhjxo4dGzAhHTZsGAUKFGDGjBlMnTqVM2fOMHDgwAwT0qpVq7J8+XJefPFFpk2bxqxZsyhWrBitW7fmmWeeCbibbk4ZPHgwTZs2ZcaMGSxevJivvvqK06dPJ0237t69O7fcckuKNgULFmTy5Ml8/PHHfPjhh0yZMoUjR45QunRpKleuzIsvvsjdd9+dos2YMWN44oknmDZtGp9++inOOSpWrHjOE1LzzzWWcycuLs7Fx8eHOow0srH79UUrm8dUiYiIyAUg+REnIpI9wf57MrPlzrk0mbvWkIqIiIiIiEhIKCEVERERERGRkFBCKiIiIiIiIiGhhFRERERERERCQgmpiIiIiIiIhIQSUhEREREREQkJJaQiIiIiIiISEkpIRURERCTPcc6FOgSRC15O/DtSQioiIiIieUr+/Pk5depUqMMQueCdOnWK/PnzZ6sPJaQiIiIikqdERkZy6NChUIchcsE7dOgQkZGR2epDCamIiIiI5CklSpRg//797Nmzh5MnT2r6rkgmOOc4efIke/bsYf/+/ZQoUSJb/RXIobhERERERC4I4eHhlC9fnn379rFp0yYSExNDHZLIBSV//vxERkZSvnx5wsPDs9VXrkhIzawD0ASoDfwFiATGOOe6BKhbEdiYQXefOefuTuc5XYGHgepAIrASGOycm5pO/fzAI8DfgKrAMWAx8KJzbmEw301EREREcp/w8HBiYmKIiYkJdSgieVquSEiBfniJ6BFgG3BlEG1+BCYGKF8VqLKZDQb6+Pp/FwgD7gammNkjzrnhqeobMA7oAKwBhgMlgI7AXDNr75ybFEScIiIiIiIiEkBuSUh74yWKv+KNlM4Kos0PzrkBwXRuZg3wktH1wLXOuf2+8teA5cBgM5vqnNuUrNndeMnoQqCFc+64r81IYD7wrpnNdM4dDiYGERERERERSSlXbGrknJvlnFvnzt2K8n/4ri/5k1HfczcBI4Bw4P5UbXr6rv38yaivzTLgM6A0XsIqIiIiIiIiWZArEtIsijWzB83sGd/16gzqNvdd/xvg3jep6mBm4UAD4CgwL5g2IiIiIiIikjm5ZcpuVrT0fZKY2Wygq3NuS7KyIkA54Ihz7rcA/azzXaslK6sC5Ac2OOdOB9lGREREREREMuFCHCE9CgwErgGifR//utOmwAxfEuoX5bseTKc/f3nxbLZJwcx6mFm8mcXv3r07vWoiIiIiIiJ51gWXkDrnfnfO9XfOrXDOHfB95gI3AUvwRjf/npWuM1HXztbGOfcf51yccy6udOnSWQhHRERERETk4nbBJaTp8U2tHeX7sXGyW/7RzCgCCzQaerY2xQK0ERERERERkUy4aBJSH//c2KQpu865P4DtQFEzC3TycVXfdW2ysl+BRKCymQVaZxuojYiIiIiIiGTCxZaQXu+7bkhVPtN3/WuANq1S1cE5dwLv/NHCQKNg2oiIiIiIiEjmXHAJqZldZ2ZhAcqbA719P36S6vZI3/VfZhadrE1F4GHgBPBBqjZv+64vmllEsjbXAh3xRmO/yNq3EBERERERkVxx7IuZtQPa+X68xHetb2ajfX/e45x70vfnfwM1fEe8bPOVXc2fZ4I+65xbmLx/59xCMxsKPAH8ZGafA2F4iWUJ4BHn3KZUYY0D7gA6ACvNbApQ0tcmP/CAc+5Qlr+0iIiIiIhIHpcrElKgNtA1VVll3wdgM+BPSD8GbgeuxZs6WxDYBYwHhjvn5gV6gHOuj5n9BPQCegBngBXAa865qQHqOzO7B2/q7t+AR4DjwFzgxdRJr4iIiIiIiGSOOZeZ004kK+Li4lx8fHyow0gjNjbUEeQ+O3aEOgIRERERkYuPmS13zsWlLr/g1pCKiIiIiIjIxUEJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQkCoQ6ABERufDFxoY6gtxnx45QRyAiIpL7aYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJCSWkIiIiIiIiEhJKSEVERERERCQklJCKiIiIiIhISCghFRERERERkZBQQioiIiIiIiIhoYRUREREREREQkIJqYiIiIiIiISEElIREREREREJiVyRkJpZBzMbZmbzzOyQmTkz+ySdulXN7P/MbKaZbTWzk2a2y8wmmVmzdNp08/WZ3ucf6bQrZGbPm9kaMztuZr+b2Xgzuyonv7+IiIiIiEheVCDUAfj0A/4CHAG2AVdmUHcg0BFYDUwD9gFXAG2Btmb2mHPuzXTaTgJ+CFAen7rAzMKB6cANvvtvAJcBdwKtzay5c27J2b+aiIiIiIiIBJJbEtLeeInor0ATYFYGdf8L/Ns5tzJ5oZk1wUsgXzOzCc653wK0neicGx1kTE/gJaOfAx2dc2d8z/kMmAi8b2a1/OUiIiIiIiKSObliyq5zbpZzbp1zzgVRd3TqZNRXPgeYDYQBDbITj5kZ4J/G+3TypNM5NwmYB1THS55FREREREQkC7I9QmpmVwKtgKPAOOfcwWxHlXWnfNfT6dyvbWaPAxHAdmCWc25bgHqXA+WBtc65jQHufwM0ApqT8WiuiIiIiIiIpCPohNTM+gM9gRrOuX2+shuBKXijkgBPm1k959zeHI/07PFVAFrgJcZz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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "train_cases = pd.DataFrame(train)\n", + "test_cases = pd.DataFrame(test)\n", + "val_cases = pd.DataFrame(val)\n", + "\n", + "train_cases = train_cases[1].value_counts()\n", + "test_cases = test_cases[1].value_counts()\n", + "val_cases = val_cases[1].value_counts()\n", + "\n", + "labels = ['PNEUMONIA', 'NORMAL', 'COVID']\n", + "\n", + "index = np.arange(len(labels))\n", + "bar_width = 0.25\n", + "opacity = 0.9\n", + "\n", + "fig, ax = plt.subplots(figsize = (15, 10))\n", + "\n", + "train_bar = ax.bar(index - bar_width, train_cases, bar_width,\n", + " alpha=opacity, color='b',\n", + " label='Training Set')\n", + "\n", + "test_bar = ax.bar(index, test_cases, bar_width,\n", + " alpha=opacity, color='r', tick_label = ('Pneumonia', 'Normal', 'COVID'),\n", + " label='Testing Set')\n", + "val_bar = ax.bar(index + bar_width, val_cases, bar_width,\n", + " alpha=opacity, color='g', tick_label = ('Pneumonia', 'Normal', 'COVID'),\n", + " label='Validation Set')\n", + "\n", + "\n", + "plt.xlabel('Class', fontsize = 20)\n", + "plt.ylabel('Number of Images', fontsize = 20)\n", + "plt.yticks(fontsize = 20)\n", + "plt.title('Total Images per set', fontsize = 20)\n", + "plt.xticks(index + 0.3 * bar_width, fontsize = 20)\n", + "plt.legend(fontsize = 20)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below I follow the same process as I described in the previous notebook by converting the data into the correct \"state\" for the image and labels to be understand by the CNN." + ] + }, + { + "cell_type": "code", + "execution_count": 349, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = []\n", + "y_train = []\n", + "\n", + "x_val = []\n", + "y_val = []\n", + "\n", + "x_test = []\n", + "y_test = []\n", + "\n", + "for feature, label in train:\n", + " x_train.append(feature)\n", + " y_train.append(label)\n", + "\n", + "for feature, label in test:\n", + " x_test.append(feature)\n", + " y_test.append(label)\n", + " \n", + "for feature, label in val:\n", + " x_val.append(feature)\n", + " y_val.append(label)" + ] + }, + { + "cell_type": "code", + "execution_count": 350, + "metadata": {}, + "outputs": [], + "source": [ + "x_train = np.array(x_train) / 255\n", + "x_val = np.array(x_val) / 255\n", + "x_test = np.array(x_test) / 255" + ] + }, + { + "cell_type": "code", + "execution_count": 351, + "metadata": {}, + "outputs": [], + "source": [ + "y_train = to_categorical(y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 352, + "metadata": {}, + "outputs": [], + "source": [ + "y_val = to_categorical(y_val)\n", + "y_test = to_categorical(y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 353, + "metadata": {}, + "outputs": [], + "source": [ + "img_size = 128\n", + "x_train = x_train.reshape(-1, img_size, img_size, 1)\n", + "y_train = np.array(y_train)\n", + "\n", + "x_val = x_val.reshape(-1, img_size, img_size, 1)\n", + "y_val = np.array(y_val)\n", + "\n", + "x_test = x_test.reshape(-1, img_size, img_size, 1)\n", + "y_test = np.array(y_test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Here we begin training the model with the correct parameters." + ] + }, + { + "cell_type": "code", + "execution_count": 354, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1837 - accuracy: 0.9375 - val_loss: 0.4875 - val_accuracy: 0.8710\n", + "Epoch 2/20\n", + "26/26 [==============================] - 36s 1s/step - loss: 0.1632 - accuracy: 0.9427 - val_loss: 0.4290 - val_accuracy: 0.8387\n", + "Epoch 3/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1500 - accuracy: 0.9467 - val_loss: 0.4593 - val_accuracy: 0.8387\n", + "Epoch 4/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1477 - accuracy: 0.9448 - val_loss: 0.6189 - val_accuracy: 0.8065\n", + "Epoch 5/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1499 - accuracy: 0.9473 - val_loss: 0.4445 - val_accuracy: 0.8387\n", + "Epoch 6/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1501 - accuracy: 0.9470 - val_loss: 0.3956 - val_accuracy: 0.8710\n", + "Epoch 7/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1462 - accuracy: 0.9467 - val_loss: 0.4963 - val_accuracy: 0.8387\n", + "Epoch 8/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1476 - accuracy: 0.9482 - val_loss: 0.5705 - val_accuracy: 0.8065\n", + "Epoch 9/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1424 - accuracy: 0.9488 - val_loss: 0.4129 - val_accuracy: 0.8065\n", + "Epoch 10/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1359 - accuracy: 0.9521 - val_loss: 0.4245 - val_accuracy: 0.8710\n", + "Epoch 11/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1518 - accuracy: 0.9424 - val_loss: 0.4908 - val_accuracy: 0.9032\n", + "Epoch 12/20\n", + "26/26 [==============================] - 34s 1s/step - loss: 0.1393 - accuracy: 0.9500 - val_loss: 0.7253 - val_accuracy: 0.8387\n", + "Epoch 13/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1590 - accuracy: 0.9451 - val_loss: 0.3632 - val_accuracy: 0.8387\n", + "Epoch 14/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1322 - accuracy: 0.9485 - val_loss: 0.3611 - val_accuracy: 0.8065\n", + "Epoch 15/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1396 - accuracy: 0.9473 - val_loss: 0.4116 - val_accuracy: 0.8387\n", + "Epoch 16/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1450 - accuracy: 0.9448 - val_loss: 0.2926 - val_accuracy: 0.8710\n", + "Epoch 17/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1374 - accuracy: 0.9506 - val_loss: 0.2777 - val_accuracy: 0.9032\n", + "Epoch 18/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1393 - accuracy: 0.9464 - val_loss: 0.3946 - val_accuracy: 0.8710\n", + "Epoch 19/20\n", + "26/26 [==============================] - 37s 1s/step - loss: 0.1278 - accuracy: 0.9549 - val_loss: 0.2493 - val_accuracy: 0.9032\n", + "Epoch 20/20\n", + "26/26 [==============================] - 35s 1s/step - loss: 0.1336 - accuracy: 0.9534 - val_loss: 0.3705 - val_accuracy: 0.8387\n" + ] + } + ], + "source": [ + "model_covid_split = model.fit(datagen.flow(x_train, y_train, batch_size = 128), epochs = 20,\n", + " validation_data = datagen.flow(x_val, y_val))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### By reducing the training dataset, and thereby balancing the distribution of images between pneumonia, normal and COVID images, the accuracy of the model increases." + ] + }, + { + "cell_type": "code", + "execution_count": 357, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "656/656 [==============================] - 2s 3ms/step\n", + "Loss of the model is - 32.247731961855074 %\n", + "656/656 [==============================] - 2s 3ms/step\n", + "Accuracy of the model is - 87.5 %\n" + ] + } + ], + "source": [ + "print(\"Loss of the model is - \" , model.evaluate(x_test,y_test)[0]*100 , \"%\")\n", + "print(\"Accuracy of the model is - \" , model.evaluate(x_test,y_test)[1]*100 , \"%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Importantly, the validation accuracy increases, this means that our model is less likely to be overfitting." + ] + }, + { + "cell_type": "code", + "execution_count": 356, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "training_accuracy 0.9533679\n", + "validation_accuracy 0.8387096524238586\n" + ] + } + ], + "source": [ + "print(\"training_accuracy\", model_covid_split.history['accuracy'][-1])\n", + "print(\"validation_accuracy\", model_covid_split.history['val_accuracy'][-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 358, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 0., 0.],\n", + " [1., 0., 0.],\n", + " [1., 0., 0.],\n", + " ...,\n", + " [0., 0., 1.],\n", + " [0., 0., 1.],\n", + " [0., 0., 1.]], dtype=float32)" + ] + }, + "execution_count": 358, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predictions = model.predict_classes(x_test, batch_size = 128)\n", + "predictions = predictions.reshape(1,-1)[0]\n", + "predictions = to_categorical(predictions)\n", + "predictions" + ] + }, + { + "cell_type": "code", + "execution_count": 359, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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MWtaW1tz0VYRERGRvMplCBvsFJeBY5/vAX5urZ0BnAncYozZp03W2uuttYustYumTJmSg6aKiIiI5FcuQ9gmIP3c9xnsO9x4KXArgLX2MaASmJzDNomIiIgUhFyGsCeBucaYQ4wxIeAC4O4B22wATgMwxhyBC2EabxQREZGSl7MQZq2NAx8F7gPCwK3W2rXGmK8bY87xNvt34DJjzHPAb4AP2GJbuExERERkFAK53Lm35te9A277ctrv64BluWyDiIiISCFS7RARERERHyiEiYiIiPhAIUxERETEBwphIiIiIj5QCBMRERHxgUKYiIiIiA8UwkRERER8oBAmIiIi4gOFMBEREREfKISJiIiI+EAhTERERMQHCmEiIiIiPlAIExEREfGBQpiIiIiIDxTCRERERHygECYiIiLiA4UwERERER8ohImIiIj4QCFMRERExAcKYSIiIiI+UAgTERER8YFCmIiIiIgPFMJEREREfKAQJiIiIuIDhTARERERHyiEiYiIiPhAIUxERETEBwphIiIiIj5QCBMRERHxgUKYiIiIiA8UwkRERER8oBAmIiIi4gOFMBEREREfKISJiIiI+EAhTERERMQHCmEiIiIiPlAIExEREfGBQpiIiIiIDxTCREQKXPczz7D7j/f43QwRybKA3w0QEZHhtf3kGiLPP8+4t57td1NEJIvUEyYiUuAizWESu3eT7OryuykikkUKYSIiBSze2kqitQ2A2ObNPrdGRLJJIUxEpIBFwuG+36OvveZjS0Qk2xTCREQKWGTd3hAWUwgTKSkKYSIiBSzS3ExwxgxMKKThSJESo7MjRUQKWCS8jsoFC+gNBIi9phAmUkrUEyYiUqASnZ3E1m+g8oj5BBsa1BMmUmIUwkREClRvczMAFUccQbCxUXPCREqMQpiISIFKTcqvPGIBwcYGEjt2kIxEfG6ViGSLQpiISIGKNDdTPmkSgalTCDY2AlorTKSUKISJiBSoSDhM5fz5GGMINjQAWqZCpJQohImIFCAbjdLb0kLlgiMA9vaE6QxJkZKhECYiUoB6W1ogFqPyCBfCAlOmQDConjCREqIQJiJSgCLhvWdGApjycoLTp2tOmEgJUQgTESlAkXAYU11N6OCD+27TMhUipUUhTESkAEXCYSrnzcOU7f2Y1oKtIqVFIUxEpMDYZJLecLhvPlhKsLGB+Pbt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MlRUyt3l1O2vo3hyMRs2bMDr9TJt2jQ2bdpE7969D9vA++abb2b16tV4vV4uvvhiHnzwQZ555hnKysoYO3YsmZmZlJaW0q1bN9asWUNmZiZPPvkk//rXvwC44YYbuO2229ixYwcTJ05k1KhRrFy5kvz8fEpKSkhOTm7x5/XCCy8wc+ZM/H4/vXr1Ys6cOVgsFsrLy7npppvYvn07AM899xxnn302s2fP5oknnkBRFPr168ecOXMi9SsghBBCtDtyJSwCLr/8ct54443m7998802mTZvG/PnzWbt2LaWlpTxw9wN0T+lON0c3AA54D7DDuYNAOECNr4a//u2vWCwW1q9fz7333svnn3/efLxHHnmENWvWsH79ej766CPWr1/PrbfeSl5eHqWlpZSWlh6W5/PPP+ell17i008/ZdWqVbzwwgt88cUXAHz77bfccsstbNy4kdTUVObOnXvUn9fUqVNZvXo1X375Jb179+af//wnALfeeis/+tGP+PLLL1m7di19+/Zl48aNPPLIIyxZsoQvv/ySp59+OlL/eoUQQoh2qf1dCTvGFatoGThwIBUVFZSVlVFZWUlaWhq5ubn8+te/5uOPP0an07F3714qKirIyclBQeHUtFPxVHhQVZUyVxnvL3mfaTdNo9xdTq/evejXr1/z8d98801mzpxJMBhk3759bNq06bDnj7R8+XKKi4uxWq1AY5latmwZkyZNonv37gwYMJISFogAAB+KSURBVACAwYMHs2PHjqMeZ8OGDdx3333U1tbicrk499xzAViyZAmzZ88GQK/X43A4mD17NhdffDGZmZkApKenn9S/UyGEEKK9a38lTCMXX3wxb731Fvv37+fyyy/nlVdeobKyks8//xyj0Ui3bt3w+XzNrzfpTXSydMKkN9EztScmvQmdomver9IX8lHuLufLLV/yxBNPsHr1atLS0rj++usPO05LjrUpu9n8/Sc19Xr9Ybc9j3T99dezYMEC+vfvz6xZs1i6dOkxzynz0YRIbGE1zLqKdeTZ8six5mgdR4h2T25HRsjll1/O66+/zltvvcXFF1+M0+kkKysLo9FIaWkpO3fuPOp7kwxJTBg7gSUlSzg9/XTqdtXxzcZv8Aa9bN2/FX2Sniq1ig3fbeDd995tLll2u536+vofHG/06NEsWLAAj8eD2+1m/vz5FBYWtvnnVF9f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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize = (10,10))\n", + "plt.plot(model_covid_split.history['accuracy'], label = \"train_acc\")\n", + "plt.plot(model_covid_split.history['val_accuracy'], label = \"validation_acc\")\n", + "plt.plot(model_covid_split.history['loss'], label = \"train_loss\")\n", + "plt.plot(model_covid_split.history['val_loss'], label = \"val_loss\")\n", + "plt.title('Training Loss and Accuracy on Dataset')\n", + "plt.ylabel('Loss / Accuracy')\n", + "plt.xlabel('Epoch #')\n", + "plt.legend(loc='lower left')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Below, the classification report details a similar trend to the previous classification report, however the accuracy for the determination of COVID has increased, whilst the precision for the Normal has slightly decreased, indicating perhaps there is less overfitting / misclassification of the normal images." + ] + }, + { + "cell_type": "code", + "execution_count": 360, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + "Pneumonia (Class 0) 0.86 0.97 0.91 390\n", + " Normal (Class 1) 0.93 0.71 0.80 234\n", + " COVID (Class 2) 0.76 0.97 0.85 32\n", + "\n", + " micro avg 0.88 0.88 0.88 656\n", + " macro avg 0.85 0.88 0.86 656\n", + " weighted avg 0.88 0.88 0.87 656\n", + " samples avg 0.88 0.88 0.88 656\n", + "\n" + ] + } + ], + "source": [ + "print(classification_report(y_test, predictions, target_names = ['Pneumonia (Class 0)','Normal (Class 1)', 'COVID (Class 2)']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Finally, the confusion matrix illustrates the emphasis on the True Positives in the dataset. Of all the 32 images in our COVID dataset, 31 of them were correctly predicted. Additionally, our model maintains excellent classification for Pneumonia and Normal images." + ] + }, + { + "cell_type": "code", + "execution_count": 361, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 361, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "cm = confusion_matrix(y_test.argmax(axis = 1), predictions.argmax(axis = 1))\n", + "cm_df = pd.DataFrame(cm)\n", + "plt.figure(figsize = (10,10))\n", + "sns.heatmap(cm_df, linewidth = 5 , annot = True, fmt='d',\n", + " xticklabels = ['Pneumonia', 'Normal', 'COVID'],\n", + " yticklabels = ['Pneumonia', 'Normal', 'COVID'],\n", + " cbar = False, cmap = \"YlGnBu\")" + ] + }, + { + "cell_type": "code", + "execution_count": 362, + "metadata": {}, + "outputs": [], + "source": [ + "model.save('model_PNEUCOVIDCOMPARE_attempt_split 25.05.2020.model')\n", + "model.save_weights('model_PNEUCOVIDCOMPARE_attempt_split 25.05.2020.h5')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/your-project/README.md b/your-project/README.md index 9563cd70..2ec18054 100644 --- a/your-project/README.md +++ b/your-project/README.md @@ -1,9 +1,9 @@ Ironhack Logo -# Title of My Project -*[Your Name]* +# Detecting Pneumonia with Machine Learning and Neural Networks +*[Gareth Hughes]* -*[Your Cohort, Campus & Date]* +*[Data Analytics, Barcelona, May 2020]* ## Content - [Project Description](#project-description) @@ -19,54 +19,92 @@ - [Links](#links) ## Project Description -Write a short description of your project: 3-5 sentences about what your project is about, why you chose this topic (if relevant), and what you are trying to show. +In this project, my main objective is to be able to successfully differentiate between pneumonia, COVID-19 +and normal lungs using a convolutional neural network using image classification. This would be +achieved by analysing X-Ray scans from an anteroposterior, ie: from front to back, perspective of the lungs. +Ultimately, the aim of the project would be to develop a means of rapidly analysing pneumonia, and pneumonia induced by COVID, thereby saving time +and offering radiologists and doctors a second opinion. +The datasets were obtained from Kaggle and the other from Github, they are referenced below. The first +dataset contains images of both pneumonia infected and normal X-Ray scans as a means of training, testing and validation. +The other datasets contains a mixture of X-Ray scans of lungs infected by pneumonia caused by COVID-19. All the scans +in the dataset are verified by radiologists. + ## Hypotheses / Questions -* What data/business/research/personal question you would like to answer? -* What is the context for the question and the possible scientific or business application? -* What are the hypotheses you would like to test in order to answer your question? -Frame your hypothesis with statistical/data languages (i.e. define Null and Alternative Hypothesis). You can use formulas if you want but that is not required. +* Can we identify the presence of pneumonia using image recognition? +* How accurately can we identify pneumonia and COVID? +* Are we able to differentiate between pneumonia and COVID induced pneumonia? -## Dataset -* Where did you get your data? If you downloaded a dataset (either public or private), describe where you downloaded it and include the command to load the dataset. -* Did you build your own datset? If so, did you use an API or a web scraper? PRovide the relevant scripts in your repo. -* For all types of datasets, provide a description of the size, complexity, and data types included in your dataset, as well as a schema of the tables if necessary. -* If the question cannot be answered with the available data, why not? What data would you need to answer it better? +## Datasets +* [Github](https://github.com/UCSD-AI4H/COVID-CT) - This repo contains COVID X-Ray images which I implimented into the dataset. +* [Github](https://github.com/peiriant/COVID19) - This repo also contains COVID X-Ray images. +* [Kaggle](https://www.kaggle.com/paultimothymooney/chest-xray-pneumonia) - The kaggle contains a library of normal and pneumonia X-Rays. ## Cleaning -Describe your full process of data wrangling and cleaning. Document why you chose to fill missing values, extract outliers, or create the variables you did as well as your reasoning behind the process. - -## Analysis -* Overview the general steps you went through to analyze your data in order to test your hypothesis. -* Document each step of your data exploration and analysis. -* Include charts to demonstrate the effect of your work. -* If you used Machine Learning in your final project, describe your feature selection process. +* The images obtained from the GitHub dataset needed to be categorised based on the type of illness +that the patient suffered from, in order to ensure only COVID-19 images were being analysed. +* Additionally, only the AP view of the X-Ray scan was to be analysed, thus additional filtering was required. +* All the images were resized to a standard size, decolourised and normalized in order to be fed into the +CNN. +* Various different parameters for the importing, normalizing and mean reduction of the image were investigated. ## Model Training and Evaluation -*Include this section only if you chose to include ML in your project.* -* Describe how you trained your model, the results you obtained, and how you evaluated those results. +The model for the CNN is described in more detail below. +- 1) Classification of Pneumonia and Normal lungs = 90% accurate +- 2) Classification of Pneumonia / COVID-19 and Normal lungs = 85% accurate ## Conclusion -* Summarize your results. What do they mean? -* What can you say about your hypotheses? -* Interpret your findings in terms of the questions you try to answer. +* After tailoring the Convolutional Neural Network, by altering it's parameters and exploring several means of +filtering the data, a model with an accuracy of 85% for the analysis of normal vs. pneumonia AP X-Ray scans +was obtained. +* Following this, due to the imbalance of the dataset I decided to reduce the number of pneumonia images to be +more in line with the normal images. This resulted in an increase in the accuracy, up to 88%. +* The model was then applied to the analysis of the COVID-19 infected pneumonia AP CT scans and an accuracy of +84% was obtained. +* Similarly, I decided to balance the dataset further by reducing the number of pneumonia images. This led to an +increase of accuracy up to 87.5% percent. + ## Future Work -Address any questions you were unable to answer, or any next steps or future extensions to your project. +* Increase the size of the dataset for normal, pneumonia and COVID-19 induced pneumonia datasets. +* Apply the CNN to deduce the difference between bacteria, viral and fungal pneumonia. +* Apply the CNN to differentiate other lung based diseases. +* Fine tune the hyperparameters of the CNN further. +* Center the images in the dataset, highlight focus on the lungs. ## Workflow -Outline the workflow you used in your project. What were the steps? -How did you test the accuracy of your analysis and/or machine learning algorithm? +I began my work by looking for the datasets available to me. I discovered that many of the COVID-19 datasets +do not provide images of normal lung X-Ray scans as a reference. They also have X-ray images taken from several +different viewpoints. +As such, I decided to investigate both the Kaggle Pneumonia images and COVID-19 images that I found on several GitHub repoistories. +In order to utilise the Kaggle photoset, I extracted all the photos, converted them to +numpy arrays of RGB numbers using CV2 and then assigned them to the correct class based on which folder they were +located in (eg: Normal, Pneumonia, Test, Train etc). This data was then normalized in order to reduce the +amount of information needed to be commit to memory when running the CNN, and also normalizing the gray scale images +in the process. The data was then fed into the CNN and the accuracy and loss of the model was evaluated. A confusion matrix was also +generated in order to determine the distribution of the CNN's predictions with regards to the prognosis (ie: normal / pneumonia lungs). + +The process was repeated with the addition of the COVID-19 image sets. One dataset provided only X-ray images, thus this was easy to utilise. +The other image set imageset contained numerous images from different positions, thus, using the metadata, only the correct X-Ray AP (anterior posterior) images were utilised. +I explored using various methods to split and train the data in order to improve the accuracy of the model, whilst trying to avoid overfitting and underfitting. +In particular I utilised ImageDataGenerator, a function which automatically skews, rotates and alters the zoom of images fed into the training and validation set. This means that the dataset is seeing new data continuously thus +it helps avoid overfitting. I also investigated reducing the size of the overall dataset which led to an improvement in the accuracy of the CNN. + +Finally, I utilised the models to predict the class of the images contained with the testing dataset. These were then plotted as confusion matrixes in order to be able to deduce +how well the CNN worked "seeing" new images. Ultimately, both the classification of Pneumonia/Normal and Pneumonia/Normal/COVID-19 x-rays resulted in accuracies above +85% which suggests that our CNN is robust, accurate and is avoiding overfitting / underfitting. ## Organization -How did you organize your work? Did you use any tools like a trello or kanban board? - -What does your repository look like? Explain your folder and file structure. +- I utilised a Trello board to map out my overall plan and for check-points along the way. +- The work is organised into two Notebooks, which read chronologically describe the work process. +- The first notebook (01 Image Processing_CNN Model_Pneumonia.ipynb) details the development of a image classifier for the presence of pneumonia in X-Ray scans. +- The second notebook (02 Image Processing_CNN Pneumonia_and_COVID19.ipynb) details the development of a multi-class image classifier for COVID-19, Pneumonia and normal lungs. +- The CNN_Models_Weights and Dataset folders contain text files with links to the models I utilised as they're both too +big to be uploaded to Github. +- The CNN_Models_Weights folder contains a link to a GoogleDrive which has the model and the weights for each notebook. ## Links -Include links to your repository, slides and trello/kanban board. Feel free to include any other links associated with your project. - -[Repository](https://github.com/) -[Slides](https://slides.com/) -[Trello](https://trello.com/en) +[Repository](https://github.com/peiriant/Project-Week-8-Final-Project/tree/master/your-project) +[Slides](https://docs.google.com/presentation/d/1EOBTjrrSqtab0Yp7QVxBku-6PXEwTSGyHm1JzJkU20Q/edit?usp=sharing) +[Trello](https://trello.com/b/CDl7EYhV/project-5)