From c1c0b3137dcb9644a1c85ed979e3ff0dba58594f Mon Sep 17 00:00:00 2001
From: TheRiPtide <g.zaugg97@gmail.com>
Date: Wed, 22 Dec 2021 11:43:42 +0100
Subject: [PATCH] feat: Better visualizability of first convolutional layer
 with onehot encoding

---
 models/internal_priming.pth                   | Bin 13301 -> 13429 bytes
 notebooks/internal_priming.ipynb              | 129 +++++++++++++-----
 src/polyA_classifier/polyA_classifier.py      |  14 +-
 .../resources/internal_priming_test_model.pth | Bin 13301 -> 13429 bytes
 4 files changed, 102 insertions(+), 41 deletions(-)

diff --git a/models/internal_priming.pth b/models/internal_priming.pth
index eeab5fda317b000d341c6d4f6badf410ba6e96f0..c11ec4e8f00da9f030e529dda0343bf445ccdc29 100644
GIT binary patch
delta 9227
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

delta 9148
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
R4a5^-5Mpp-VPJr$1pulrJ;MM1

diff --git a/notebooks/internal_priming.ipynb b/notebooks/internal_priming.ipynb
index d1c274f..3728c62 100644
--- a/notebooks/internal_priming.ipynb
+++ b/notebooks/internal_priming.ipynb
@@ -22,7 +22,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 26,
    "outputs": [],
    "source": [
     "# importing the libraries\n",
@@ -52,7 +52,7 @@
     "\n",
     "        self.cnn_layers = Sequential(\n",
     "            # Defining a 1D convolution layer\n",
-    "            Conv1d(1, 4, kernel_size=3, stride=1, padding=1),\n",
+    "            Conv1d(4, 4, kernel_size=3, stride=1, padding=1),\n",
     "            BatchNorm1d(4),\n",
     "            ReLU(inplace=True),\n",
     "            MaxPool1d(kernel_size=2, stride=2),\n",
@@ -128,13 +128,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 27,
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "100%|██████████| 20000/20000 [00:00<00:00, 27099.07it/s]\n"
+      "100%|██████████| 20000/20000 [00:00<00:00, 23948.83it/s]\n"
      ]
     }
    ],
