diff --git a/cnnBase.ipynb b/cnnBase.ipynb
index 010e27c8dfc4c4157e8ec3ca812bc8e3da129522..d46ccde1e2381736dc934292c623447f2fad8c17 100644
--- a/cnnBase.ipynb
+++ b/cnnBase.ipynb
@@ -456,392 +456,92 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 34,
+   "execution_count": 35,
    "metadata": {},
    "outputs": [
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "336f68875de74650a9ac2363ce42d612",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.069703).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.069702927102434,  Validation Acc: 0.29, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "1e5e707110aa44be809d24f1c312f2c6",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.077011).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.0770112732623485,  Validation Acc: 0.32, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "170f9b4346b04fd2a079af5f05a7681b",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.064547).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.0645472039567663,  Validation Acc: 0.316, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "fa592c1e5a8a45d0a3e6ee5d0eff0615",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.070623).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.070623255790548,  Validation Acc: 0.32066666666666666, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "1a40d7da439341eda67d25cc6cbe88c6",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.063928).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.063927566751521,  Validation Acc: 0.336, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "c2b54646b199482a85586726e1c2ee83",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.063790).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.063790004304115,  Validation Acc: 0.33, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "1e282cdd9ec74e7f9eb14eec2decda1b",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.061159).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.0611586824376533,  Validation Acc: 0.30266666666666664, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "18147516ca69422296ef21db151d3a64",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.066780).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.06678029324146,  Validation Acc: 0.2906666666666667, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "6e9a5ed90d824ccf889402c1042a16db",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.075776).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.0757758414491696,  Validation Acc: 0.288, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "25e5897da92b49f199396e3081da182e",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "Validation loss decreased (inf --> 2.076347).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.0763469275007855,  Validation Acc: 0.29533333333333334, Learning Rate: 0.001\n",
+      "Validation loss decreased (inf --> 2.069341).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.069341246117937,  Validation Acc: 0.326, Learning Rate: 0.001\n",
       "Finished Training\n",
