From f1001c4f1e68bf972875a150b15cdda29b9fc7db Mon Sep 17 00:00:00 2001 From: Jesse Wood Date: Thu, 22 Feb 2024 17:43:48 +1300 Subject: [PATCH] Created using Colaboratory --- .../RO1_SO1_Identification_Species_CNN.ipynb | 227 ++++++------------ 1 file changed, 73 insertions(+), 154 deletions(-) diff --git a/code/identification/species/RO1_SO1_Identification_Species_CNN.ipynb b/code/identification/species/RO1_SO1_Identification_Species_CNN.ipynb index a6d2c5cc..a4e21f05 100644 --- a/code/identification/species/RO1_SO1_Identification_Species_CNN.ipynb +++ b/code/identification/species/RO1_SO1_Identification_Species_CNN.ipynb @@ -5,7 +5,7 @@ "colab": { "provenance": [], "gpuType": "T4", - "authorship_tag": "ABX9TyOwS/wXbmcPwR12kKid0j4j", + "authorship_tag": "ABX9TyOuGuMQ4VUYBw+nz9tzI2IA", "include_colab_link": true }, "kernelspec": { @@ -60,7 +60,7 @@ "base_uri": "https://localhost:8080/" }, "id": "9s9dsHzmSwH7", - "outputId": "1784496c-e94b-4c49-abda-073458d433e2" + "outputId": "6d812b2f-e936-4de8-a5f6-61892aa219d9" }, "outputs": [ { @@ -244,7 +244,7 @@ "# print(f\"[DEBUG] train_split, val_split, test_split: ({train_split},{val_split},{test_split})\")\n", "\n", "# Step 2: Split your dataset into training, validation, and testing sets\n", - "X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=(1-train_split))#, random_state=42)\n", + "X_train, X_temp, y_train, y_temp = train_test_split(X, y, stratify=y, test_size=(1-train_split))#, random_state=42)\n", "X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=val_split)#, random_state=42)\n", "# X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=(1-train_split), random_state=42)\n", "# X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=val_split, random_state=42)\n", @@ -274,9 +274,9 @@ "base_uri": "https://localhost:8080/" }, "id": "8ZBX4pTprxQN", - "outputId": "ad3c9a0f-a25e-477a-8e3f-e19d67fe28bd" + "outputId": "49a39649-0bf2-4496-8fcd-18effe976513" }, - "execution_count": 4, + "execution_count": 30, "outputs": [ { "output_type": "stream", @@ -284,14 +284,6 @@ "text": [ "[INFO] Reading the dataset.\n" ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - ":11: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:261.)\n", - " self.labels = torch.tensor([np.array(ys) for ys in labels], dtype=torch.float32)\n" - ] } ] }, @@ -453,13 +445,6 @@ "print(\"[INFO] Training the network\")\n", "startTime = time.time()\n", "\n", - "def pad_smaller_batch(batch, batch_size):\n", - " # Pad smaller batches with zeros to match the expected batch size\n", - "\n", - " if len(batch[0]) < batch_size:\n", - " batch = [F.pad(tensor, (0, 0, 0, batch_size - tensor.size(0))) for tensor in batch]\n", - " return batch\n", - "\n", "# Training the CNN model.\n", "for e in range(0, epochs):\n", " # Puts the model in train mode.\n", @@ -553,9 +538,9 @@ "height": 1000 }, "id": "yFhnqGlot9ki", - "outputId": "4b042c0b-3304-416b-c00e-961e9ff8c631" + "outputId": "def79145-f34b-47b9-9de1-cdcc190ed38d" }, - "execution_count": 14, + "execution_count": 31, "outputs": [ { "output_type": "stream", @@ -565,178 +550,103 @@ "[INFO] Initializing the LeNet model\n", "[INFO] Training the network\n", "[INFO] EPOCH: 1/2000\n", - "Train loss: 0.921106, Train accuracy: 0.6684\n", - "Val loss: 0.687422, Val accuracy: 0.6087\n", + "Train loss: 0.910916, Train accuracy: 0.7059\n", + "Val loss: 0.685646, Val accuracy: 0.4783\n", "\n", "[INFO] EPOCH: 51/2000\n", - "Train loss: 0.223644, Train accuracy: 1.0000\n", - "Val loss: 0.353584, Val accuracy: 0.9565\n", + "Train loss: 0.210378, Train accuracy: 1.0000\n", + "Val loss: 0.321720, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 101/2000\n", - "Train loss: 0.203281, Train accuracy: 1.0000\n", - "Val loss: 0.484076, Val accuracy: 0.9565\n", + "Train loss: 0.195702, Train accuracy: 1.0000\n", + "Val loss: 0.387193, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 151/2000\n", - "Train loss: 0.199712, Train accuracy: 1.0000\n", - "Val loss: 0.456566, Val accuracy: 0.9565\n", + "Train loss: 0.198310, Train accuracy: 1.0000\n", + "Val loss: 0.382929, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 201/2000\n", - "Train loss: 0.185524, Train accuracy: 1.0000\n", - "Val loss: 0.391818, Val accuracy: 0.9565\n", + "Train loss: 0.178228, Train accuracy: 1.0000\n", + "Val loss: 0.417814, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 251/2000\n", - "Train loss: 0.184725, Train accuracy: 1.0000\n", - "Val loss: 0.383067, Val accuracy: 0.9565\n", + "Train loss: 0.174305, Train accuracy: 1.0000\n", + "Val loss: 0.389420, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 301/2000\n", - "Train loss: 0.170666, Train accuracy: 1.0000\n", - "Val loss: 0.363739, Val accuracy: 0.9565\n", + "Train loss: 0.170047, Train accuracy: 1.0000\n", + "Val loss: 0.403455, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 351/2000\n", - "Train loss: 0.172589, Train accuracy: 1.0000\n", - "Val loss: 0.405164, Val accuracy: 0.9565\n", + "Train loss: 0.170258, Train accuracy: 1.0000\n", + "Val loss: 0.400290, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 401/2000\n", - "Train loss: 0.161918, Train accuracy: 1.0000\n", - "Val loss: 0.365837, Val accuracy: 0.9565\n", + "Train loss: 0.166728, Train accuracy: 1.0000\n", + "Val loss: 0.365163, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 451/2000\n", - "Train loss: 0.158594, Train accuracy: 1.0000\n", - "Val loss: 0.374413, Val accuracy: 0.9565\n", + "Train loss: 0.161255, Train accuracy: 1.0000\n", + "Val loss: 0.369102, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 501/2000\n", - "Train loss: 0.178833, Train accuracy: 1.0000\n", - "Val loss: 0.343603, Val accuracy: 0.9565\n", + "Train loss: 0.154303, Train accuracy: 1.0000\n", + "Val loss: 0.364374, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 551/2000\n", - "Train loss: 0.148574, Train accuracy: 1.0000\n", - "Val loss: 0.347543, Val accuracy: 0.9565\n", + "Train loss: 0.149245, Train accuracy: 1.0000\n", + "Val loss: 0.347759, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 601/2000\n", - "Train loss: 0.152405, Train accuracy: 1.0000\n", - "Val loss: 0.335685, Val accuracy: 0.9565\n", + "Train loss: 0.144659, Train accuracy: 1.0000\n", + "Val loss: 0.357362, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 651/2000\n", - "Train loss: 0.151516, Train accuracy: 1.0000\n", - "Val loss: 0.340742, Val accuracy: 0.9565\n", + "Train loss: 0.149541, Train accuracy: 1.0000\n", + "Val loss: 0.334457, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 701/2000\n", - "Train loss: 0.147664, Train accuracy: 1.0000\n", - "Val loss: 0.348519, Val accuracy: 0.9565\n", + "Train loss: 0.136974, Train accuracy: 1.0000\n", + "Val loss: 0.324895, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 751/2000\n", - "Train loss: 0.137522, Train accuracy: 1.0000\n", - "Val loss: 0.352509, Val accuracy: 0.9565\n", + "Train loss: 0.137807, Train accuracy: 1.0000\n", + "Val loss: 0.317220, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 801/2000\n", - "Train loss: 0.132235, Train accuracy: 1.0000\n", - "Val loss: 0.350244, Val accuracy: 0.9565\n", + "Train loss: 0.137276, Train accuracy: 1.0000\n", + "Val loss: 0.310901, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 851/2000\n", - "Train loss: 0.125814, Train accuracy: 1.0000\n", - "Val loss: 0.368797, Val accuracy: 0.9565\n", + "Train loss: 0.133089, Train accuracy: 1.0000\n", + "Val loss: 0.295571, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 901/2000\n", - "Train loss: 0.125034, Train accuracy: 1.0000\n", - "Val loss: 0.353077, Val accuracy: 0.9565\n", + "Train loss: 0.126437, Train accuracy: 1.0000\n", + "Val loss: 0.302703, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 951/2000\n", - "Train loss: 0.140164, Train accuracy: 1.0000\n", - "Val loss: 0.354590, Val accuracy: 0.9565\n", + "Train loss: 0.121048, Train accuracy: 1.0000\n", + "Val loss: 0.290395, Val accuracy: 0.9565\n", "\n", "[INFO] EPOCH: 1001/2000\n", - "Train loss: 0.120602, Train accuracy: 1.0000\n", - "Val loss: 0.353170, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1051/2000\n", - "Train loss: 0.118343, Train accuracy: 1.0000\n", - "Val loss: 0.336526, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1101/2000\n", - "Train loss: 0.113230, Train accuracy: 1.0000\n", - "Val loss: 0.340209, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1151/2000\n", - "Train loss: 0.110907, Train accuracy: 1.0000\n", - "Val loss: 0.347533, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1201/2000\n", - "Train loss: 0.105677, Train accuracy: 1.0000\n", - "Val loss: 0.324187, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1251/2000\n", - "Train loss: 0.109684, Train accuracy: 1.0000\n", - "Val loss: 0.332242, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1301/2000\n", - "Train loss: 0.110185, Train accuracy: 1.0000\n", - "Val loss: 0.310192, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1351/2000\n", - "Train loss: 0.098995, Train accuracy: 1.0000\n", - "Val loss: 0.312304, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1401/2000\n", - "Train loss: 0.095979, Train accuracy: 1.0000\n", - "Val loss: 0.325001, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1451/2000\n", - "Train loss: 0.095383, Train accuracy: 1.0000\n", - "Val loss: 0.308993, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1501/2000\n", - "Train loss: 0.106950, Train accuracy: 1.0000\n", - "Val loss: 0.314686, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1551/2000\n", - "Train loss: 0.095420, Train accuracy: 1.0000\n", - "Val loss: 0.290029, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1601/2000\n", - "Train loss: 0.090173, Train accuracy: 1.0000\n", - "Val loss: 0.310152, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1651/2000\n", - "Train loss: 0.098928, Train accuracy: 1.0000\n", - "Val loss: 0.289675, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1701/2000\n", - "Train loss: 0.082846, Train accuracy: 1.0000\n", - "Val loss: 0.297246, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1751/2000\n", - "Train loss: 0.086850, Train accuracy: 1.0000\n", - "Val loss: 0.291168, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1801/2000\n", - "Train loss: 0.080806, Train accuracy: 1.0000\n", - "Val loss: 0.292652, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1851/2000\n", - "Train loss: 0.077532, Train accuracy: 1.0000\n", - "Val loss: 0.284676, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1901/2000\n", - "Train loss: 0.080867, Train accuracy: 1.0000\n", - "Val loss: 0.277959, Val accuracy: 0.9565\n", - "\n", - "[INFO] EPOCH: 1951/2000\n", - "Train loss: 0.072625, Train accuracy: 1.0000\n", - "Val loss: 0.268431, Val accuracy: 0.9565\n", - "\n", - "[INFO] total time taken to train the model: 5093.95s\n", - "[INFO] evaluating network...\n" + "Train loss: 0.118810, Train accuracy: 1.0000\n", + "Val loss: 0.280764, Val accuracy: 0.9565\n", + "\n" ] }, { - "output_type": "display_data", - "data": { - "text/plain": [ - "
" - ], - "image/png": "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fz6cnZ0xcuRIBAUFITExESdPnsSff/6J/v37Y+DAgYiIiMD69euxePFiuLm56V1j48aNyMjIwPTp0836/Vu+fDmmTp0KJycnjBs3Dr6+vjh8+DAWLlyI7du348SJEwbpTgDw9NNP49ixY3j88cfh6uqKXbt2YdGiRUhNTcVvv/1W/Re1nD59+qB79+44fvw4Nm3ahFdffRVA1d7zoaGhmDNnDhYvXgxA8z7W0k3dmjlzJgQCAR577DE0bNgQOTk5OHjwIN58802cO3cOf/zxB39sYWEhunXrhvv372PAgAEYPnw4GGOIjY3F1q1bMXbsWISHh/PHz5s3D3PnzoWnpyeGDRsGX19fXLlyBV999RV27dqFU6dOwdXV1ey2EmL3GHmkhISEMAAsOjpab3uvXr0YANaqVSuWlpZmcF52drbR7fHx8SwgIIA1bdrUYB8A1qtXL71tc+bMYQCYi4sLu3Llit6+p556igFg69atM9o2XYcOHWIAGAD222+/6e376aefGAA2depUve0vvfQSA8Dee+89ve2XL19mEomEAWBz5swx6Icx2vuX758xAwcOZADYJ598orf9xIkTTCgUMk9PT5aXl8cY07zOHMexqKgoplQqDa6Vnp7OPx49ejQDwC5fvmxwnLGflTHFxcUsPj7eYHt2djZr0aIF8/DwYIWFhXr7tO+hxx9/XG9fSkoKc3NzY25ubqykpESvnwBYREQEy8jI4LcXFRWxzp07MwAsJCTErPZqrVmzhgFgkydP5reNGTOGAWAHDhwwOL5Lly4MAPvss88M9qWlpbGioqJqHRsSEmKy7dr3+qFDh/S2a9+3zz33HFMoFAbnJSQksOLiYoPte/fuZQKBgE2ZMsVgOwAWFhbGEhISDM7T/fl++eWXDABbunSpwXHa37Pbt28b7Y+umJgYJpFImIuLC7t586bevqlTpzIAbNKkSUav3759e733QX5+PouIiGACgYAlJSVVem/Gyl7byn5fP/zwQwaATZw4kd9W3fd8Re/Re/fuGWxTqVRs4sSJDAA7ffo0v33btm0MAHvrrbcMzpHL5Sw3N5d/fvDgQQaAdenShWVlZekd+9tvvxm9TmVtJcTeUWD7iKkssN2yZUuVr/n6668zACw2NlZve0WB7QcffGBwHe0f8enTpxttmy5tYNmtWzeD65SUlDCRSMSioqL4bXK5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\n" - }, - "metadata": {} + "output_type": "error", + "ename": "KeyboardInterrupt", + "evalue": "", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 165\u001b[0m \u001b[0mloss\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mloss_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprediction\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 166\u001b[0m \u001b[0moptimizer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzero_grad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# 1. Zero out the gradients\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 167\u001b[0;31m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# 2. Perform a backwards pass.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 168\u001b[0m \u001b[0moptimizer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# 3. Update the weights.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 169\u001b[0m \u001b[0mtotal_train_loss\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/torch/_tensor.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(self, gradient, retain_graph, create_graph, inputs)\u001b[0m\n\u001b[1;32m 490\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 491\u001b[0m )\n\u001b[0;32m--> 492\u001b[0;31m torch.autograd.backward(\n\u001b[0m\u001b[1;32m 493\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgradient\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 494\u001b[0m )\n", + "\u001b[0;32m/usr/local/lib/python3.10/dist-packages/torch/autograd/__init__.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(tensors, grad_tensors, retain_graph, create_graph, grad_variables, inputs)\u001b[0m\n\u001b[1;32m 249\u001b[0m \u001b[0;31m# some Python versions print out the first line of a multi-line function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 250\u001b[0m \u001b[0;31m# calls in the traceback and some print out the last line\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 251\u001b[0;31m Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass\n\u001b[0m\u001b[1;32m 252\u001b[0m \u001b[0mtensors\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 253\u001b[0m \u001b[0mgrad_tensors_\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] } ] }, @@ -761,9 +671,9 @@ "base_uri": "https://localhost:8080/" }, "id": "ZdP9FpGvjnzW", - "outputId": "2bd5a82f-1f0c-44d4-ef3c-7c1f8b0fdc1c" + "outputId": "85009532-f232-4a94-c9ca-008e47da27f1" }, - "execution_count": 15, + "execution_count": 32, "outputs": [ { "output_type": "stream", @@ -833,12 +743,21 @@ "\n", "run = {\n", " \"1\" : (1,1),\n", + " \"2\" : (1,0.9583),\n", + " \"3\" : (1,1),\n", + " \"4\" : (1,1),\n", + " \"5\" : (1,1),\n", + " \"6\" : (1,1),\n", + " \"7\" : (1,1),\n", + " \"8\" : (1,1),\n", + " \"9\" : (1,0.9583),\n", + " \"10\": (1,1),\n", "}" ], "metadata": { "id": "Y8LnWKxuxhoc" }, - "execution_count": 16, + "execution_count": 33, "outputs": [] } ]