@@ -185,7 +185,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 28,
    "outputs": [],
    "source": [
     "# TODO: reshape shape from [n, l] to [n, 1, l]\n",
@@ -199,8 +199,8 @@
     "train_shape = train_x.shape\n",
     "val_shape = val_x.shape\n",
     "\n",
-    "train_x = train_x.reshape(train_shape[0], 1, train_shape[1], 4)\n",
-    "val_x = val_x.reshape(val_shape[0], 1, val_shape[1], 4)\n",
+    "train_x = train_x.reshape(train_shape[0], 4, train_shape[1])\n",
+    "val_x = val_x.reshape(val_shape[0], 4, val_shape[1])\n",
     "\n",
     "train_x  = torch.from_numpy(train_x)\n",
     "train_y = torch.from_numpy(train_y)\n",
@@ -229,32 +229,13 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 29,
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "  0%|          | 0/25 [00:00<?, ?it/s]\n"
-     ]
-    },
-    {
-     "ename": "RuntimeError",
-     "evalue": "Expected 3-dimensional input for 3-dimensional weight [4, 1, 3], but got 4-dimensional input of size [18000, 1, 200, 4] instead",
-     "output_type": "error",
-     "traceback": [
-      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
-      "\u001B[1;31mRuntimeError\u001B[0m                              Traceback (most recent call last)",
-      "\u001B[1;32m~\\AppData\\Local\\Temp/ipykernel_14744/999922600.py\u001B[0m in \u001B[0;36m<module>\u001B[1;34m\u001B[0m\n\u001B[0;32m     24\u001B[0m \u001B[1;31m# training the model\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     25\u001B[0m \u001B[1;32mfor\u001B[0m \u001B[0mepoch\u001B[0m \u001B[1;32min\u001B[0m \u001B[0mtqdm\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mrange\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mn_epochs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 26\u001B[1;33m     \u001B[0mtrain_loss\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mval_loss\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mtrain\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     27\u001B[0m     \u001B[0mtrain_losses\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mappend\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mtrain_loss\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     28\u001B[0m     \u001B[0mval_losses\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mappend\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mval_loss\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32m~\\AppData\\Local\\Temp/ipykernel_14744/2669949571.py\u001B[0m in \u001B[0;36mtrain\u001B[1;34m()\u001B[0m\n\u001B[0;32m     67\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     68\u001B[0m     \u001B[1;31m# prediction for training and validation set\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 69\u001B[1;33m     \u001B[0moutput_train\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mmodel\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx_train\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     70\u001B[0m     \u001B[0moutput_val\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mmodel\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx_val\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     71\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\module.py\u001B[0m in \u001B[0;36m_call_impl\u001B[1;34m(self, *input, **kwargs)\u001B[0m\n\u001B[0;32m   1100\u001B[0m         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001B[0;32m   1101\u001B[0m                 or _global_forward_hooks or _global_forward_pre_hooks):\n\u001B[1;32m-> 1102\u001B[1;33m             \u001B[1;32mreturn\u001B[0m \u001B[0mforward_call\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m*\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m   1103\u001B[0m         \u001B[1;31m# Do not call functions when jit is used\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m   1104\u001B[0m         \u001B[0mfull_backward_hooks\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mnon_full_backward_hooks\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32m~\\AppData\\Local\\Temp/ipykernel_14744/2669949571.py\u001B[0m in \u001B[0;36mforward\u001B[1;34m(self, x)\u001B[0m\n\u001B[0;32m     43\u001B[0m     \u001B[1;31m# Defining the forward pass\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     44\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mforward\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mx\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 45\u001B[1;33m         \u001B[0mx\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mcnn_layers\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m     46\u001B[0m         \u001B[0mx\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mx\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mview\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0msize\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;36m0\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m-\u001B[0m\u001B[1;36m1\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     47\u001B[0m         \u001B[0mx\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mlinear_layers\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mx\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\module.py\u001B[0m in \u001B[0;36m_call_impl\u001B[1;34m(self, *input, **kwargs)\u001B[0m\n\u001B[0;32m   1100\u001B[0m         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001B[0;32m   1101\u001B[0m                 or _global_forward_hooks or _global_forward_pre_hooks):\n\u001B[1;32m-> 1102\u001B[1;33m             \u001B[1;32mreturn\u001B[0m \u001B[0mforward_call\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m*\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m   1103\u001B[0m         \u001B[1;31m# Do not call functions when jit is used\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m   1104\u001B[0m         \u001B[0mfull_backward_hooks\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mnon_full_backward_hooks\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\container.py\u001B[0m in \u001B[0;36mforward\u001B[1;34m(self, input)\u001B[0m\n\u001B[0;32m    139\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mforward\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0minput\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    140\u001B[0m         \u001B[1;32mfor\u001B[0m \u001B[0mmodule\u001B[0m \u001B[1;32min\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 141\u001B[1;33m             \u001B[0minput\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mmodule\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m    142\u001B[0m         \u001B[1;32mreturn\u001B[0m \u001B[0minput\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    143\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\module.py\u001B[0m in \u001B[0;36m_call_impl\u001B[1;34m(self, *input, **kwargs)\u001B[0m\n\u001B[0;32m   1100\u001B[0m         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks\n\u001B[0;32m   1101\u001B[0m                 or _global_forward_hooks or _global_forward_pre_hooks):\n\u001B[1;32m-> 1102\u001B[1;33m             \u001B[1;32mreturn\u001B[0m \u001B[0mforward_call\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m*\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m   1103\u001B[0m         \u001B[1;31m# Do not call functions when jit is used\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m   1104\u001B[0m         \u001B[0mfull_backward_hooks\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mnon_full_backward_hooks\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m,\u001B[0m \u001B[1;33m[\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\conv.py\u001B[0m in \u001B[0;36mforward\u001B[1;34m(self, input)\u001B[0m\n\u001B[0;32m    299\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    300\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mforward\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0minput\u001B[0m\u001B[1;33m:\u001B[0m \u001B[0mTensor\u001B[0m\u001B[1;33m)\u001B[0m \u001B[1;33m->\u001B[0m \u001B[0mTensor\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 301\u001B[1;33m         \u001B[1;32mreturn\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_conv_forward\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0minput\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mweight\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mbias\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m    302\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    303\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;32mc:\\users\\gzaug\\onedrive\\dokumente\\uni\\programming in life sciences\\scrna-seq-simulation\\venv\\lib\\site-packages\\torch\\nn\\modules\\conv.py\u001B[0m in \u001B[0;36m_conv_forward\u001B[1;34m(self, input, weight, bias)\u001B[0m\n\u001B[0;32m    295\u001B[0m                             \u001B[0mweight\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mbias\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mstride\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    296\u001B[0m                             _single(0), self.dilation, self.groups)\n\u001B[1;32m--> 297\u001B[1;33m         return F.conv1d(input, weight, bias, self.stride,\n\u001B[0m\u001B[0;32m    298\u001B[0m                         self.padding, self.dilation, self.groups)\n\u001B[0;32m    299\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
-      "\u001B[1;31mRuntimeError\u001B[0m: Expected 3-dimensional input for 3-dimensional weight [4, 1, 3], but got 4-dimensional input of size [18000, 1, 200, 4] instead"
+      "100%|██████████| 25/25 [00:19<00:00,  1.25it/s]\n"
      ]
     }
    ],