-      "Generation 1/50\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "65e585a883df4073bf0a173c55843d5c",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.062321).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.0623205291463975,  Validation Acc: 0.326, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "5c2ab4e0adf64345952c34bf530b7f44",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.110578).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.1105781742867005,  Validation Acc: 0.2986666666666667, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "f331508849604a83869829e87e086495",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.072264).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.072263854615232,  Validation Acc: 0.29533333333333334, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "77aee9a861c64919bda68619362f79e3",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.083575).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.083575045808833,  Validation Acc: 0.288, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "ab3bfc17e5bf4cb58628fb40f5adf590",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.093737).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.093737287724272,  Validation Acc: 0.31, Learning Rate: 0.001\n",
-      "Finished Training\n"
-     ]
-    },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "39df80bd762c42ef84f9f3d2fd5d92dc",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Validation loss decreased (inf --> 2.081190).  Saving model ...\n",
-      "Epoch 1/ 1, Validation Loss: 2.081189992580008,  Validation Acc: 0.32866666666666666, Learning Rate: 0.001\n",
+      "Validation loss decreased (inf --> 2.081061).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.081061193283568,  Validation Acc: 0.3, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.077981).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.077980510731961,  Validation Acc: 0.30933333333333335, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.057297).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.057297257666892,  Validation Acc: 0.29133333333333333, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.058545).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.05854465352728,  Validation Acc: 0.30266666666666664, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.058182).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.05818188444097,  Validation Acc: 0.2866666666666667, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.077766).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.07776573110134,  Validation Acc: 0.298, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.057639).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0576388835906982,  Validation Acc: 0.29533333333333334, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.081729).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0817288033505705,  Validation Acc: 0.30666666666666664, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.092310).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0923096575635545,  Validation Acc: 0.31733333333333336, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Generation 1/50\n",
+      "Validation loss decreased (inf --> 2.078669).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0786693324433996,  Validation Acc: 0.332, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.064316).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.064316229617342,  Validation Acc: 0.2926666666666667, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.081282).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.081282280861063,  Validation Acc: 0.312, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.080946).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0809461157372655,  Validation Acc: 0.30466666666666664, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.072785).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.072785425693431,  Validation Acc: 0.29733333333333334, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.085408).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.085408312209109,  Validation Acc: 0.2813333333333333, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.073224).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0732235249052655,  Validation Acc: 0.288, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.054482).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.054482099857736,  Validation Acc: 0.32066666666666666, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.090219).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0902189295342626,  Validation Acc: 0.29533333333333334, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.097155).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0971552590106395,  Validation Acc: 0.312, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Generation 2/50\n",
+      "Validation loss decreased (inf --> 2.092001).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0920009359400322,  Validation Acc: 0.2926666666666667, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.073072).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.073072228025883,  Validation Acc: 0.28933333333333333, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.114132).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.114131823499152,  Validation Acc: 0.264, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.084767).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.0847667886855756,  Validation Acc: 0.33666666666666667, Learning Rate: 0.001\n",
+      "Finished Training\n",
+      "Validation loss decreased (inf --> 2.077225).  Saving model ...\n",
+      "Epoch 1/ 1, Validation Loss: 2.077225426410107,  Validation Acc: 0.30533333333333335, Learning Rate: 0.001\n",
       "Finished Training\n"
      ]
     },
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "3eaf6affff2e49c7919dfbe4a3ee594a",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "  0%|          | 0/110 [00:00<?, ?it/s]"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
     {
      "ename": "KeyboardInterrupt",
      "evalue": "",
@@ -852,9 +552,7 @@
       "\u001b[1;32mc:\\Users\\Main\\Documents\\com3013-comp-intelligence\\cnnBase.ipynb Cell 11\u001b[0m line \u001b[0;36m1\n\u001b[0;32m    <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=135'>136</a>\u001b[0m     \u001b[39m# Print the best individual (weights)\u001b[39;00m\n\u001b[0;32m    <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=136'>137</a>\u001b[0m     \u001b[39mprint\u001b[39m(\u001b[39m\"\u001b[39m\u001b[39mBest Individual (Weights):\u001b[39m\u001b[39m\"\u001b[39m, best_ind)\n\u001b[1;32m--> <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=138'>139</a>\u001b[0m DEAPStuff()\n",
       "\u001b[1;32mc:\\Users\\Main\\Documents\\com3013-comp-intelligence\\cnnBase.ipynb Cell 11\u001b[0m line \u001b[0;36m1\n\u001b[0;32m    <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=120'>121</a>\u001b[0m         \u001b[39mdel\u001b[39;00m mutant\u001b[39m.\u001b[39mfitness\u001b[39m.\u001b[39mvalues\n\u001b[0;32m    <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=122'>123</a>\u001b[0m \u001b[39m# Evaluate the offspring\u001b[39;00m\n\u001b[1;32m--> <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=123'>124</a>\u001b[0m fitnesses \u001b[39m=\u001b[39m \u001b[39mlist\u001b[39;49m(\u001b[39mmap\u001b[39;49m(toolbox\u001b[39m.\u001b[39;49mevaluate, offspring))\n\u001b[0;32m    <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=124'>125</a>\u001b[0m \u001b[39mfor\u001b[39;00m ind, fit \u001b[39min\u001b[39;00m \u001b[39mzip\u001b[39m(offspring, fitnesses):\n\u001b[0;32m    <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=125'>126</a>\u001b[0m     ind\u001b[39m.\u001b[39mfitness\u001b[39m.\u001b[39mvalues \u001b[39m=\u001b[39m fit\n",
       "\u001b[1;32mc:\\Users\\Main\\Documents\\com3013-comp-intelligence\\cnnBase.ipynb Cell 11\u001b[0m line \u001b[0;36m7\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=66'>67</a>\u001b[0m scheduler \u001b[39m=\u001b[39m optim\u001b[39m.\u001b[39mlr_scheduler\u001b[39m.\u001b[39mReduceLROnPlateau(optimizer, mode\u001b[39m=\u001b[39m\u001b[39m'\u001b[39m\u001b[39mmin\u001b[39m\u001b[39m'\u001b[39m, patience\u001b[39m=\u001b[39m\u001b[39m2\u001b[39m, factor\u001b[39m=\u001b[39m\u001b[39m0.1\u001b[39m, verbose\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=68'>69</a>\u001b[0m \u001b[39m# Train the model and return the validation loss\u001b[39;00m\n\u001b[1;32m---> <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=69'>70</a>\u001b[0m fitness \u001b[39m=\u001b[39m train_model_for_fitness(eval_model, train_loader, val_loader, criterion, optimizer, scheduler, num_epochs\u001b[39m=\u001b[39;49m\u001b[39m1\u001b[39;49m)\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=71'>72</a>\u001b[0m \u001b[39mreturn\u001b[39;00m (fitness,)\n",
-      "\u001b[1;32mc:\\Users\\Main\\Documents\\com3013-comp-intelligence\\cnnBase.ipynb Cell 11\u001b[0m line \u001b[0;36m1\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=9'>10</a>\u001b[0m model\u001b[39m.\u001b[39mtrain()\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=10'>11</a>\u001b[0m running_loss \u001b[39m=\u001b[39m \u001b[39m0.0\u001b[39m\n\u001b[1;32m---> <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=12'>13</a>\u001b[0m \u001b[39mfor\u001b[39;00m inputs, labels \u001b[39min\u001b[39;00m tqdm(train_loader):\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=13'>14</a>\u001b[0m     inputs, labels \u001b[39m=\u001b[39m inputs\u001b[39m.\u001b[39mto(device), labels\u001b[39m.\u001b[39mto(device)\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=14'>15</a>\u001b[0m     optimizer\u001b[39m.\u001b[39mzero_grad()\n",
-      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\tqdm\\notebook.py:249\u001b[0m, in \u001b[0;36mtqdm_notebook.__iter__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    247\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m    248\u001b[0m     it \u001b[39m=\u001b[39m \u001b[39msuper\u001b[39m(tqdm_notebook, \u001b[39mself\u001b[39m)\u001b[39m.\u001b[39m\u001b[39m__iter__\u001b[39m()\n\u001b[1;32m--> 249\u001b[0m     \u001b[39mfor\u001b[39;00m obj \u001b[39min\u001b[39;00m it:\n\u001b[0;32m    250\u001b[0m         \u001b[39m# return super(tqdm...) will not catch exception\u001b[39;00m\n\u001b[0;32m    251\u001b[0m         \u001b[39myield\u001b[39;00m obj\n\u001b[0;32m    252\u001b[0m \u001b[39m# NB: except ... [ as ...] breaks IPython async KeyboardInterrupt\u001b[39;00m\n",
-      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\tqdm\\std.py:1182\u001b[0m, in \u001b[0;36mtqdm.__iter__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m   1179\u001b[0m time \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_time\n\u001b[0;32m   1181\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[1;32m-> 1182\u001b[0m     \u001b[39mfor\u001b[39;00m obj \u001b[39min\u001b[39;00m iterable:\n\u001b[0;32m   1183\u001b[0m         \u001b[39myield\u001b[39;00m obj\n\u001b[0;32m   1184\u001b[0m         \u001b[39m# Update and possibly print the progressbar.\u001b[39;00m\n\u001b[0;32m   1185\u001b[0m         \u001b[39m# Note: does not call self.update(1) for speed optimisation.\u001b[39;00m\n",
+      "\u001b[1;32mc:\\Users\\Main\\Documents\\com3013-comp-intelligence\\cnnBase.ipynb Cell 11\u001b[0m line \u001b[0;36m1\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=9'>10</a>\u001b[0m model\u001b[39m.\u001b[39mtrain()\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=10'>11</a>\u001b[0m running_loss \u001b[39m=\u001b[39m \u001b[39m0.0\u001b[39m\n\u001b[1;32m---> <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=12'>13</a>\u001b[0m \u001b[39mfor\u001b[39;00m inputs, labels \u001b[39min\u001b[39;00m (train_loader):\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=13'>14</a>\u001b[0m     inputs, labels \u001b[39m=\u001b[39m inputs\u001b[39m.\u001b[39mto(device), labels\u001b[39m.\u001b[39mto(device)\n\u001b[0;32m     <a href='vscode-notebook-cell:/c%3A/Users/Main/Documents/com3013-comp-intelligence/cnnBase.ipynb#X13sZmlsZQ%3D%3D?line=14'>15</a>\u001b[0m     optimizer\u001b[39m.\u001b[39mzero_grad()\n",
       "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torch\\utils\\data\\dataloader.py:630\u001b[0m, in \u001b[0;36m_BaseDataLoaderIter.__next__\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    627\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_sampler_iter \u001b[39mis\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[0;32m    628\u001b[0m     \u001b[39m# TODO(https://github.com/pytorch/pytorch/issues/76750)\u001b[39;00m\n\u001b[0;32m    629\u001b[0m     \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_reset()  \u001b[39m# type: ignore[call-arg]\u001b[39;00m\n\u001b[1;32m--> 630\u001b[0m data \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_next_data()\n\u001b[0;32m    631\u001b[0m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_num_yielded \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m \u001b[39m1\u001b[39m\n\u001b[0;32m    632\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_dataset_kind \u001b[39m==\u001b[39m _DatasetKind\u001b[39m.\u001b[39mIterable \u001b[39mand\u001b[39;00m \\\n\u001b[0;32m    633\u001b[0m         \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_IterableDataset_len_called \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m \u001b[39mand\u001b[39;00m \\\n\u001b[0;32m    634\u001b[0m         \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_num_yielded \u001b[39m>\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_IterableDataset_len_called:\n",
       "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torch\\utils\\data\\dataloader.py:674\u001b[0m, in \u001b[0;36m_SingleProcessDataLoaderIter._next_data\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m    672\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m_next_data\u001b[39m(\u001b[39mself\u001b[39m):\n\u001b[0;32m    673\u001b[0m     index \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_next_index()  \u001b[39m# may raise StopIteration\u001b[39;00m\n\u001b[1;32m--> 674\u001b[0m     data \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_dataset_fetcher\u001b[39m.\u001b[39;49mfetch(index)  \u001b[39m# may raise StopIteration\u001b[39;00m\n\u001b[0;32m    675\u001b[0m     \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_pin_memory:\n\u001b[0;32m    676\u001b[0m         data \u001b[39m=\u001b[39m _utils\u001b[39m.\u001b[39mpin_memory\u001b[39m.\u001b[39mpin_memory(data, \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_pin_memory_device)\n",
       "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torch\\utils\\data\\_utils\\fetch.py:49\u001b[0m, in \u001b[0;36m_MapDatasetFetcher.fetch\u001b[1;34m(self, possibly_batched_index)\u001b[0m\n\u001b[0;32m     47\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mauto_collation:\n\u001b[0;32m     48\u001b[0m     \u001b[39mif\u001b[39;00m \u001b[39mhasattr\u001b[39m(\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mdataset, \u001b[39m\"\u001b[39m\u001b[39m__getitems__\u001b[39m\u001b[39m\"\u001b[39m) \u001b[39mand\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mdataset\u001b[39m.\u001b[39m__getitems__:\n\u001b[1;32m---> 49\u001b[0m         data \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mdataset\u001b[39m.\u001b[39;49m__getitems__(possibly_batched_index)\n\u001b[0;32m     50\u001b[0m     \u001b[39melse\u001b[39;00m:\n\u001b[0;32m     51\u001b[0m         data \u001b[39m=\u001b[39m [\u001b[39mself\u001b[39m\u001b[39m.\u001b[39mdataset[idx] \u001b[39mfor\u001b[39;00m idx \u001b[39min\u001b[39;00m possibly_batched_index]\n",
@@ -867,10 +565,12 @@
       "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torchvision\\transforms\\v2\\_container.py:53\u001b[0m, in \u001b[0;36mCompose.forward\u001b[1;34m(self, *inputs)\u001b[0m\n\u001b[0;32m     51\u001b[0m needs_unpacking \u001b[39m=\u001b[39m \u001b[39mlen\u001b[39m(inputs) \u001b[39m>\u001b[39m \u001b[39m1\u001b[39m\n\u001b[0;32m     52\u001b[0m \u001b[39mfor\u001b[39;00m transform \u001b[39min\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mtransforms:\n\u001b[1;32m---> 53\u001b[0m     outputs \u001b[39m=\u001b[39m transform(\u001b[39m*\u001b[39;49minputs)\n\u001b[0;32m     54\u001b[0m     inputs \u001b[39m=\u001b[39m outputs \u001b[39mif\u001b[39;00m needs_unpacking \u001b[39melse\u001b[39;00m (outputs,)\n\u001b[0;32m     55\u001b[0m \u001b[39mreturn\u001b[39;00m outputs\n",
       "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1518\u001b[0m, in \u001b[0;36mModule._wrapped_call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m   1516\u001b[0m     \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_compiled_call_impl(\u001b[39m*\u001b[39margs, \u001b[39m*\u001b[39m\u001b[39m*\u001b[39mkwargs)  \u001b[39m# type: ignore[misc]\u001b[39;00m\n\u001b[0;32m   1517\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[1;32m-> 1518\u001b[0m     \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_call_impl(\u001b[39m*\u001b[39;49margs, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n",
       "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torch\\nn\\modules\\module.py:1527\u001b[0m, in \u001b[0;36mModule._call_impl\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m   1522\u001b[0m \u001b[39m# If we don't have any hooks, we want to skip the rest of the logic in\u001b[39;00m\n\u001b[0;32m   1523\u001b[0m \u001b[39m# this function, and just call forward.\u001b[39;00m\n\u001b[0;32m   1524\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m (\u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_backward_hooks \u001b[39mor\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_backward_pre_hooks \u001b[39mor\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_forward_hooks \u001b[39mor\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_forward_pre_hooks\n\u001b[0;32m   1525\u001b[0m         \u001b[39mor\u001b[39;00m _global_backward_pre_hooks \u001b[39mor\u001b[39;00m _global_backward_hooks\n\u001b[0;32m   1526\u001b[0m         \u001b[39mor\u001b[39;00m _global_forward_hooks \u001b[39mor\u001b[39;00m _global_forward_pre_hooks):\n\u001b[1;32m-> 1527\u001b[0m     \u001b[39mreturn\u001b[39;00m forward_call(\u001b[39m*\u001b[39;49margs, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n\u001b[0;32m   1529\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m   1530\u001b[0m     result \u001b[39m=\u001b[39m \u001b[39mNone\u001b[39;00m\n",
-      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torchvision\\transforms\\v2\\_transform.py:50\u001b[0m, in \u001b[0;36mTransform.forward\u001b[1;34m(self, *inputs)\u001b[0m\n\u001b[0;32m     45\u001b[0m needs_transform_list \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_needs_transform_list(flat_inputs)\n\u001b[0;32m     46\u001b[0m params \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_get_params(\n\u001b[0;32m     47\u001b[0m     [inpt \u001b[39mfor\u001b[39;00m (inpt, needs_transform) \u001b[39min\u001b[39;00m \u001b[39mzip\u001b[39m(flat_inputs, needs_transform_list) \u001b[39mif\u001b[39;00m needs_transform]\n\u001b[0;32m     48\u001b[0m )\n\u001b[1;32m---> 50\u001b[0m flat_outputs \u001b[39m=\u001b[39m [\n\u001b[0;32m     51\u001b[0m     \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_transform(inpt, params) \u001b[39mif\u001b[39;49;00m needs_transform \u001b[39melse\u001b[39;49;00m inpt\n\u001b[0;32m     52\u001b[0m     \u001b[39mfor\u001b[39;49;00m (inpt, needs_transform) \u001b[39min\u001b[39;49;00m \u001b[39mzip\u001b[39;49m(flat_inputs, needs_transform_list)\n\u001b[0;32m     53\u001b[0m ]\n\u001b[0;32m     55\u001b[0m \u001b[39mreturn\u001b[39;00m tree_unflatten(flat_outputs, spec)\n",
-      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torchvision\\transforms\\v2\\_transform.py:51\u001b[0m, in \u001b[0;36m<listcomp>\u001b[1;34m(.0)\u001b[0m\n\u001b[0;32m     45\u001b[0m needs_transform_list \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_needs_transform_list(flat_inputs)\n\u001b[0;32m     46\u001b[0m params \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39m_get_params(\n\u001b[0;32m     47\u001b[0m     [inpt \u001b[39mfor\u001b[39;00m (inpt, needs_transform) \u001b[39min\u001b[39;00m \u001b[39mzip\u001b[39m(flat_inputs, needs_transform_list) \u001b[39mif\u001b[39;00m needs_transform]\n\u001b[0;32m     48\u001b[0m )\n\u001b[0;32m     50\u001b[0m flat_outputs \u001b[39m=\u001b[39m [\n\u001b[1;32m---> 51\u001b[0m     \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_transform(inpt, params) \u001b[39mif\u001b[39;00m needs_transform \u001b[39melse\u001b[39;00m inpt\n\u001b[0;32m     52\u001b[0m     \u001b[39mfor\u001b[39;00m (inpt, needs_transform) \u001b[39min\u001b[39;00m \u001b[39mzip\u001b[39m(flat_inputs, needs_transform_list)\n\u001b[0;32m     53\u001b[0m ]\n\u001b[0;32m     55\u001b[0m \u001b[39mreturn\u001b[39;00m tree_unflatten(flat_outputs, spec)\n",
-      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torchvision\\transforms\\v2\\_deprecated.py:50\u001b[0m, in \u001b[0;36mToTensor._transform\u001b[1;34m(self, inpt, params)\u001b[0m\n\u001b[0;32m     49\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39m_transform\u001b[39m(\u001b[39mself\u001b[39m, inpt: Union[PIL\u001b[39m.\u001b[39mImage\u001b[39m.\u001b[39mImage, np\u001b[39m.\u001b[39mndarray], params: Dict[\u001b[39mstr\u001b[39m, Any]) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m torch\u001b[39m.\u001b[39mTensor:\n\u001b[1;32m---> 50\u001b[0m     \u001b[39mreturn\u001b[39;00m _F\u001b[39m.\u001b[39;49mto_tensor(inpt)\n",
-      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torchvision\\transforms\\functional.py:170\u001b[0m, in \u001b[0;36mto_tensor\u001b[1;34m(pic)\u001b[0m\n\u001b[0;32m    168\u001b[0m \u001b[39mif\u001b[39;00m pic\u001b[39m.\u001b[39mmode \u001b[39m==\u001b[39m \u001b[39m\"\u001b[39m\u001b[39m1\u001b[39m\u001b[39m\"\u001b[39m:\n\u001b[0;32m    169\u001b[0m     img \u001b[39m=\u001b[39m \u001b[39m255\u001b[39m \u001b[39m*\u001b[39m img\n\u001b[1;32m--> 170\u001b[0m img \u001b[39m=\u001b[39m img\u001b[39m.\u001b[39;49mview(pic\u001b[39m.\u001b[39;49msize[\u001b[39m1\u001b[39;49m], pic\u001b[39m.\u001b[39;49msize[\u001b[39m0\u001b[39;49m], F_pil\u001b[39m.\u001b[39;49mget_image_num_channels(pic))\n\u001b[0;32m    171\u001b[0m \u001b[39m# put it from HWC to CHW format\u001b[39;00m\n\u001b[0;32m    172\u001b[0m img \u001b[39m=\u001b[39m img\u001b[39m.\u001b[39mpermute((\u001b[39m2\u001b[39m, \u001b[39m0\u001b[39m, \u001b[39m1\u001b[39m))\u001b[39m.\u001b[39mcontiguous()\n",
+      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torchvision\\transforms\\transforms.py:676\u001b[0m, in \u001b[0;36mRandomCrop.forward\u001b[1;34m(self, img)\u001b[0m\n\u001b[0;32m    668\u001b[0m \u001b[39m\u001b[39m\u001b[39m\"\"\"\u001b[39;00m\n\u001b[0;32m    669\u001b[0m \u001b[39mArgs:\u001b[39;00m\n\u001b[0;32m    670\u001b[0m \u001b[39m    img (PIL Image or Tensor): Image to be cropped.\u001b[39;00m\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m    673\u001b[0m \u001b[39m    PIL Image or Tensor: Cropped image.\u001b[39;00m\n\u001b[0;32m    674\u001b[0m \u001b[39m\"\"\"\u001b[39;00m\n\u001b[0;32m    675\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mpadding \u001b[39mis\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39mNone\u001b[39;00m:\n\u001b[1;32m--> 676\u001b[0m     img \u001b[39m=\u001b[39m F\u001b[39m.\u001b[39;49mpad(img, \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mpadding, \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mfill, \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mpadding_mode)\n\u001b[0;32m    678\u001b[0m _, height, width \u001b[39m=\u001b[39m F\u001b[39m.\u001b[39mget_dimensions(img)\n\u001b[0;32m    679\u001b[0m \u001b[39m# pad the width if needed\u001b[39;00m\n",
+      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torchvision\\transforms\\functional.py:539\u001b[0m, in \u001b[0;36mpad\u001b[1;34m(img, padding, fill, padding_mode)\u001b[0m\n\u001b[0;32m    537\u001b[0m     _log_api_usage_once(pad)\n\u001b[0;32m    538\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39misinstance\u001b[39m(img, torch\u001b[39m.\u001b[39mTensor):\n\u001b[1;32m--> 539\u001b[0m     \u001b[39mreturn\u001b[39;00m F_pil\u001b[39m.\u001b[39;49mpad(img, padding\u001b[39m=\u001b[39;49mpadding, fill\u001b[39m=\u001b[39;49mfill, padding_mode\u001b[39m=\u001b[39;49mpadding_mode)\n\u001b[0;32m    541\u001b[0m \u001b[39mreturn\u001b[39;00m F_t\u001b[39m.\u001b[39mpad(img, padding\u001b[39m=\u001b[39mpadding, fill\u001b[39m=\u001b[39mfill, padding_mode\u001b[39m=\u001b[39mpadding_mode)\n",
+      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\torchvision\\transforms\\_functional_pil.py:215\u001b[0m, in \u001b[0;36mpad\u001b[1;34m(img, padding, fill, padding_mode)\u001b[0m\n\u001b[0;32m    213\u001b[0m \u001b[39m# RGB image\u001b[39;00m\n\u001b[0;32m    214\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mlen\u001b[39m(img\u001b[39m.\u001b[39mshape) \u001b[39m==\u001b[39m \u001b[39m3\u001b[39m:\n\u001b[1;32m--> 215\u001b[0m     img \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39;49mpad(img, ((pad_top, pad_bottom), (pad_left, pad_right), (\u001b[39m0\u001b[39;49m, \u001b[39m0\u001b[39;49m)), padding_mode)\n\u001b[0;32m    216\u001b[0m \u001b[39m# Grayscale image\u001b[39;00m\n\u001b[0;32m    217\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mlen\u001b[39m(img\u001b[39m.\u001b[39mshape) \u001b[39m==\u001b[39m \u001b[39m2\u001b[39m:\n",
+      "File \u001b[1;32m<__array_function__ internals>:200\u001b[0m, in \u001b[0;36mpad\u001b[1;34m(*args, **kwargs)\u001b[0m\n",
+      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\numpy\\lib\\arraypad.py:862\u001b[0m, in \u001b[0;36mpad\u001b[1;34m(array, pad_width, mode, **kwargs)\u001b[0m\n\u001b[0;32m    857\u001b[0m         roi \u001b[39m=\u001b[39m _view_roi(padded, original_area_slice, axis)\n\u001b[0;32m    858\u001b[0m         \u001b[39mwhile\u001b[39;00m left_index \u001b[39m>\u001b[39m \u001b[39m0\u001b[39m \u001b[39mor\u001b[39;00m right_index \u001b[39m>\u001b[39m \u001b[39m0\u001b[39m:\n\u001b[0;32m    859\u001b[0m             \u001b[39m# Iteratively pad until dimension is filled with reflected\u001b[39;00m\n\u001b[0;32m    860\u001b[0m             \u001b[39m# values. This is necessary if the pad area is larger than\u001b[39;00m\n\u001b[0;32m    861\u001b[0m             \u001b[39m# the length of the original values in the current dimension.\u001b[39;00m\n\u001b[1;32m--> 862\u001b[0m             left_index, right_index \u001b[39m=\u001b[39m _set_reflect_both(\n\u001b[0;32m    863\u001b[0m                 roi, axis, (left_index, right_index),\n\u001b[0;32m    864\u001b[0m                 method, include_edge\n\u001b[0;32m    865\u001b[0m             )\n\u001b[0;32m    867\u001b[0m \u001b[39melif\u001b[39;00m mode \u001b[39m==\u001b[39m \u001b[39m\"\u001b[39m\u001b[39mwrap\u001b[39m\u001b[39m\"\u001b[39m:\n\u001b[0;32m    868\u001b[0m     \u001b[39mfor\u001b[39;00m axis, (left_index, right_index) \u001b[39min\u001b[39;00m \u001b[39mzip\u001b[39m(axes, pad_width):\n",
+      "File \u001b[1;32mc:\\Users\\Main\\anaconda3\\envs\\PyTorch\\Lib\\site-packages\\numpy\\lib\\arraypad.py:357\u001b[0m, in \u001b[0;36m_set_reflect_both\u001b[1;34m(padded, axis, width_pair, method, include_edge)\u001b[0m\n\u001b[0;32m    352\u001b[0m     left_pad \u001b[39m-\u001b[39m\u001b[39m=\u001b[39m chunk_length\n\u001b[0;32m    354\u001b[0m \u001b[39mif\u001b[39;00m right_pad \u001b[39m>\u001b[39m \u001b[39m0\u001b[39m:\n\u001b[0;32m    355\u001b[0m     \u001b[39m# Pad with reflected values on right side:\u001b[39;00m\n\u001b[0;32m    356\u001b[0m     \u001b[39m# First limit chunk size which can't be larger than pad area\u001b[39;00m\n\u001b[1;32m--> 357\u001b[0m     chunk_length \u001b[39m=\u001b[39m \u001b[39mmin\u001b[39;49m(old_length, right_pad)\n\u001b[0;32m    358\u001b[0m     \u001b[39m# Slice right to left, start on or next to edge, stop relative to start\u001b[39;00m\n\u001b[0;32m    359\u001b[0m     start \u001b[39m=\u001b[39m \u001b[39m-\u001b[39mright_pad \u001b[39m+\u001b[39m edge_offset \u001b[39m-\u001b[39m \u001b[39m2\u001b[39m\n",
       "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
      ]
     }
@@ -910,7 +610,7 @@
     "            print(\"Early stopping\")\n",
     "            break\n",
     "\n",
-    "        print(f'Epoch {epoch + 1}/ {num_epochs}, Validation Loss: {val_loss},  Validation Acc: {val_acc}, Learning Rate: {optimizer.param_groups[0][\"lr\"]}')\n",
+    "        #print(f'Epoch {epoch + 1}/ {num_epochs}, Validation Loss: {val_loss},  Validation Acc: {val_acc}, Learning Rate: {optimizer.param_groups[0][\"lr\"]}')\n",
     "\n",
     "    print('Finished Training')\n",
     "\n",
@@ -1005,7 +705,7 @@
     "\n",
     "        # Replace the old population by the offspring\n",
     "        population[:] = offspring\n",
-    "\n",
+    "        print(\"best: {best}\".format(best=tools.selBest(population, 1)[0]))\n",
     "    # Get the best individual\n",
     "    best_ind = tools.selBest(population, 1)[0]\n",
     "\n",