forked from lordShandilya/DementiaClassification
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodel
More file actions
1 lines (1 loc) · 155 KB
/
model
File metadata and controls
1 lines (1 loc) · 155 KB
1
{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":5962731,"sourceType":"datasetVersion","datasetId":3419493}],"dockerImageVersionId":30919,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"source":"<a href=\"https://www.kaggle.com/code/lordshandilya/dimentiaclassification?scriptVersionId=235719970\" target=\"_blank\"><img align=\"left\" alt=\"Kaggle\" title=\"Open in Kaggle\" src=\"https://kaggle.com/static/images/open-in-kaggle.svg\"></a>","metadata":{},"cell_type":"markdown"},{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport matplotlib.pyplot as plt\nimport torch\nimport torch.nn as nn\nimport csv\nfrom torch.utils.data import Dataset, DataLoader, random_split\nimport torch.nn.functional as F\nimport cv2\nfrom torchvision import transforms\nimport time\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:48:46.019587Z","iopub.execute_input":"2025-04-23T18:48:46.019884Z","iopub.status.idle":"2025-04-23T18:48:53.948978Z","shell.execute_reply.started":"2025-04-23T18:48:46.019859Z","shell.execute_reply":"2025-04-23T18:48:53.948051Z"}},"outputs":[],"execution_count":1},{"cell_type":"markdown","source":"# Prepare the neuroimaging dataset\n\nThe steps to perform before training the model for classification are:-\n1. Organise your neuroimaging dataset into a csv file\n2. Define a dataset class that loads and transforms images\n3. Set up transforms for data preprocessing","metadata":{}},{"cell_type":"code","source":"def build_csv(output_file, root):\n class_lst = sorted(os.listdir(root))\n \n with open(output_file, 'w', newline='') as csvfile:\n \n writer = csv.writer(csvfile, delimiter=',')\n writer.writerow(['path', 'class'])\n\n for class_name in class_lst:\n print(class_name)\n class_path = os.path.join(root, class_name)\n for file_name in os.listdir(class_path):\n writer.writerow([os.path.join(class_path, file_name), class_name])","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T11:38:53.879895Z","iopub.execute_input":"2025-04-23T11:38:53.880348Z","iopub.status.idle":"2025-04-23T11:38:53.885616Z","shell.execute_reply.started":"2025-04-23T11:38:53.880318Z","shell.execute_reply":"2025-04-23T11:38:53.884658Z"}},"outputs":[],"execution_count":2},{"cell_type":"code","source":"build_csv('/kaggle/working/oasis1.csv', '/kaggle/input/imagesoasis/Data')","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T11:38:57.293872Z","iopub.execute_input":"2025-04-23T11:38:57.294156Z","iopub.status.idle":"2025-04-23T11:39:00.357294Z","shell.execute_reply.started":"2025-04-23T11:38:57.294137Z","shell.execute_reply":"2025-04-23T11:39:00.356337Z"}},"outputs":[{"name":"stdout","text":"Mild Dementia\nModerate Dementia\nNon Demented\nVery mild Dementia\n","output_type":"stream"}],"execution_count":3},{"cell_type":"code","source":"import seaborn as sns\n\ndf = pd.read_csv('/kaggle/working/oasis1.csv')\n\nclass_counts = df['class'].value_counts()\n\nsns.barplot(x=class_counts.index, y=class_counts.values)\nplt.xlabel('Class')\nplt.ylabel('Number of Items')\nplt.title('Number of Items per Class')\nplt.show()\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:48:53.949797Z","iopub.execute_input":"2025-04-23T18:48:53.950138Z","iopub.status.idle":"2025-04-23T18:48:55.000491Z","shell.execute_reply.started":"2025-04-23T18:48:53.950117Z","shell.execute_reply":"2025-04-23T18:48:54.999704Z"}},"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 640x480 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAk0AAAHHCAYAAACiOWx7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGOElEQVR4nO3de3iMd/7/8dck5OAwiWNSK4jSEucGkWqVlUrRbi12sVppGnxpUIk6ZKtOP0rZts70sBV7UErLtlJJfeO01dQhZIuiVSq6JLQkqZSE5P790eb+GqG9RxMzeD6u677W3J/33Pf7nrn2yqufueczNsMwDAEAAOBnebi6AQAAgFsBoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABYQGgCAACwgNAEAABgAaEJgGnLli2y2Wxas2aNq1uxJDs7W3379lWNGjVks9k0d+5cV7eE6+jcubM6d+7s6jaAX4XQBNxkiYmJstls8vHx0X//+99S4507d1bz5s1d0NmtJy4uTikpKUpISNDf//53PfLII9ettdlsGjFihPn45MmTmjJlijIyMm5Cp7ev7OxsPffcc2rSpIkqVaqkypUrKzQ0VNOnT1dOTo6r2wPKVAVXNwDcqQoKCjRr1iwtWLDA1a3csjZt2qTHH39czz33nNPPPXnypKZOnaoGDRqodevWZd/cHWDXrl3q0aOHzp8/ryeeeEKhoaGSpN27d2vWrFnatm2bPvroIxd3CZQdQhPgIq1bt9Ybb7yhhIQE1alTx9Xt3FT5+fmqXLnyrz7O6dOn5e/v/+sbwjX93PuUk5Oj3//+9/L09NTevXvVpEkTh/EZM2bojTfeuBltAjcNH88BLvLnP/9ZRUVFmjVr1s/Wff3117LZbEpMTCw1ZrPZNGXKFPPxlClTZLPZ9MUXX+iJJ56Qn5+fatWqpRdeeEGGYejEiRN6/PHHZbfbFRgYqJdffvma5ywqKtKf//xnBQYGqnLlyvrd736nEydOlKrbsWOHHnnkEfn5+alSpUp66KGHtH37doeakp4+//xz/elPf1K1atX0wAMP/Ow1Hz16VH/4wx9UvXp1VapUSR06dFBSUpI5XvIRp2EYWrRokWw2m2w2288e80pbtmxRu3btJEnR0dHm8698jZ25tl/zei9YsEDNmjVTpUqVVK1aNbVt21YrVqz4xf5tNptWrVrlsvfptdde03//+1+98sorpQKTJAUEBGjixInXfX5hYaEmTZqk0NBQ+fn5qXLlynrwwQe1efPmUrUrV65UaGioqlatKrvdrhYtWmjevHnm+KVLlzR16lQ1btxYPj4+qlGjhh544AFt3LjxuucHbgShCXCR4OBgDRo0SG+88YZOnjxZpsfu16+fiouLNWvWLIWFhWn69OmaO3euHn74Yf3mN7/RSy+9pEaNGum5557Ttm3bSj1/xowZSkpK0vjx4zVq1Cht3LhRERERunDhglmzadMmderUSXl5eZo8ebJefPFF5eTk6Le//a127txZ6ph/+MMf9MMPP+jFF1/UkCFDrtt7dna27r//fqWkpOiZZ57RjBkzdPHiRf3ud7/T2rVrJUmdOnXS3//+d0nSww8/rL///e/mYyuaNm2qadOmSZKGDh1qPr9Tp043dG03+nq/8cYbGjVqlEJCQjR37lxNnTpVrVu31o4dOyxdhyvfp/fff1++vr7q27evpV6vlpeXpzfffFOdO3fWSy+9pClTpujMmTOKjIx0uM9s48aNGjBggKpVq6aXXnpJs2bNUufOnR1C35QpUzR16lR16dJFCxcu1PPPP6969eppz549N9QbcF0GgJtq2bJlhiRj165dxldffWVUqFDBGDVqlDn+0EMPGc2aNTMfHzt2zJBkLFu2rNSxJBmTJ082H0+ePNmQZAwdOtTcd/nyZaNu3bqGzWYzZs2aZe4/d+6c4evra0RFRZn7Nm/ebEgyfvOb3xh5eXnm/nfeeceQZMybN88wDMMoLi42GjdubERGRhrFxcVm3Q8//GAEBwcbDz/8cKmeBgwYYOn1GT16tCHJ+Pe//23u+/77743g4GCjQYMGRlFRkcP1x8bGWjru1bW7du265ut6I9d2o6/3448/7vBeW+UO71O1atWMVq1aWe75oYceMh566CHz8eXLl42CggKHmnPnzhkBAQHG008/be579tlnDbvdbly+fPm6x27VqpXRs2dPy70AN4qZJsCFGjZsqCeffFKvv/66Tp06VWbHHTx4sPlvT09PtW3bVoZhKCYmxtzv7++ve++9V0ePHi31/EGDBqlq1arm4759++quu+7Shx9+KEnKyMjQl19+qT/96U/67rvv9O233+rbb79Vfn6+unbtqm3btqm4uNjhmMOGDbPU+4cffqj27ds7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f19t27bVH/7wB9WuXVtt2rTRG2+8YY4fO3ZMWVlZioiIMPf5+fkpLCxMaWlpkqS0tDT5+/ubgUmSIiIi5OHhoR07dpg1nTp1MgOTJEVGRurw4cM6d+6cWXPleUpqSs4DAADubC4NTUePHtWSJUvUuHFjpaSkaPjw4Ro1apSWL18uScrKypIkBQQEODwvICDAHMvKylLt2rUdxitUqKDq1as71FzrGFee43o1JeNXKygoUF5ensMGAABuXxVcefLi4mK1bdtWL774oiSpTZs22r9/v5YuXaqoqChXtvaLZs6cqalTp7q6DQAAcJO4dKbprrvuUkhIiMO+pk2bKjMzU5IUGBgoScrOznaoyc7ONscCAwN1+vRph/HLly/r7NmzDjXXOsaV57heTcn41RISEpSbm2tuJ06csHbRAADgluTS0NSxY0cdPnzYYd8XX3yh+vXrS5KCg4MVGBio1NRUczwvL087duxQeHi4JCk8PFw5OTlKT083azZt2qTi4mKFhYWZNdu2bdOlS5fMmo0bN+ree+81v6kXHh7ucJ6SmpLzXM3b21t2u91hAwAAty+Xhqa4uDh9+umnevHFF3XkyBGtWLFCr7/+umJjYyVJNptNo0eP1vTp0/X+++9r3759GjRokOrUqaNevXpJ+nFm6pFHHtGQIUO0c+dObd++XSNGjFD//v1Vp04dSdKf/vQneXl5KSYmRgcOHNCqVas0b948xcfHm708++yzSk5O1ssvv6xDhw5pypQp2r17t0aMGHHTXxcAAOB+XHpPU7t27bR27VolJCRo2rRpCg4O1ty5czVw4ECzZty4ccrPz9fQoUOVk5OjBx54QMnJyfLx8TFr/vnPf2rEiBHq2rWrPDw81KdPH82fP98c9/Pz00cffaTY2FiFhoaqZs2amjRpksNaTvfff79WrFihiRMn6s9//rMaN26sdevWqXnz5jfnxQAAAG7Npes03U5YpwnA1VinyX2wThOu55ZZpwkAAOBWQWgCAACwgNAEAABgAaEJAADAAkITAACABYQmAAAACwhNAAAAFhCaAAAALCA0AQAAWEBoAgAAsIDQBAAAYAGhCQAAwAJCEwAAgAWEJgAAAAsITQAAABYQmgAAACwgNAEAAFhAaAIAALCA0AQAAGABoQkAAMACQhMAAIAFhCYAAAALCE0AAAAWEJoAAAAsIDQBAABY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\n"},"metadata":{}}],"execution_count":2},{"cell_type":"code","source":"from sklearn.preprocessing import LabelEncoder\n\nencoder = LabelEncoder()\ndf['class'] = encoder.fit_transform(df['class'])\n\ndf.to_csv('/kaggle/working/oasis1.csv', index=False)\ndf.head()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:48:59.613329Z","iopub.execute_input":"2025-04-23T18:48:59.613665Z","iopub.status.idle":"2025-04-23T18:48:59.853745Z","shell.execute_reply.started":"2025-04-23T18:48:59.613631Z","shell.execute_reply":"2025-04-23T18:48:59.852867Z"}},"outputs":[{"execution_count":3,"output_type":"execute_result","data":{"text/plain":" path class\n0 /kaggle/input/imagesoasis/Data/Mild Dementia/O... 0\n1 /kaggle/input/imagesoasis/Data/Mild Dementia/O... 0\n2 /kaggle/input/imagesoasis/Data/Mild Dementia/O... 0\n3 /kaggle/input/imagesoasis/Data/Mild Dementia/O... 0\n4 /kaggle/input/imagesoasis/Data/Mild Dementia/O... 0","text/html":"<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>path</th>\n <th>class</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>/kaggle/input/imagesoasis/Data/Mild Dementia/O...</td>\n <td>0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>/kaggle/input/imagesoasis/Data/Mild Dementia/O...</td>\n <td>0</td>\n </tr>\n <tr>\n <th>2</th>\n <td>/kaggle/input/imagesoasis/Data/Mild Dementia/O...</td>\n <td>0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>/kaggle/input/imagesoasis/Data/Mild Dementia/O...</td>\n <td>0</td>\n </tr>\n <tr>\n <th>4</th>\n <td>/kaggle/input/imagesoasis/Data/Mild Dementia/O...</td>\n <td>0</td>\n </tr>\n </tbody>\n</table>\n</div>"},"metadata":{}}],"execution_count":3},{"cell_type":"code","source":"image = cv2.imread('/kaggle/input/imagesoasis/Data/Mild Dementia/OAS1_0028_MR1_mpr-1_100.jpg')\nheight, width, channels = image.shape\nprint(f\"Resolution: {width}x{height}, Channels: {channels}\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:21:38.366141Z","iopub.execute_input":"2025-04-23T18:21:38.366509Z","iopub.status.idle":"2025-04-23T18:21:38.426916Z","shell.execute_reply.started":"2025-04-23T18:21:38.366481Z","shell.execute_reply":"2025-04-23T18:21:38.426122Z"}},"outputs":[{"name":"stdout","text":"Resolution: 496x248, Channels: 3\n","output_type":"stream"}],"execution_count":4},{"cell_type":"code","source":"class OasisImages(Dataset):\n def __init__(self, csv_file, transform=None):\n self.df = pd.read_csv(csv_file)\n self.transform = transform\n\n def __len__(self):\n return len(self.df)\n\n def __getitem__(self, idx):\n img_pth = self.df.iloc[idx, 0]\n class_name = self.df.iloc[idx, 1]\n label = torch.tensor(class_name)\n\n image = cv2.imread(img_pth)\n\n if self.transform:\n image = self.transform(image)\n\n return image, label","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:49:04.440409Z","iopub.execute_input":"2025-04-23T18:49:04.440743Z","iopub.status.idle":"2025-04-23T18:49:04.445706Z","shell.execute_reply.started":"2025-04-23T18:49:04.440716Z","shell.execute_reply":"2025-04-23T18:49:04.444712Z"}},"outputs":[],"execution_count":4},{"cell_type":"markdown","source":"# Building the model architecture","metadata":{}},{"cell_type":"code","source":"class CNNOne(nn.Module):\n def __init__(self):\n super().__init__()\n self.conv1 = nn.Sequential(\n nn.Conv2d(3, 16, kernel_size=3, padding=1),\n nn.ReLU(),\n nn.Conv2d(16, 16, kernel_size=3),\n nn.ReLU(),\n nn.MaxPool2d(2,2)\n )\n self.conv2 = nn.Sequential(\n nn.Conv2d(16, 64, kernel_size=3, padding=1),\n nn.ReLU(),\n nn.Conv2d(64, 64, kernel_size=3, padding=1),\n nn.MaxPool2d(2,2)\n )\n self.conv3 = nn.Sequential(\n nn.Conv2d(64, 256, kernel_size=3, padding=1),\n nn.ReLU(),\n nn.MaxPool2d(2,2)\n )\n self.norm = nn.BatchNorm2d(256)\n self.fc1 = nn.Linear(186624, 64)\n self.dropout = nn.Dropout(0.2)\n self.fc2 = nn.Linear(64, 4)\n\n def forward(self, x):\n x = self.conv1(x)\n x = self.conv2(x)\n x = self.conv3(x)\n\n x = self.norm(x)\n\n x = x.view(x.shape[0], -1)\n\n x = F.relu(self.fc1(x))\n x = self.dropout(x)\n x = self.fc2(x)\n x = F.log_softmax(x, dim=1)\n \n return x ","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:49:07.960542Z","iopub.execute_input":"2025-04-23T18:49:07.960913Z","iopub.status.idle":"2025-04-23T18:49:07.967735Z","shell.execute_reply.started":"2025-04-23T18:49:07.960887Z","shell.execute_reply":"2025-04-23T18:49:07.966796Z"}},"outputs":[],"execution_count":5},{"cell_type":"code","source":"transform = transforms.Compose([\n transforms.ToTensor(),\n transforms.Normalize(mean=[0.5], std=[0.5]),\n transforms.Resize((224, 224))\n])\n\ndataset = OasisImages('/kaggle/working/oasis1.csv', transform)\ntrain_size = int(0.8*len(dataset))\ntest_size = len(dataset)-train_size\nvalidate_size = int(0.1*train_size)\ntrain_size = train_size-validate_size\n\ntrain_data, test_data, validate_data = random_split(dataset, [train_size, test_size, validate_size])\n\ntrain_loader = DataLoader(train_data, batch_size=64, shuffle=True, drop_last=True)\ntest_loader = DataLoader(test_data, batch_size=64, shuffle=False, drop_last=True)\nvalidate_loader = DataLoader(validate_data, batch_size=64, shuffle=True, drop_last=True)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:49:10.366231Z","iopub.execute_input":"2025-04-23T18:49:10.366562Z","iopub.status.idle":"2025-04-23T18:49:10.499525Z","shell.execute_reply.started":"2025-04-23T18:49:10.366533Z","shell.execute_reply":"2025-04-23T18:49:10.498823Z"}},"outputs":[],"execution_count":6},{"cell_type":"markdown","source":"## Training the model","metadata":{}},{"cell_type":"code","source":"device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\nmodel = CNNOne().to(device)\ncriterion = nn.NLLLoss()\noptimizer = torch.optim.Adam(model.parameters(), lr=0.001)\nscheduler = torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, 'min', patience=3, factor=0.1)\n\n\ndef train_mode(model=model, train_loader=train_loader, validate_loader=validate_loader, criterion=criterion, optimizer=optimizer, scheduler=scheduler, device=device, epochs=30):\n train_losses = []\n validation_losses = []\n best_acc = 0.0\n\n for epoch in range(epochs):\n epoch_start = time.time()\n model.train()\n running_loss = 0\n\n for image, label in train_loader:\n image, label = image.to(device), label.to(device)\n\n optimizer.zero_grad()\n output = model(image)\n loss = criterion(output, label)\n loss.backward()\n optimizer.step()\n\n running_loss += loss.item()\n model.eval()\n validation_loss = 0.0\n correct = 0\n total = 0\n\n with torch.no_grad():\n for image, label in validate_loader:\n image, label = image.to(device), label.to(device)\n\n output = model(image)\n loss = criterion(output, label)\n validation_loss += loss.item()\n _, predicted = torch.max(output, 1)\n total += label.size(0)\n correct += (predicted == label).sum().item()\n train_loss = running_loss/len(train_loader)\n validation_loss = validation_loss/len(validate_loader)\n accuracy = 100*correct/total\n\n scheduler.step(validation_loss)\n\n train_losses.append(train_loss)\n validation_losses.append(validation_loss)\n\n print(f'Epoch [{epoch+1}/{epochs}]')\n print(f'Training Loss: {train_loss:.4f}, Validation Loss: {validation_loss:.4f}')\n print(f'Accuracy: {accuracy:.2f}')\n print('-'*60)\n epoch_end = time.time()\n print(f'Time elapsed: {epoch_end-epoch_start:.2f} seconds')\n\n if accuracy > best_acc:\n best_acc = accuracy\n torch.save(model.state_dict(), '/kaggle/working/best_model.pth')\n \n return train_losses, validation_losses\n\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:49:12.009934Z","iopub.execute_input":"2025-04-23T18:49:12.010251Z","iopub.status.idle":"2025-04-23T18:49:12.398141Z","shell.execute_reply.started":"2025-04-23T18:49:12.010224Z","shell.execute_reply":"2025-04-23T18:49:12.397453Z"}},"outputs":[],"execution_count":7},{"cell_type":"code","source":"train_losses, validation_losses = train_mode(epochs=30)\n\nplt.figure(figsize=(10,5))\nplt.plot(train_losses, label='Training Loss')\nplt.plot(validation_losses, label='Test Loss')\nplt.title('Training and Test Loss')\nplt.xlabel('Epoch')\nplt.ylabel('Loss')\nplt.legend()\nplt.show()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-16T19:50:21.891101Z","iopub.execute_input":"2025-04-16T19:50:21.891349Z","iopub.status.idle":"2025-04-16T23:04:18.392511Z","shell.execute_reply.started":"2025-04-16T19:50:21.891325Z","shell.execute_reply":"2025-04-16T23:04:18.391612Z"}},"outputs":[{"name":"stdout","text":"Epoch [1/30]\nTraining Loss: 0.4884, Validation Loss: 0.3020\nAccuracy: 88.51\n------------------------------------------------------------\nTime elapsed: 913.81 seconds\nEpoch [2/30]\nTraining Loss: 0.1818, Validation Loss: 0.6927\nAccuracy: 86.59\n------------------------------------------------------------\nTime elapsed: 378.57 seconds\nEpoch [3/30]\nTraining Loss: 0.1049, Validation Loss: 2.4059\nAccuracy: 80.19\n------------------------------------------------------------\nTime elapsed: 373.86 seconds\nEpoch [4/30]\nTraining Loss: 0.0835, Validation Loss: 2.0302\nAccuracy: 61.66\n------------------------------------------------------------\nTime elapsed: 409.54 seconds\nEpoch [5/30]\nTraining Loss: 0.0626, Validation Loss: 0.0885\nAccuracy: 96.22\n------------------------------------------------------------\nTime elapsed: 377.15 seconds\nEpoch [6/30]\nTraining Loss: 0.0537, Validation Loss: 0.5295\nAccuracy: 89.90\n------------------------------------------------------------\nTime elapsed: 394.39 seconds\nEpoch [7/30]\nTraining Loss: 0.0499, Validation Loss: 0.0368\nAccuracy: 98.77\n------------------------------------------------------------\nTime elapsed: 366.43 seconds\nEpoch [8/30]\nTraining Loss: 0.0467, Validation Loss: 0.0275\nAccuracy: 98.89\n------------------------------------------------------------\nTime elapsed: 395.34 seconds\nEpoch [9/30]\nTraining Loss: 0.0387, Validation Loss: 0.0680\nAccuracy: 98.05\n------------------------------------------------------------\nTime elapsed: 360.30 seconds\nEpoch [10/30]\nTraining Loss: 0.0400, Validation Loss: 0.3199\nAccuracy: 93.43\n------------------------------------------------------------\nTime elapsed: 390.83 seconds\nEpoch [11/30]\nTraining Loss: 0.0333, Validation Loss: 0.7740\nAccuracy: 89.31\n------------------------------------------------------------\nTime elapsed: 400.96 seconds\nEpoch [12/30]\nTraining Loss: 0.0341, Validation Loss: 0.0462\nAccuracy: 98.65\n------------------------------------------------------------\nTime elapsed: 391.29 seconds\nEpoch [13/30]\nTraining Loss: 0.0195, Validation Loss: 0.0041\nAccuracy: 99.78\n------------------------------------------------------------\nTime elapsed: 364.26 seconds\nEpoch [14/30]\nTraining Loss: 0.0165, Validation Loss: 0.0039\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 383.84 seconds\nEpoch [15/30]\nTraining Loss: 0.0156, Validation Loss: 0.0034\nAccuracy: 99.81\n------------------------------------------------------------\nTime elapsed: 360.03 seconds\nEpoch [16/30]\nTraining Loss: 0.0149, Validation Loss: 0.0035\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 352.35 seconds\nEpoch [17/30]\nTraining Loss: 0.0142, Validation Loss: 0.0045\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 364.65 seconds\nEpoch [18/30]\nTraining Loss: 0.0126, Validation Loss: 0.0046\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 351.63 seconds\nEpoch [19/30]\nTraining Loss: 0.0127, Validation Loss: 0.0053\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 375.89 seconds\nEpoch [20/30]\nTraining Loss: 0.0117, Validation Loss: 0.0051\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 355.51 seconds\nEpoch [21/30]\nTraining Loss: 0.0130, Validation Loss: 0.0051\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 349.44 seconds\nEpoch [22/30]\nTraining Loss: 0.0123, Validation Loss: 0.0047\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 364.22 seconds\nEpoch [23/30]\nTraining Loss: 0.0118, Validation Loss: 0.0044\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 349.69 seconds\nEpoch [24/30]\nTraining Loss: 0.0112, Validation Loss: 0.0045\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 356.52 seconds\nEpoch [25/30]\nTraining Loss: 0.0108, Validation Loss: 0.0045\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 380.39 seconds\nEpoch [26/30]\nTraining Loss: 0.0114, Validation Loss: 0.0045\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 386.15 seconds\nEpoch [27/30]\nTraining Loss: 0.0114, Validation Loss: 0.0044\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 364.17 seconds\nEpoch [28/30]\nTraining Loss: 0.0111, Validation Loss: 0.0045\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 336.45 seconds\nEpoch [29/30]\nTraining Loss: 0.0121, Validation Loss: 0.0044\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 338.52 seconds\nEpoch [30/30]\nTraining Loss: 0.0119, Validation Loss: 0.0044\nAccuracy: 99.80\n------------------------------------------------------------\nTime elapsed: 349.00 seconds\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<Figure size 1000x500 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAA04AAAHWCAYAAABACtmGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABuVklEQVR4nO3dd3yT9f7+8SvpSHehjLZA2XsVREBAEQ8ow4Pi1qM/wOM4KjgOR4/i14F4zuG4ceM4R9wDB6IHVERx4kBAEQHZZZXdlu6R+/fH3YSG7jbJnaSv5+ORkzt37tz3u03jycVn2QzDMAQAAAAAqJbd6gIAAAAAINARnAAAAACgFgQnAAAAAKgFwQkAAAAAakFwAgAAAIBaEJwAAAAAoBYEJwAAAACoBcEJAAAAAGpBcAIAAACAWhCcAKCJmjp1qjp27Nig186aNUs2m827BQWY7du3y2azaf78+VaXAgAIAAQnAAgwNputTrfly5dbXWqT17Fjxzq9V94KX//617+0cOHCOh3rCn4PPvigV64NAE1duNUFAAA8vfzyyx6PX3rpJS1durTS/l69ejXqOs8995ycTmeDXnvHHXfotttua9T1Q8HcuXOVm5vrfrx48WK9/vrreuSRR9SyZUv3/uHDh3vlev/61790/vnna9KkSV45HwCg7ghOABBgLrvsMo/H3333nZYuXVpp//Hy8/MVExNT5+tEREQ0qD5JCg8PV3g4/xdyfIDJzMzU66+/rkmTJjW4GyQAIDDRVQ8AgtCoUaPUt29f/fTTTxo5cqRiYmJ0++23S5Lef/99nXnmmWrTpo0cDoe6dOmie++9V2VlZR7nOH6MU8WuXc8++6y6dOkih8OhwYMH68cff/R4bVVjnGw2m6ZPn66FCxeqb9++cjgc6tOnjz766KNK9S9fvlwnnniioqKi1KVLFz3zzDN1Hjf11Vdf6YILLlD79u3lcDiUlpamv/71ryooKKj088XFxWn37t2aNGmS4uLi1KpVK918882VfhdZWVmaOnWqEhMT1axZM02ZMkVZWVm11lJXr7zyigYNGqTo6GglJSXp4osv1s6dOz2O2bRpk8477zylpKQoKipK7dq108UXX6zs7GxJ5u83Ly9PL774orsL4NSpUxtd2/79+3XFFVcoOTlZUVFRSk9P14svvljpuDfeeEODBg1SfHy8EhIS1K9fPz366KPu50tKSnTPPfeoW7duioqKUosWLXTyySdr6dKlja4RAAIB/1wIAEHq0KFDGj9+vC6++GJddtllSk5OliTNnz9fcXFxmjFjhuLi4vTZZ5/prrvuUk5Ojh544IFaz/vaa6/p6NGj+stf/iKbzab7779f5557rrZu3VprK9XXX3+td999V9ddd53i4+P12GOP6bzzzlNGRoZatGghSVq9erXGjRun1NRU3XPPPSorK9Ps2bPVqlWrOv3cCxYsUH5+vq699lq1aNFCP/zwgx5//HHt2rVLCxYs8Di2rKxMY8eO1dChQ/Xggw/q008/1UMPPaQuXbro2muvlSQZhqGzzz5bX3/9ta655hr16tVL7733nqZMmVKnemrzz3/+U3feeacuvPBCXXnllTpw4IAef/xxjRw5UqtXr1azZs1UXFyssWPHqqioSNdff71SUlK0e/duffjhh8rKylJiYqJefvllXXnllRoyZIiuvvpqSVKXLl0aVVtBQYFGjRqlzZs3a/r06erUqZMWLFigqVOnKisrSzfeeKMkaenSpbrkkks0evRo3XfffZKk9evX65tvvnEfM2vWLM2ZM8ddY05OjlauXKlVq1bp9NNPb1SdABAQDABAQJs2bZpx/H+uTz31VEOSMW/evErH5+fnV9r3l7/8xYiJiTEKCwvd+6ZMmWJ06NDB/Xjbtm2GJKNFixbG4cOH3fvff/99Q5LxwQcfuPfdfffdlWqSZERGRhqbN2927/v5558NScbjjz/u3jdx4kQjJibG2L17t3vfpk2bjPDw8ErnrEpVP9+cOXMMm81m7Nixw+Pnk2TMnj3b49iBAwcagwYNcj9euHChIcm4//773ftKS0uNU045xZBkvPDCC7XW5PLAAw8Ykoxt27YZhmEY27dvN8LCwox//vOfHsetXbvWCA8Pd+9fvXq1IclYsGBBjeePjY01pkyZUqdaXO/nAw88UO0xc+fONSQZr7zyintfcXGxMWzYMCMuLs7IyckxDMMwbrzxRiMhIcEoLS2t9lzp6enGmWeeWafaACAY0VUPAIKUw+HQ5ZdfXml/dHS0e/vo0aM6ePCgTjnlFOXn52vDhg21nveiiy5S8+bN3Y9POeUUSdLWrVtrfe2YMWM8WkH69++vhIQE92vLysr06aefatKkSWrTpo37uK5du2r8+PG1nl/y/Pny8vJ08OBBDR8+XIZhaPXq1ZWOv+aaazwen3LKKR4/y+LFixUeHu5ugZKksLAwXX/99XWqpybvvvuunE6nLrzwQh08eNB9S0lJUbdu3fT5559LkhITEyVJH3/8sfLz8xt93bpavHixUlJSdMkll7j3RURE6IYbblBubq6++OILSVKzZs2Ul5dXY7e7Zs2aad26ddq0aZPP6wYAKxCcACBItW3bVpGRkZX2r1u3Tuecc44SExOVkJCgVq1auSeWcI2XqUn79u09HrtC1JEjR+r9WtfrXa/dv3+/CgoK1LVr10rHVbWvKhkZGZo6daqSkpLc45ZOPfVUSZV/vqioqEpdACvWI0k7duxQamqq4uLiPI7r0aNHneqpyaZNm2QYhrp166ZWrVp53NavX6/9+/dLkjp16qQZM2bo+eefV8uWLTV27Fg9+eSTdXq/GmPHjh3q1q2b7HbPrwOuGRt37NghSbruuuvUvXt3jR8/Xu3atdOf//znSmPXZs+eraysLHXv3l39+vXTLbfcol9++cWn9QOAPzHGCQCCVMWWF5esrCydeuqpSkhI0OzZs9WlSxdFRUVp1apVuvXWW+s0/XhYWFiV+w3D8Olr66KsrEynn366Dh8+rFtvvVU9e/ZUbGysdu/eralTp1b6+aqrx1+cTqdsNpuWLFlSZS0Vw9pDDz2kqVOn6v3339cnn3yiG264QXPmzNF3332ndu3a+bPsSlq3bq01a9bo448/1pIlS7RkyRK98MILmjx5snsiiZEjR2rLli3u+p9//nk98sgjmjdvnq688kpL6wcAbyA4AUAIWb58uQ4dOqR3331XI0eOdO/ftm2bhVUd07p1a0VFRWnz5s2Vnqtq3/HWrl2r33//XS+++KImT57s3t+Ymds6dOigZcuWKTc31yPIbNy4scHndOnSpYsMw1CnTp3UvXv3Wo/v16+f+vXrpzvuuEPffvutRowYoXnz5ukf//iHJNVp1sH66NChg3755Rc5nU6PVidXl84OHTq490VGRmrixImaOHGinE6nrrvuOj3zzDO688473a2FSUlJuvzyy3X55ZcrNzdXI0eO1KxZswhOAEICXfUAIIS4WjUqtvAUFxfrqaeesqokD2FhYRozZowWLlyoPXv2uPdv3rxZS5YsqdPrJc+fzzAMj2mx62vChAkqLS3V008/7d5XVlamxx9/vMHndDn33HMVFhame+65p1Krm2EYOnTokCQpJydHpaWlHs/369dPdrtdRUVF7n2xsbFenSZ9woQJyszM1JtvvuneV1paqscff1xxcXHuLpCuOl3sdrv69+8vSe76jj8mLi5OXbt29agfAIIZLU4AEEKGDx+u5s2ba8qUKbrhhhtks9n08ssve62rnDfMmjVLn3zyiUaMGKFrr71WZWVleuKJJ9S3b1+tWbOmxtf27NlTXbp00c0336zdu3crISFB77zzTp3GX1Vn4sSJGjFihG677TZt375dvXv31rvvvuuV8UVdunTRP/7xD82cOVPbt2/XpEmTFB8fr23btum9997T1VdfrZtvvlmfffaZpk+frgsuuEDdu3dXaWmpXn75ZYWFhem8885zn2/QoEH69NNP9fDDD6tNmzbq1KmThg4dWmMNy5YtU2FhYaX9kyZN0tVXX61nnnlGU6dO1U8//aSOHTvq7bff1jfffKO5c+cqPj5eknTllVfq8OHD+sMf/qB27dppx44devzxxzVgwAD3eKjevXtr1KhRGjRokJKSkrRy5Uq9/fbbmj59eqN/jwAQCAhOABBCWrRooQ8//FB/+9vfdMcdd6h58+a67LLLNHr0aI0dO9bq8iSZX/6XLFmim2++WXfeeafS0tI0e/ZsrV+/vtZZ/yIiIvTBBx+4x/9ERUXpnHPO0fTp05Went6geux2uxYtWqSbbrpJr7zyimw2m8466yw99NBDGjhwYIPOWdFtt92m7t2765FHHtE999wjSUpLS9MZZ5yhs846S5KUnp6usWPH6oMPPtDu3bsVExOj9PR0LVmyRCeddJL7XA8//LCuvvpq3XHHHSooKNCUKVNqDU4fffRRlYsQd+zYUX379tXy5ct122236cUXX1ROTo569OihF154wWNx3csuu0zPPvusnnrqKWVlZSklJUUXXXSRZs2a5e7id8MNN2jRokX65JNPVFRUpA4dOugf//iHbrnllsb+CgEgINiMQPpnSABAkzVp0iSmswYABCzGOAEA/K6goMDj8aZNm7R48WKNGjXKmoIAAKgFLU4AAL9LTU3V1KlT1blzZ+3YsUNPP/20ioqKtHr1anXr1s3q8gAAqIQxTgAAvxs3bpxef/11ZWZmyuFwaNiwYfrXv/5FaAIABCxanAAAAACgFoxxAgAAAIBaEJwAAAAAoBZNboyT0+nUnj17FB8fL5vNZnU5AAAAACxiGIaOHj2qNm3auNelq46lwWnOnDl69913tWHDBkVHR2v48OG677771KNHj2pfM3/+fF1++eUe+xwOR5Wroldlz549SktLa1TdAAAAAELHzp071a5duxqPsTQ4ffHFF5o2bZoGDx6s0tJS3X777TrjjDP022+/KTY2ttrXJSQkaOPGje7H9Wk5io+Pl2T+chISEhpePAAAAICglpOTo7S0NHdGqImlwemjjz7yeDx//ny1bt1aP/30k0aOHFnt62w2m1JSUhp0TVfISkhIIDgBAAAAqFNDTEBNDpGdnS1JSkpKqvG43NxcdejQQWlpaTr77LO1bt26ao8tKipSTk6Oxw0AAAAA6iNggpPT6dRNN92kESNGqG/fvtUe16NHD/33v//V+++/r1deeUVOp1PDhw/Xrl27qjx+zpw5SkxMdN8Y3wQAAACgvgJmAdxrr71WS5Ys0ddff13rwKyKSkpK1KtXL11yySW69957Kz1fVFSkoqIi92NXP8bs7Gy66gEAAABNWE5OjhITE+uUDQJiOvLp06frww8/1Jdfflmv0CRJERERGjhwoDZv3lzl8w6HQw6HwxtlAgAAIMCUlZWppKTE6jIQwCIiIhQWFtbo81ganAzD0PXXX6/33ntPy5cvV6dOnep9jrKyMq1du1YTJkzwQYUAAAAIVLm5udq1a5cCpAMVApTNZlO7du0UFxfXqPNYGpymTZum1157Te+//77i4+OVmZkpSUpMTFR0dLQkafLkyWrbtq3mzJkjSZo9e7ZOOukkde3aVVlZWXrggQe0Y8cOXXnllZb9HAAAAPCvsrIy7dq1SzExMWrVqlW9lqdB02EYhg4cOKBdu3apW7dujWp5sjQ4Pf3005KkUaNGeex/4YUXNHXqVElSRkaGxyq+R44c0VVXXaXMzEw1b95cgwYN0rfffqvevXv7q2wAAABYrKSkRIZhqFWrVu5/cAeq0qpVK23fvl0lJSWNCk4BMzmEv9RnABgAAAACU2FhobZt26ZOnTopKirK6nIQwGr6W6lPNgiY6cgBAAAAIFARnAAAAACgFgQnAAAAIIh17NhRc+fOrfPxy5cvl81mU1ZWls9qCkUEJwAAAMAPbDZbjbdZs2Y16Lw//vijrr766jofP3z4cO3du1eJiYkNul5dhVpAC4gFcAEAAIBQt3fvXvf2m2++qbvuuksbN25076u4zpBhGCorK1N4eO1f11u1alWvOiIjI5WSklKv14AWJzTWN49Ki66XylixGwAAWMcwDOUXl1pyq+sk1SkpKe5bYmKibDab+/GGDRsUHx+vJUuWaNCgQXI4HPr666+1ZcsWnX322UpOTlZcXJwGDx6sTz/91OO8x3fVs9lsev7553XOOecoJiZG3bp106JFi9zPH98SNH/+fDVr1kwff/yxevXqpbi4OI0bN84j6JWWluqGG25Qs2bN1KJFC916662aMmWKJk2a1OD37MiRI5o8ebKaN2+umJgYjR8/Xps2bXI/v2PHDk2cOFHNmzdXbGys+vTpo8WLF7tfe+mll7qno+/WrZteeOGFBtdSF7Q4oeEMQ/rsH1JZsdTxFKn/hVZXBAAAmqiCkjL1vutjS6792+yxion0ztfq2267TQ8++KA6d+6s5s2ba+fOnZowYYL++c9/yuFw6KWXXtLEiRO1ceNGtW/fvtrz3HPPPbr//vv1wAMP6PHHH9ell16qHTt2KCkpqcrj8/Pz9eCDD+rll1+W3W7XZZddpptvvlmvvvqqJOm+++7Tq6++qhdeeEG9evXSo48+qoULF+q0005r8M86depUbdq0SYsWLVJCQoJuvfVWTZgwQb/99psiIiI0bdo0FRcX68svv1RsbKx+++03d6vcnXfeqd9++01LlixRy5YttXnzZhUUFDS4lrogOKHh8g+boUmSVjwh9btAYtVuAACABps9e7ZOP/109+OkpCSlp6e7H99777167733tGjRIk2fPr3a80ydOlWXXHKJJOlf//qXHnvsMf3www8aN25clceXlJRo3rx56tKliyRp+vTpmj17tvv5xx9/XDNnztQ555wjSXriiSfcrT8N4QpM33zzjYYPHy5JevXVV5WWlqaFCxfqggsuUEZGhs477zz169dPktS5c2f36zMyMjRw4ECdeOKJksxWN18jOKHhcjOPbe/9WdrxrdRxhHX1AACAJis6Iky/zR5r2bW9xRUEXHJzczVr1iz973//0969e1VaWqqCggJlZGTUeJ7+/fu7t2NjY5WQkKD9+/dXe3xMTIw7NElSamqq+/js7Gzt27dPQ4YMcT8fFhamQYMGyel01uvnc1m/fr3Cw8M1dOhQ974WLVqoR48eWr9+vSTphhtu0LXXXqtPPvlEY8aM0Xnnnef+ua699lqdd955WrVqlc444wxNmjTJHcB8hTFOaLijmZ6PVzxpTR0AAKDJs9lsiokMt+Rm82KPm9jYWI/HN998s9577z3961//0ldffaU1a9aoX79+Ki4urvE8ERERlX4/NYWcqo6v69gtX7nyyiu1detW/b//9/+0du1anXjiiXr88cclSePHj9eOHTv017/+VXv27NHo0aN18803+7QeghMaLnefed+8k3m/cbF0aIt19QAAAISYb775RlOnTtU555yjfv36KSUlRdu3b/drDYmJiUpOTtaPP/7o3ldWVqZVq1Y1+Jy9evVSaWmpvv/+e/e+Q4cOaePGjerdu7d7X1pamq655hq9++67+tvf/qbnnnvO/VyrVq00ZcoUvfLKK5o7d66effbZBtdTF3TVQ8O5WpzaD5NadpM2fSJ9P0+a8IC1dQEAAISIbt266d1339XEiRNls9l05513Nrh7XGNcf/31mjNnjrp27aqePXvq8ccf15EjR+rU2rZ27VrFx8e7H9tsNqWnp+vss8/WVVddpWeeeUbx8fG67bbb1LZtW5199tmSpJtuuknjx49X9+7ddeTIEX3++efq1auXJOmuu+7SoEGD1KdPHxUVFenDDz90P+crBCc0nKvFKT5ZSr/IDE6rX5FOu12Kbm5tbQAAACHg4Ycf1p///GcNHz5cLVu21K233qqcnBy/13HrrbcqMzNTkydPVlhYmK6++mqNHTtWYWG1j+8aOXKkx+OwsDCVlpbqhRde0I033qg//vGPKi4u1siRI7V48WJ3t8GysjJNmzZNu3btUkJCgsaNG6dHHnlEkrkW1cyZM7V9+3ZFR0frlFNO0RtvvOH9H7wCm2F150U/y8nJUWJiorKzs5WQkGB1OcHtrSnSbwulcfdJQ/8izTtZ2verNGaWdPJfra4OAACEsMLCQm3btk2dOnVSVFSU1eU0OU6nU7169dKFF16oe++91+pyalTT30p9sgFjnNBwFVucbDbppOvMx98/y4K4AAAAIWTHjh167rnn9Pvvv2vt2rW69tprtW3bNv3pT3+yujS/ITih4VxjnOJSzPt+50uxraWje6R1Cy0rCwAAAN5lt9s1f/58DR48WCNGjNDatWv16aef+nxcUSBhjBMaxjCOtTjFtTbvwx3SkKukz/8pffekGaRYEBcAACDopaWl6ZtvvrG6DEvR4oSGKToqleSb2/Epx/af+GcpPEras1rKWGFNbQAAAICXEZzQMLnlK09HxkuRFRZqi20ppV9sbrMgLgAAAEIEwQkNk1s+vik+ufJzrkkiNvxPOrzVfzUBAAAAPkJwQsMcPzFERa16SF1Pl2RI383za1kAAACALxCc0DAVpyKvyrDyVqfVr0gFWX4pCQAAAPAVghMapqYWJ0nqfJrUurdUkietetF/dQEAAAA+QHBCw9TW4mSzScOmmdvfP8OCuAAAAAhqBCc0TG0tTpLU93wptpWUs1v67X3/1AUAABCgbDZbjbdZs2Y16twLFy702nGojOCEhqmtxUmSIqKkwVeZ2yueMBfNBQAAaKL27t3rvs2dO1cJCQke+26++WarS0QNCE5omLq0OEnS4CukMEf5grjf+b4uAADQNBmGVJxnza2O/zickpLiviUmJspms3nse+ONN9SrVy9FRUWpZ8+eeuqpp9yvLS4u1vTp05WamqqoqCh16NBBc+bMkSR17NhRknTOOefIZrO5H9eX0+nU7Nmz1a5dOzkcDg0YMEAfffRRnWowDEOzZs1S+/bt5XA41KZNG91www0NqiNQhVtdAIJQSaFUmGVu19TiJJUviHuRtOol6bsnpQ7DfF4eAABogkrypX+1sebat++RImMbdYpXX31Vd911l5544gkNHDhQq1ev1lVXXaXY2FhNmTJFjz32mBYtWqS33npL7du3186dO7Vz505J0o8//qjWrVvrhRde0Lhx4xQWFtagGh599FE99NBDeuaZZzRw4ED997//1VlnnaV169apW7duNdbwzjvv6JFHHtEbb7yhPn36KDMzUz///HOjfieBhuCE+nN10wtzSFHNaj/+pOvM4LT+Q3NB3KTOPi0PAAAg2Nx999166KGHdO6550qSOnXqpN9++03PPPOMpkyZooyMDHXr1k0nn3yybDabOnTo4H5tq1atJEnNmjVTSkotvYFq8OCDD+rWW2/VxRdfLEm677779Pnnn2vu3Ll68skna6whIyNDKSkpGjNmjCIiItS+fXsNGTKkwbUEIoIT6s8VnOKSzdnzatO6l9R1jLT5U3OGvfH3+bY+AADQ9ETEmC0/Vl27EfLy8rRlyxZdccUVuuqqq9z7S0tLlZiYKEmaOnWqTj/9dPXo0UPjxo3TH//4R51xxhmNum5FOTk52rNnj0aMGOGxf8SIEe6Wo5pquOCCCzR37lx17txZ48aN04QJEzRx4kSFh4dO3GCME+rPNb6ptm56FZ3EgrgAAMCHbDazu5wVt7r8Q3INcnNzJUnPPfec1qxZ4779+uuv+u47c4z4CSecoG3btunee+9VQUGBLrzwQp1//vmN/rXVR001pKWlaePGjXrqqacUHR2t6667TiNHjlRJSegsSUNwQv1VbHGqqy5/kFr1kopzzW57AAAAkCQlJyerTZs22rp1q7p27epx69Spk/u4hIQEXXTRRXruuef05ptv6p133tHhw4clSRERESorK2twDQkJCWrTpo2++eYbj/3ffPONevfuXacaoqOjNXHiRD322GNavny5VqxYobVr1za4pkATOm1n8B/3VOT16EPrWhB30XSzu95J10lh/PkBAABI0j333KMbbrhBiYmJGjdunIqKirRy5UodOXJEM2bM0MMPP6zU1FQNHDhQdrtdCxYsUEpKipo1aybJnFlv2bJlGjFihBwOh5o3b17ttbZt26Y1a9Z47OvWrZtuueUW3X333erSpYsGDBigF154QWvWrNGrr74qSTXWMH/+fJWVlWno0KGKiYnRK6+8oujoaI9xUMGOb66ov7pORX68fhdIy+6RcnZJ69+X+p7n/doAAACC0JVXXqmYmBg98MADuuWWWxQbG6t+/frppptukiTFx8fr/vvv16ZNmxQWFqbBgwdr8eLFstvNDmQPPfSQZsyYoeeee05t27bV9u3bq73WjBkzKu376quvdMMNNyg7O1t/+9vftH//fvXu3VuLFi1St27daq2hWbNm+ve//60ZM2aorKxM/fr10wcffKAWLVp4/XdlFZthNK1VSXNycpSYmKjs7GwlJCRYXU5wevUCadMn0lmPSydMrt9rl/9bWj5HajtIunJZo/sEAwCApqmwsFDbtm1Tp06dFBUVZXU5CGA1/a3UJxswxgn119AWJ0k6sXxB3N0/STt/8G5dAAAAgI8QnFB/7jFO9ZgcwiWuldT/QnN7xRPeqwkAAADwIYIT6sdZJuUdMLcb0uIkmZNESNKGD6Uj271SFgAAAOBLBCfUT94ByXBKNrsU27Jh52jdy5ye3HCaM+wBAAAAAY7ghPpxjW+KbS3Zwxp+Hler06qXpMLsxtcFAACapCY2zxkawFt/IwQn1I978dvWjTtPl9FSq54siAsA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e+01vf/++4qPj3ePd0hMTFR0dLQSExN1xRVXaMaMGUpKSlJCQoKuv/56DRs2TCeddJLF1aMuanuPt2zZotdee00TJkxQixYt9Msvv+ivf/2rRo4cqf79+1tcPepq5syZGj9+vNq3b6+jR4/qtdde0/Lly/Xxxx/75nPsnYn/0BCPP/640b59eyMyMtIYMmSI8d1331ldErzooosuMlJTU43IyEijbdu2xkUXXWRs3rzZ6rLQCJ9//rkhqdJtypQphmGYU5LfeeedRnJysuFwOIzRo0cbGzdutLZo1FtN73N+fr5xxhlnGK1atTIiIiKMDh06GFdddZWRmZlpddmoh6reX0nGCy+84D6moKDAuO6664zmzZsbMTExxjnnnGPs3bvXuqJRL7W9xxkZGcbIkSONpKQkw+FwGF27djVuueUWIzs729rCUS9//vOfjQ4dOhiRkZFGq1atjNGjRxuffPKJ+3lvf45thmEYDU15AAAAANAUMMYJAAAAAGpBcAIAAACAWhCcAAAAAKAWBCcAAAAAqAXBCQAAAABqQXACAAAAgFoQnAAAAACgFgQnAAAAAKgFwQkAgHqw2WxauHCh1WUAAPyM4AQACBpTp06VzWardBs3bpzVpQEAQly41QUAAFAf48aN0wsvvOCxz+FwWFQNAKCpoMUJABBUHA6HUlJSPG7NmzeXZHaje/rppzV+/HhFR0erc+fOevvttz1ev3btWv3hD39QdHS0WrRooauvvlq5ubkex/z3v/9Vnz595HA4lJqaqunTp3s8f/DgQZ1zzjmKiYlRt27dtGjRIt/+0AAAyxGcAAAh5c4779R5552nn3/+WZdeeqkuvvhirV+/XpKUl5ensWPHqnnz5vrxxx+1YMECffrppx7B6Omnn9a0adN09dVXa+3atVq0aJG6du3qcY177rlHF154oX755RdNmDBBl156qQ4fPuzXnxMA4F82wzAMq4sAAKAupk6dqldeeUVRUVEe+2+//Xbdfvvtstlsuuaaa/T000+7nzvppJN0wgkn6KmnntJzzz2nW2+9VTt37lRsbKwkafHixZo4caL27Nmj5ORktW3bVpdffrn+8Y9/VFmDzWbTHXfcoXvvvVeSGcbi4uK0ZMkSxloBQAhjjBMAIKicdtppHsFIkpKSktzbw4YN83hu2LBhWrNmjSRp/fr1Sk9Pd4cmSRoxYoScTqc2btwom82mPXv2aPTo0TXW0L9/f/d2bGysEhIStH///ob+SACAIEBwAgAEldjY2Epd57wlOjq6TsdFRER4PLbZbHI6nb4oCQAQIBjjBAAIKd99912lx7169ZIk9erVSz///LPy8vLcz3/zzTey2+3q0aOH4uPj1bFjRy1btsyvNQMAAh8tTgCAoFJUVKTMzEyPfeHh4WrZsqUkacGCBTrxxBN18skn69VXX9UPP/yg//znP5KkSy+9VHfffbemTJmiWbNm6cCBA7r++uv1//7f/1NycrIkadasWbrmmmvUunVrjR8/XkePHtU333yj66+/3r8/KAAgoBCcAABB5aOPPlJqaqrHvh49emjDhg2SzBnv3njjDV133XVKTU3V66+/rt69e0uSYmJi9PHHH+vGG2/U4MGDFRMTo/POO08PP/yw+1xTpkxRYWGhHnnkEd18881q2bKlzj//fP/9gACAgMSsegCAkGGz2fTee+9p0qRJVpcCAAgxjHECAAAAgFoQnAAAAACgFoxxAgCEDHqfAwB8hRYnAAAAAKgFwQkAAAAAakFwAgAAAIBaEJwAAAAAoBYEJwAAAACoBcEJAAAAAGpBcAIAAACAWhCcAAAAAKAW/x+J+swzrxEqogAAAABJRU5ErkJggg==\n"},"metadata":{}}],"execution_count":11},{"cell_type":"code","source":"from sklearn.metrics import accuracy_score, classification_report, confusion_matrix, recall_score, f1_score\nimport seaborn as sns\n\ndef test_model(test_loader = test_loader, model = model, criterion = criterion, device = device):\n model.eval()\n test_loss = 0\n correct = 0\n total = 0\n all_preds = []\n all_labels = []\n\n with torch.no_grad():\n for images, labels in test_loader:\n images, labels = images.to(device), labels.to(device)\n\n outputs = model(images)\n preds = outputs.argmax(dim=1)\n \n all_preds.extend(preds.cpu().numpy())\n all_labels.extend(labels.cpu().numpy())\n test_loss += criterion(outputs, labels).item()\n\n _, predicted = torch.max(outputs.data, 1)\n total += labels.size(0)\n correct += (predicted == labels).sum().item()\n accuracy = 100*correct/total\n avg_loss = test_loss/len(test_loader)\n\n print(f'Test Loss: {avg_loss:.3f}')\n print(f'Test Accuracy: {accuracy:.2f}%')\n\n cm = confusion_matrix(all_labels, all_preds)\n plt.figure(figsize=(8,6))\n sns.heatmap(cm, annot=True, fmt='d', cmap='Blues',\n xticklabels=['Mild Dementia', 'Moderate Dementia', 'Non Demented', 'Very mild Dementia'],\n yticklabels=['Mild Dementia', 'Moderate Dementia', 'Non Demented', 'Very mild Dementia'])\n plt.xlabel('Predicted')\n plt.ylabel('True')\n plt.title('Confusion Matrix')\n plt.show()\n\n # Classification Report\n print(\"Classification Report:\")\n print(classification_report(all_labels, all_preds, target_names=['Mild Dementia', 'Moderate Dementia', 'Non Demented', 'Very mild Dementia']))\n\n recall = recall_score(all_labels, all_preds, average='macro')\n f1 = f1_score(all_labels, all_preds, average='macro')\n\n recall_per_class = recall_score(all_labels, all_preds, average=None)\n f1_per_class = f1_score(all_labels, all_preds, average=None)\n\n classes = ['Mild Dementia', 'Moderate Dementia', 'Non Demented', 'Very mild Dementia'] \n\n x = np.arange(len(classes)) # label locations\n width = 0.35\n\n fig, ax = plt.subplots()\n bars1 = ax.bar(x - width/2, recall_per_class, width, label='Recall')\n bars2 = ax.bar(x + width/2, f1_per_class, width, label='F1-score')\n\n ax.set_xlabel('Classes')\n ax.set_ylabel('Score')\n ax.set_title('Recall and F1-score per Class')\n ax.set_xticks(x)\n ax.set_xticklabels(classes)\n ax.legend()\n\n plt.ylim(0, 1)\n plt.tight_layout()\n plt.show()\n return accuracy, avg_loss\n \n ","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:53:40.577325Z","iopub.execute_input":"2025-04-23T18:53:40.577682Z","iopub.status.idle":"2025-04-23T18:53:40.589025Z","shell.execute_reply.started":"2025-04-23T18:53:40.577648Z","shell.execute_reply":"2025-04-23T18:53:40.58828Z"}},"outputs":[],"execution_count":10},{"cell_type":"code","source":"model.load_state_dict(torch.load(\"/kaggle/working/best_model.pth\", map_location=device))\n\ntest_model(model = model)","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-04-23T18:53:41.621488Z","iopub.execute_input":"2025-04-23T18:53:41.621818Z","iopub.status.idle":"2025-04-23T18:54:54.101433Z","shell.execute_reply.started":"2025-04-23T18:53:41.621791Z","shell.execute_reply":"2025-04-23T18:54:54.10077Z"}},"outputs":[{"name":"stderr","text":"<ipython-input-11-1f2399d29541>:1: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n model.load_state_dict(torch.load(\"/kaggle/working/best_model.pth\", map_location=device))\n","output_type":"stream"},{"name":"stdout","text":"Test Loss: 0.002\nTest Accuracy: 99.89%\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<Figure size 800x600 with 2 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAxcAAAIjCAYAAABxvOYzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACAYUlEQVR4nO3dd3gU1dvG8XsTSIGQhJqChCA9UiOKoZdIqNIUQXoRpXcBKVKUCIgUURAEggiCSFNKNFKlhd4jTQIiCT1AKElI9v2DN/tjTYAEdgmw34/XXJd75syZMzO7YZ99zpkxGI1GowAAAADgCdlldAcAAAAAvBgILgAAAABYBMEFAAAAAIsguAAAAABgEQQXAAAAACyC4AIAAACARRBcAAAAALAIggsAAAAAFkFwAQAAAMAiCC4AAGaOHz+uWrVqyc3NTQaDQcuXL7do+5GRkTIYDAoJCbFou8+zatWqqVq1ahndDQB4YgQXAPAMOnnypD744AO9/PLLcnJykqurqypWrKjJkyfr9u3bVt1327ZtdfDgQX322WeaN2+eypUrZ9X9PU3t2rWTwWCQq6trqufx+PHjMhgMMhgM+uKLL9Ld/rlz5zRixAjt27fPAr0FgOdPpozuAADA3KpVq/TOO+/I0dFRbdq0UYkSJRQfH6/NmzdrwIABOnz4sGbMmGGVfd++fVvbtm3TkCFD1L17d6vsI3/+/Lp9+7YyZ85slfYfJVOmTLp165Z+/fVXNWvWzGzd/Pnz5eTkpDt37jxW2+fOndPIkSPl6+urMmXKpHm733///bH2BwDPGoILAHiGnDp1Ss2bN1f+/Pm1bt06eXl5mdZ169ZNJ06c0KpVq6y2/4sXL0qS3N3drbYPg8EgJycnq7X/KI6OjqpYsaJ+/PHHFMHFggULVK9ePS1ZsuSp9OXWrVvKkiWLHBwcnsr+AMDaGBYFAM+QcePGKTY2VrNmzTILLJIVKlRIvXr1Mr2+e/euRo8erYIFC8rR0VG+vr76+OOPFRcXZ7adr6+v6tevr82bN+v111+Xk5OTXn75ZX3//femOiNGjFD+/PklSQMGDJDBYJCvr6+ke8OJkv//fiNGjJDBYDArCwsLU6VKleTu7i4XFxcVLVpUH3/8sWn9g+ZcrFu3TpUrV1bWrFnl7u6uhg0bKiIiItX9nThxQu3atZO7u7vc3NzUvn173bp168En9j/ee+89rVmzRjExMaaynTt36vjx43rvvfdS1L9y5Yr69++vkiVLysXFRa6urqpTp472799vqrNhwwa99tprkqT27dubhlclH2e1atVUokQJ7d69W1WqVFGWLFlM5+W/cy7atm0rJyenFMcfFBSk7Nmz69y5c2k+VgB4mgguAOAZ8uuvv+rll19WhQoV0lS/U6dOGj58uPz9/TVx4kRVrVpVwcHBat68eYq6J06c0Ntvv60333xTEyZMUPbs2dWuXTsdPnxYktSkSRNNnDhRktSiRQvNmzdPkyZNSlf/Dx8+rPr16ysuLk6jRo3ShAkT9NZbb2nLli0P3e6PP/5QUFCQLly4oBEjRqhv377aunWrKlasqMjIyBT1mzVrphs3big4OFjNmjVTSEiIRo4cmeZ+NmnSRAaDQUuXLjWVLViwQMWKFZO/v3+K+n///beWL1+u+vXr68svv9SAAQN08OBBVa1a1fRFv3jx4ho1apQkqXPnzpo3b57mzZunKlWqmNq5fPmy6tSpozJlymjSpEmqXr16qv2bPHmycufOrbZt2yoxMVGS9O233+r333/XV199JW9v7zQfKwA8VUYAwDPh2rVrRknGhg0bpqn+vn37jJKMnTp1Mivv37+/UZJx3bp1prL8+fMbJRk3bdpkKrtw4YLR0dHR2K9fP1PZqVOnjJKM48ePN2uzbdu2xvz586fowyeffGK8/5+SiRMnGiUZL168+MB+J+9jzpw5prIyZcoY8+TJY7x8+bKpbP/+/UY7OztjmzZtUuyvQ4cOZm02btzYmDNnzgfu8/7jyJo1q9FoNBrffvttY82aNY1Go9GYmJho9PT0NI4cOTLVc3Dnzh1jYmJiiuNwdHQ0jho1ylS2c+fOFMeWrGrVqkZJxunTp6e6rmrVqmZlv/32m1GS8dNPPzX+/fffRhcXF2OjRo0eeYwAkJHIXADAM+L69euSpGzZsqWp/urVqyVJffv2NSvv16+fJKWYm+Hn56fKlSubXufOnVtFixbV33///dh9/q/kuRorVqxQUlJSmraJiorSvn371K5dO+XIkcNUXqpUKb355pum47zfhx9+aPa6cuXKunz5sukcpsV7772nDRs2KDo6WuvWrVN0dHSqQ6Kke/M07Ozu/ZOZmJioy5cvm4Z87dmzJ837dHR0VPv27dNUt1atWvrggw80atQo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\n"},"metadata":{}},{"name":"stdout","text":"Classification Report:\n precision recall f1-score support\n\n Mild Dementia 1.00 1.00 1.00 989\n Moderate Dementia 1.00 0.80 0.89 93\n Non Demented 1.00 1.00 1.00 13422\nVery mild Dementia 0.99 1.00 1.00 2776\n\n accuracy 1.00 17280\n macro avg 1.00 0.95 0.97 17280\n weighted avg 1.00 1.00 1.00 17280\n\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<Figure size 640x480 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAnIAAAHWCAYAAADzS2TwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPIUlEQVR4nO3deXgNd///8ddJZCERsSUhDbFE7Vvc1L40FUvTUltphdjuqtSScqO1q60tRavVapW2t6KUam11B6WotVFqT+2N2EoIEpL5/eHnfJ0mIfsx+nxcV67L+cxnPvOeM5PJy8ycORbDMAwBAADAdBzsXQAAAAAyhyAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHQJJksVg0ZswY6+t58+bJYrHoxIkTdqvp7/5eI/6ZmjRpoiZNmti7DOCRQJADcsG9UHTvJ0+ePPL19VX37t119uxZe5f3WDlx4oTNe33/z1NPPWXtd/jwYQ0aNEj16tWTq6vrIxda/4liY2M1ePBglS9fXvny5ZObm5sCAwP11ltv6cqVK/YuD3gk5bF3AcA/ybhx41SqVCndunVLv/zyi+bNm6eff/5Z+/fvl6urq73Le6x07txZrVq1smkrWrSo9d/btm3TzJkzVbFiRVWoUEFRUVG5XCHut3PnTrVq1UrXr1/Xyy+/rMDAQEnSrl27NHnyZG3atEk//vijnasEHj0EOSAXtWzZUrVq1ZIk9erVS0WKFNGUKVO0YsUKdezY0c7VPV5q1qypl19+Oc3pzz33nK5cuaL8+fPr3XffNWWQu3XrlpydneXg8OhfXImPj5ebm1uq065cuaK2bdvK0dFRv/76q8qXL28zfcKECZozZ05ulAmYzqP/2w88xho2bChJio6Otmk/dOiQ2rdvr0KFCsnV1VW1atXSihUrUsx/5coVDRo0SP7+/nJxcdETTzyh0NBQXbx4UZKUmJioUaNGKTAwUAUKFJCbm5saNmyoDRs2ZNs6/Pbbb+revbtKly4tV1dX+fj4qEePHrp06ZJNvzFjxshisejYsWPq3r27PD09VaBAAYWFhenGjRs2fRMSEjRo0CAVLVpU+fPn13PPPaczZ85kW82SVKhQIeXPnz9LY7z//vuqVKmS8uXLp4IFC6pWrVpasGCBTZ+zZ8+qZ8+eKl68uFxcXFSqVCn17dtXiYmJ1j5//PGHOnTooEKFCilfvnx66qmntHLlSptxNm7cKIvFooULF2rEiBHy9fVVvnz5FBcXJ0navn27WrRooQIFCihfvnxq3LixtmzZ8tB1uDfuokWL9MYbb8jHx0dubm567rnndPr06RT907Oce9v6wIED6tKliwoWLKgGDRqkWcPHH3+ss2fPatq0aSlCnCR5e3trxIgRac6fkf184cKFCgwMVP78+eXh4aEqVapoxowZ1um3b9/W2LFjFRAQIFdXVxUuXFgNGjTQunXr0lw+YE+ckQPs6N49WQULFrS2/f7776pfv758fX01bNgwubm5afHixWrTpo2WLl2qtm3bSpKuX7+uhg0b6uDBg+rRo4dq1qypixcvasWKFTpz5oyKFCmiuLg4ffrpp+rcubN69+6ta9eu6bPPPlNwcLB27Nih6tWrZ3kd1q1bpz/++ENhYWHy8fHR77//rk8++US///67fvnlF1ksFpv+HTt2VKlSpTRp0iTt2bNHn376qby8vDRlyhRrn169eumrr75Sly5dVK9ePa1fv16tW7fOUF03btywBtp7ChQoICcnp8yv7H3mzJmj/v37q3379howYIBu3bql3377Tdu3b1eXLl0kSX/++adq166tK1euqE+fPipfvrzOnj2rJUuW6MaNG3J2dlZsbKzq1aunGzduqH///ipcuLDmz5+v5557TkuWLLFu73vGjx8vZ2dnDR48WAkJCXJ2dtb69evVsmVLBQYGavTo0XJwcNDnn3+uZs2aafPmzapdu/ZD12fChAmyWCwaOnSozp8/r+nTpysoKEhRUVHKmzevJGV4OR06dFBAQIAmTpwowzDSXPaKFSuUN29etW/fPqObQZLSvZ+vW7dOnTt31tNPP23d3w4ePKgtW7ZowIABku6G0EmTJqlXr16qXbu24uLitGvXLu3Zs0fPPPNMpuoDcpQBIMd9/vnnhiTjf//7n3HhwgXj9OnTxpIlS4yiRYsaLi4uxunTp619n376aaNKlSrGrVu3rG3JyclGvXr1jICAAGvbqFGjDEnGt99+m2J5ycnJhmEYxp07d4yEhASbaX/99Zfh7e1t9OjRw6ZdkjF69OgUNR8/fvyB63bjxo0UbV9//bUhydi0aZO1bfTo0YakFMtt27atUbhwYevrqKgoQ5Lx6quv2vTr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zigPDw81atRIb7/9tm7fvi1fX1/9+OOPOn78eKbHrF69ujp37qwPP/xQV69eVb169RQZGaljx45lud77Xb16Ve+//74kWZ+D9sEHH8jT01Oenp4KDw9/4PzNmzeXj4+P6tevL29vbx08eFAffPCBWrdubb1xf+LEifrxxx/VuHFj9enTRxUqVFBMTIy++eYb/fzzz/L09NSwYcP09ddfq2XLlurfv78KFSqk+fPn6/jx41q6dOlDH/br4OCgTz/9VC1btlSlSpUUFhYmX19fnT17Vhs2bJCHh4e+//77h74fhQoVUoMGDRQWFqbY2FhNnz5dZcuWVe/evbN1OakpWLCgli1bplatWql69eo23+ywZ88eff3116pbt26a86d3P+/Vq5cuX76sZs2a6YknntDJkyf1/vvvq3r16tZ7EitWrKgmTZooMDBQhQoV0q5du7RkyZKH7g+A3djt87LAP8i9R3mk9hiKpKQko0yZMkaZMmWsj0WIjo42QkNDDR8fH8PJycnw9fU1nn32WWPJkiU28166dMkIDw83fH19DWdnZ+OJJ54wunXrZly8eNEwjLuPjJg4caJRsmRJw8XFxahRo4bxww8/GN26dTNKlixpM5Yy+fiRM2fOGG3btjU8PT2NAgUKGB06dDD+/PPPFOPdeyTFhQsXUn1v7l/OzZs3jf79+xuFCxc23NzcjJCQEOP06dMZevzIO++8k65+qf38/b1Jzccff2w0atTIKFy4sOHi4mKUKVPGGDJkiHH16lWbfidPnjRCQ0Otj5opXbq00a9fP5vHZURHRxvt27c3PD09DVdXV6N27drGDz/8YDPOvceEfPPNN6nW8+uvvxovvPCCtZ6SJUsaHTt2NCIjIx+4HvfG/frrr43hw4cbXl5eRt68eY3WrVsbJ0+ezNRy0trWD/Pnn38agwYNMsqVK2e4uroa+fLlMwIDA40JEybYvK9/f/xIevfzJUuWGM2bNze8vLwMZ2dno0SJEsa///1vIyYmxtrnrbfeMmrXrm14enoaefPmNcqXL29MmDDBSExMzNC6ALnFYhiP6B3GAIAct3HjRjVt2lTffPNNph/IC8B+uEcOAADApAhyAAAAJkWQAwAAMCm7BrlNmzYpJCRExYsXl8Vi0fLlyx86z8aNG1WzZk25uLiobNmymjdvXo7XCQCPqyZNmsgwDO6PA0zK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pOjo6GwrDgAAAGnL1Bm5CxcuyMvLK0V7fHy8TbADAABAzslUkKtVq5ZWrlxpfX0vvH366aeqW7du9lQGAACAB8rUpdWJEyeqZcuWOnDggO7cuaMZM2bowIED2rp1q3766afsrhEAAACpyNQZuQYNGmjv3r26c+eOqlSpoh9//FFeXl7atm2bAgMDs7tGAAAApCLDZ+Ru376tf//73xo5cqTmzJmTEzUBAAAgHTJ8Rs7JyUlLly7NiVoAAACQAZm6tNqmTRstX748m0sBAABARmTqww4BAQEaN26ctmzZosDAQLm5udlM79+/f7YUBwAAgLRlKsh99tln8vT01O7du7V7926baRaLhSAHAACQCzIV5I4fP57ddQAAACCDMnWP3P0Mw5BhGNlRCwAAADIg00Huiy++UJUqVZQ3b17lzZtXVatW1ZdffpmdtQEAAOABMnVpddq0aRo5cqTCw8NVv359SdLPP/+sV155RRcvXtSgQYOytUgAAACklKkg9/777+ujjz5SaGiote25555TpUqVNGbMGIIcAABALsjUpdWYmBjVq1cvRXu9evUUExOT5aIAAADwcJkKcmXLltXixYtTtC9atEgBAQFZLgoAAAAPl6lLq2PHjlWnTp20adMm6z1yW7ZsUWRkZKoBDwAAANkvU2fk2rVrp+3bt6tIkSJavny5li9friJFimjHjh1q27ZtdtcIAACAVGTqjJwkBQYG6quvvsrOWgAAAJABmTojt2rVKq1duzZF+9q1a7V69eosFwUAAICHy1SQGzZsmJKSklK0G4ahYcOGZbkoAAAAPFymgtzRo0dVsWLFFO3ly5fXsWPHslwUAAAAHi5TQa5AgQL6448/UrQfO3ZMbm5uWS4KAAAAD5epIPf8889r4MCBio6OtrYdO3ZMr7/+up577rlsKw4AAABpy1SQe/vtt+Xm5qby5curVKlSKlWqlMqXL6/ChQvr3Xffze4aAQAAkIpMPX6kQIEC2rp1q9atW6e9e/cqb968qlatmho2bJjd9QEAACANGTojt23bNv3www+SJIvFoubNm8vLy0vvvvuu2rVrpz59+ighISFHCgUAAICtDAW5cePG6ffff7e+3rdvn3r37q1nnnlGw4YN0/fff69JkyZle5EAAABIKUNBLioqSk8//bT19cKFC1W7dm3NmTNHERERmjlzJt+1CgAAkEsyFOT++usveXt7W1//9NNPatmypfX1v/71L50+fTr7qgMAAECaMhTkvL29dfz4cUlSYmKi9uzZo6eeeso6/dq1a3JycsreCgEAAJCqDAW5Vq1aadiwYdq8ebOGDx+ufPny2XxS9bffflOZMmWyvUgAAACklKHHj4wfP14vvPCCGjduLHd3d82fP1/Ozs7W6XPnzlXz5s2zvUgAAACklKEgV6RIEW3atElXr16Vu7u7HB0dbaZ/8803cnd3z9YCAQAAkLpMPxA4NYUKFcpSMQAAAEi/TH1FFwAAAOyPIAcAAGBSBDkAAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACY1CMR5GbNmiV/f3+5urqqTp062rFjR7rmW7hwoSwWi9q0aZOzBQIAADyC7B7kFi1apIiICI0ePVp79uxRtWrVFBwcrPPnzz9wvhMnTmjw4MFq2LBhLlUKAADwaLF7kJs2bZp69+6tsLAwVaxYUbNnz1a+fPk0d+7cNOdJSkrSSy+9pLFjx6p06dK5WC0AAMCjw65BLjExUbt371ZQUJC1zcHBQUFBQdq2bVua840bN05eXl7q2bNnbpQJAADwSMpjz4VfvHhRSUlJ8vb2tmn39vbWoUOHUp3n559/1meffaaoqKh0LSMhIUEJCQnW13FxcZmuFwAA4FFi90urGXHt2jV17dpVc+bMUZEiRdI1z6RJk1SgQAHrj5+fXw5XCQAAkDvsekauSJEicnR0VGxsrE17bGysfHx8UvSPjo7WiRMnFBISYm1LTk6WJOXJk0eHDx9WmTJlbOYZPny4IiIirK/j4uIIcwAA4LFg1yDn7OyswMBARUZGWh8hkpycrMjISIWHh6foX758ee3bt8+mbcSIEbp27ZpmzJiRakBzcXGRi4tLjtQPAABgT3YNcpIUERGhbt26qVatWqpdu7amT5+u+Ph4hYWFSZJCQ0Pl6+urSZMmydXVVZUrV7aZ39PTU5JStAMAADzu7B7kOnXqpAsXLmjUqFE6d+6cqlevrjVr1lg/AHHq1Ck5OJjqVj4AAIBcYfcgJ0nh4eGpXkqVpI0bNz5w3nnz5mV/QQAAACbAqS4AAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACYFEEOAADApAhyAAAAJkWQAwAAMCmCHAAAgEkR5AAAAEyKIAcAAGBSBDkAAACTIsgBAACY1CMR5GbNmiV/f3+5urqqTp062rFjR5p958yZo4YNG6pgwYIqWLCggoKCHtgfAADgcWX3ILdo0SJFRERo9OjR2rNnj6pVq6bg4GCdP38+1f4bN25U586dtWHDBm3btk1+fn5q3ry5zp49m8uVAwAA2Jfdg9y0adPUu3dvhYWFqWLFipo9e7by5cunuXPnptr/v//9r1599VVVr15d5cuX16effqrk5GRFRkbmcuUAAAD2Zdcgl5iYqN27dysoKMja5uDgoKCgIG3bti1dY9y4cUO3b99WoUKFcqpMAACAR1Ieey784sWLSkpKkre3t027t7e3Dh06lK4xhg4dquLFi9uEwfslJCQoISHB+jouLi7zBQMAADxC7H5pNSsmT56shQsXatmyZXJ1dU21z6RJk1SgQAHrj5+fXy5XCQAAkDPsGuSKFCkiR0dHxcbG2rTHxsbKx8fngfO+++67mjx5sn788UdVrVo1zX7Dhw/X1atXrT+nT5/OltoBAADsza5BztnZWYGBgTYfVLj3wYW6deumOd/bb7+t8ePHa82aNapVq9YDl+Hi4iIPDw+bHwAAgMeBXe+Rk6SIiAh169ZNtWrVUu3atTV9+nTFx8crLCxMkhQaGipfX19NmjRJkjRlyhSNGjVKCxYskL+/v86dOydJcnd3l7u7u93WAwAAILfZPch16tRJFy5c0KhRo3Tu3DlVr15da9assX4A4tSpU3Jw+L8Thx999JESExPVvn17m3FGjx6tMWPG5GbpAAAAdmX3ICdJ4eHhCg8PT3Xaxo0bbV6fOHEi5wsCAAAwAVN/ahUAAOCfjCAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHAABgUgQ5AAAAkyLIAQAAmBRBDgAAwKQIcgAAACZFkAMAADApghwAAIBJEeQAAABMiiAHAABgUo9EkJs1a5b8/f3l6uqqOnXqaMeOHQ/s/80336h8+fJydXVVlSpVtGrVqlyqFAAA4NFh9yC3aNEiRUREaPTo0dqzZ4+qVaum4OBgnT9/PtX+W7duVefOndWzZ0/9+uuvatOmjdq0aaP9+/fncuUAAAD2ZfcgN23aNPXu3VthYWGqWLGiZs+erXz58mnu3Lmp9p8xY4ZatGihIUOGqEKFCho/frxq1qypDz74IJcrBwAAsC+7BrnExETt3r1bQUFB1jYHBwcFBQVp27Ztqc6zbds2m/6SFBwcnGZ/AACAx1Ueey784sWLSkpKkre3t027t7e3Dh06lOo8586dS7X/uXPnUu2fkJCghIQE6+urV69KkuLi4rJSerokJ9zI8WXklDiLYe8SsiYXtm9WmXn/kEy+j7B/5DhT7x8S+0gOY/942PB3xzeMh79Pdg1yuWHSpEkaO3ZsinY/Pz87VGMeBexdQFZNNv0aPPJM/Q6zf+Q407/D7CM5yvTvbi7tH9euXVOBAg9ell2DXJEiReTo6KjY2Fib9tjYWPn4+KQ6j4+PT4b6Dx8+XBEREdbXycnJunz5sgoXLiyLxZLFNXg8xcXFyc/PT6dPn5aHh4e9y8EjiH0ED8L+gQdh/3g4wzB07do1FS9e/KF97RrknJ2dFRgYqMjISLVp00bS3aAVGRmp8PDwVOepW7euIiMjNXDgQGvbunXrVLdu3VT7u7i4yMXFxabN09MzO8p/7Hl4ePBLhgdiH8GDsH/gQdg/HuxhZ+Lusful1YiICHXr1k21atVS7dq1NX36dMXHxyssLEySFBoaKl9fX02aNEmSNGDAADVu3FhTp05V69attXDhQu3atUuffPKJPVcDAAAg19k9yHXq1EkXLlzQqFGjdO7cOVWvXl1r1qyxfqDh1KlTcnD4vw/X1qtXTwsWLNCIESP0xhtvKCAgQMuXL1flypXttQoAAAB2YfcgJ0nh4eFpXkrduHFjirYOHTqoQ4cOOVzVP5eLi4tGjx6d4pI0cA/7CB6E/QMPwv6RvSxGej7bCgAAgEeO3b/ZAQAAAJlDkAMAADApgtwjoEmTJjaPU/H399f06dMfOI/FYtHy5ctztK5H1caNG2WxWHTlyhV7l5KtHtf1MrPu3btbH42Ef6a/H5//ye7/u3PixAlZLBZFRUWl2f+ffkwbM2aMqlevnuPLIcjlgO7du8tiseiVV15JMa1fv36yWCzq3r27te3bb7/V+PHjc6QGi8UiJycneXt765lnntHcuXOVnJycrcvKSakdROvVq6eYmJh0P2MnO2R0mz7qsvMAc28/s1gscnNzU0BAgLp3767du3dny/i5Ia0/SjNmzNC8efNyrY57+9nkyZNt2pcvX54rDzB/nI8b9hQSEqIWLVqkOm3z5s2yWCz67bffcrmqjIuJiVHLli2zdUx/f3/rPpc3b175+/urY8eOWr9+fbYuJ6eldnJl8ODBioyMzPFlE+RyiJ+fnxYuXKibN29a227duqUFCxaoRIkSNn0LFSqk/PnzZ3sNLVq0UExMjE6cOKHVq1eradOmGjBggJ599lnduXMn25eXW5ydneXj45Pr38yRkW1qL4mJiXZZ7ueff66YmBj9/vvvmjVrlq5fv646deroiy++sEs92aVAgQK5/gBxV1dXTZkyRX/99VeuLveex/W4YU89e/bUunXrdObMmRTTPv/8c9WqVUtVq1bN8Li5/fvu4+OTI580HTdunGJiYnT48GF98cUX8vT0VFBQkCZMmJDty8pN7u7uKly4cI4vhyCXQ2rWrCk/Pz99++231rZvv/1WJUqUUI0aNWz6Pux/j0ePHlWjRo3k6uqqihUrat26demqwcXFRT4+PvL19VXNmjX1xhtv6LvvvtPq1attzjJcuXJFvXr1UtGiReXh4aFmzZpp79691un3zt7MnTtXJUqUkLu7u1599VUlJSXp7bfflo+Pj7y8vFL80qV33C+//FL+/v4qUKCAXnzxRV27dk3S3bMDP/30k2bMmGH9H9uJEydSnK6/dOmSOnfuLF9fX+XLl09VqlTR119/na73KCMysk0TEhLUv39/eXl5ydXVVQ0aNNDOnTtt+qxatUrlypVT3rx51bRpU504cSLFMn/++Wc1bNhQefPmlZ+fn/r376/4+HjrdH9/f40fP16hoaHy8PBQnz59JElDhw5VuXLllC9fPpUuXVojR47U7du3JUnz5s3T2LFjtXfvXuv7em9/eNg2S4unp6d8fHzk7++v5s2ba8mSJXrppZcUHh5uE0jSsz5vvfWWQkND5e7urpIlS2rFihW6cOGCnn/+ebm7u6tq1aratWtXht+niRMnqkePHsqfP79KlChh8xDxUqVKSZJq1Kghi8WiJk2aSEp5aXXNmjVq0KCBPD09VbhwYT377LOKjo5+6PuTEUFBQfLx8bE+BD0tS5cuVaVKleTi4iJ/f39NnTrVZvrD1jktj+txQ5L279+vli1byt3dXd7e3uratasuXrxoHTs+Pt667xUrVizFe5pZzz77rIoWLZri7O7169f1zTffqGfPnpIy9/verFmzFI/vunDhgpydndM8G5TZbfOwW3rSc0xLTf78+eXj46MSJUqoUaNG+uSTTzRy5EiNGjVKhw8ftvZ72PZr0qSJXnvtNQ0cOFAFCxaUt7e35syZY/2Sgfz586ts2bJavXq1zfLTM27//v31n//8R4UKFZKPj4/GjBljne7v7y9Jatu2rSwWi/X136987Ny5U88884yKFCmiAgUKqHHjxtqzZ0+63qMHIcjloB49eujzzz+3vp47d671GyvSKzk5WS+88IKcnZ21fft2zZ49W0OHDs10Tc2aNVO1atVswkiHDh10/vx5rV69Wrt371bNmjX19NNP6/Lly9Y+0dHRWr16tdasWaOvv/5an332mVq3bq0zZ87op59+0pQpUzRixAht3749w+MuX75cP/zwg3744Qf99NNP1stKM2bMUN26ddW7d2/FxMQoJiZGfn5+Kdbp1q1bCgwM1MqVK7V//3716dNHXbt21Y4dOzL9PqUlvdv0P//5j5YuXar58+drz549Klu2rIKDg63rfvr0ab3wwgsKCQlRVFSUevXqpWHDhtmMER0drRYtWqhdu3b67bfftGjRIv38888pDtrvvvuuqlWrpl9//VUjR46UdPfAOG/ePB04cEAzZszQnDlz9N5770m6+xDu119/XZUqVbK+r506dZKUvm2WXoMGDdK1a9es//FI7/q89957ql+/vn799Ve1bt1aXbt2VWhoqF5++WXt2bNHZcqUUWhoqO49OSm9406dOlW1atXSr7/+qldffVV9+/a1/pG4t6/873//U0xMjM3vx/3i4+MVERGhXbt2KTIyUg4ODmrbtm22XnZ0dHTUxIkT9f7776d6BkeSdu/erY4dO+rFF1/Uvn37NGbMGI0cOTJFUHjQOmfE43DcuHLlipo1a6YaNWpo165dWrNmjWJjY9WxY0fruEOGDNFPP/2k7777Tj/++KM2btyYLX9o8+TJo9DQUM2bN0/3P/Hrm2++UVJSkjp37pzp3/devXppwYIFSkhIsPb56quv5Ovrq2bNmqVZU2a2zYOk55iWEQMGDJBhGPruu+8kKV3bT5Lmz5+vIkWKaMeOHXrttdfUt29fdejQQfXq1dOePXvUvHlzde3aVTdu3MjwuG5ubtq+fbvefvttjRs3znpsu/ef9HtXJv7+n/Z7rl27pm7duunnn3/WL7/8ooCAALVq1cr6n5BMM5DtunXrZjz//PPG+fPnDRcXF+PEiRPGiRMnDFdXV+PChQvG888/b3Tr1s3av3HjxsaAAQOsr0uWLGm89957hmEYxtq1a408efIYZ8+etU5fvXq1IclYtmzZQ2tITadOnYwKFSoYhmEYmzdvNjw8PIxbt27Z9ClTpozx8ccfG4ZhGKNHjzby5ctnxMXFWacHBwcb/v7+RlJSkrXtySefNCZNmpSlcYcMGWLUqVMnzffGMAxjw4YNhiTjr7/+SnP9W7dubbz++utpTs+ojGzT69evG05OTsZ///tf6/yJiYlG8eLFjbffftswDMMYPny4UbFiRZtlDB061Ga9evbsafTp08emz+bNmw0H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\n"},"metadata":{}},{"execution_count":11,"output_type":"execute_result","data":{"text/plain":"(99.89004629629629, 0.0020771856584913292)"},"metadata":{}}],"execution_count":11},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}