@@ -309,8 +290,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "outputs": [],
+   "execution_count": 30,
+   "outputs": [
+    {
+     "data": {
+      "text/plain": "<Figure size 432x288 with 1 Axes>",
+      "image/png": "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\n"
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
    "source": [
     "train_losses_list = [train_loss.item() for train_loss in train_losses]\n",
     "val_losses_list = [val_loss.item() for val_loss in val_losses]\n",
@@ -330,8 +322,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "outputs": [],
+   "execution_count": 31,
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0.9966111111111111\n",
+      "0.998\n"
+     ]
+    }
+   ],
    "source": [
     "# prediction for training set\n",
     "with torch.no_grad():\n",
@@ -375,8 +376,68 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "outputs": [],
+   "execution_count": 32,
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "cnn_layers.0.weight tensor([[[-0.0161, -0.1727, -0.0706],\n",
+      "         [-0.1442, -0.2347, -0.1731],\n",
+      "         [ 0.0937, -0.2319,  0.0297],\n",
+      "         [ 0.4707,  1.2928, -0.7642]],\n",
+      "\n",
+      "        [[ 0.6057,  0.1347, -0.0041],\n",
+      "         [ 0.0967, -0.9823, -0.6446],\n",
+      "         [ 0.5267,  0.5432,  0.1329],\n",
+      "         [-0.0482, -0.0046, -0.0177]],\n",
+      "\n",
+      "        [[-0.3372, -0.1560, -0.0196],\n",
+      "         [ 0.1110, -0.3352, -0.1544],\n",
+      "         [-0.4499, -0.2293,  0.0253],\n",
+      "         [ 0.9977, -0.9843, -1.0379]],\n",
+      "\n",
+      "        [[-0.1263, -0.5871, -0.0511],\n",
+      "         [-0.1365, -0.1569,  0.0979],\n",
+      "         [-0.3475, -0.3901,  0.0927],\n",
+      "         [-0.6534, -0.9329,  0.6516]]])\n",
+      "cnn_layers.0.bias tensor([-0.0021, -0.1551, -1.0721,  0.4632])\n",
+      "cnn_layers.1.weight tensor([1.8590, 0.1158, 1.1549, 0.8114])\n",
+      "cnn_layers.1.bias tensor([ 0.7813, -0.7185,  0.1945,  0.2015])\n",
+      "cnn_layers.4.weight tensor([[[-1.0589,  0.3008, -1.0521],\n",
+      "         [ 0.2243,  0.5245,  0.1523],\n",
+      "         [ 0.0767,  0.6713, -0.4829],\n",
+      "         [-0.6312, -0.4684, -0.3525]],\n",
+      "\n",
+      "        [[ 0.6076,  0.0118,  0.3328],\n",
+      "         [-0.6541,  0.2015,  0.1579],\n",
+      "         [-0.8182,  0.1377, -0.8822],\n",
+      "         [ 0.5961, -0.2152,  0.7089]],\n",
+      "\n",
+      "        [[ 0.5840,  0.3963, -0.3982],\n",
+      "         [ 0.4481,  0.1088,  0.2149],\n",
+      "         [ 0.4938,  0.3682,  0.5467],\n",
+      "         [-0.1666,  0.2545,  0.4419]],\n",
+      "\n",
+      "        [[ 0.2782, -0.2773, -0.6268],\n",
+      "         [ 0.1686,  0.1611, -0.3611],\n",
+      "         [-0.9431, -0.2470, -0.1781],\n",
+      "         [-0.2127,  0.1223, -0.0467]]])\n",
+      "cnn_layers.4.bias tensor([ 0.0243,  0.1496, -0.2523, -0.1505])\n",
+      "cnn_layers.5.weight tensor([0.9917, 1.0135, 0.2734, 0.0942])\n",
+      "cnn_layers.5.bias tensor([-0.2346, -0.1730, -0.6458, -0.8736])\n",
+      "linear_layers.0.weight tensor([[ 0.2819,  0.3333,  0.3363,  ...,  0.3874,  0.3519,  0.2827],\n",
+      "        [ 0.3381,  0.3392,  0.2918,  ...,  0.3641,  0.2983,  0.3425],\n",
+      "        [-0.3373, -0.3675, -0.4146,  ..., -0.3503, -0.4156, -0.3663],\n",
+      "        ...,\n",
+      "        [-0.3867, -0.3346, -0.3592,  ..., -0.4135, -0.3362, -0.3592],\n",
+      "        [-0.3415, -0.3677, -0.3740,  ..., -0.4074, -0.3575, -0.3526],\n",
+      "        [-0.4087, -0.3892, -0.3258,  ..., -0.3189, -0.4211, -0.3985]])\n",
+      "linear_layers.0.bias tensor([ 0.1986,  0.3250, -0.4212, -0.3442, -0.3814, -0.3203, -0.3380, -0.4000,\n",
+      "        -0.3805, -0.4522])\n"
+     ]
+    }
+   ],
    "source": [
     "torch.save(model.state_dict(), '../models/internal_priming.pth')\n",
     "\n",
diff --git a/src/polyA_classifier/polyA_classifier.py b/src/polyA_classifier/polyA_classifier.py
index 4570e9d..31766e9 100644
--- a/src/polyA_classifier/polyA_classifier.py
+++ b/src/polyA_classifier/polyA_classifier.py
@@ -15,7 +15,7 @@ class Net(Module):
 
         self.cnn_layers = Sequential(
             # Defining a 1D convolution layer
-            Conv1d(1, 4, kernel_size=3, stride=1, padding=1),
+            Conv1d(4, 4, kernel_size=3, stride=1, padding=1),
             BatchNorm1d(4),
             ReLU(inplace=True),
             MaxPool1d(kernel_size=2, stride=2),
@@ -42,11 +42,11 @@ class PolyAClassifier:
     """Classifier object using the state-dict of a pretrained pytorch model."""
 
     enum = {
-        'A': 0.0,
-        'U': 1 / 3,
-        'T': 1 / 3,
-        'G': 2 / 3,
-        'C': 1.0
+        'A': [1, 0, 0, 0],
+        'U': [0, 1, 0, 0],
+        'T': [0, 1, 0, 0],
+        'G': [0, 0, 1, 0],
+        'C': [0, 0, 0, 1]
     }
 
     def __init__(self, model=Net, state_dict_path: str = './models/internal_priming.pth'):
@@ -103,7 +103,7 @@ class PolyAClassifier:
             raise ValueError('Not all sequences of length 200')
 
         test_shape = test.shape
-        test = test.reshape(test_shape[0], 1, test_shape[1])
+        test = test.reshape(test_shape[0], 4, test_shape[1])
 
         if test_shape[1] != 200:
             raise ValueError('Sequences not of length 200')
diff --git a/tests/resources/internal_priming_test_model.pth b/tests/resources/internal_priming_test_model.pth
index 7eb6ff99f2a924ff4bc1a60a12fc26199d0b0e09..c11ec4e8f00da9f030e529dda0343bf445ccdc29 100644
GIT binary patch
delta 9321
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
ZvoJC+Fa&tBvVp{e7=#!cSr`}~Y5|BEgOvaP

delta 9209
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

-- 
GitLab