Switch to unified view

a b/notebooks/PytorchNoteBook.ipynb
1
{
2
 "cells": [
3
  {
4
   "cell_type": "code",
5
   "execution_count": 1,
6
   "metadata": {},
7
   "outputs": [],
8
   "source": [
9
    "from Classes.Data import augmentation, LeukemiaDataset, augmentation_alb\n",
10
    "from Classes.Helpers import Helpers\n",
11
    "from Classes.Model_2020 import LuekemiaNet, learner\n",
12
    "from Classes.model_api import plot_training_history, show_predictions,\\\n",
13
    "    confusion_matrix2, get_predictions, predict_probability, show_prediction_confidence\n",
14
    "from Classes.interpretability import interpret_model\n",
15
    "from torch.utils.data import DataLoader\n",
16
    "from torch.utils.data.sampler import SubsetRandomSampler\n",
17
    "import torch.optim as optim\n",
18
    "import pandas as pd\n",
19
    "from torch import nn\n",
20
    "import random\n",
21
    "import torch\n",
22
    "import os\n",
23
    "from sklearn.model_selection import train_test_split\n",
24
    "from sklearn.metrics import confusion_matrix, classification_report\n",
25
    "import numpy as np"
26
   ]
27
  },
28
  {
29
   "cell_type": "code",
30
   "execution_count": 2,
31
   "metadata": {},
32
   "outputs": [],
33
   "source": [
34
    "SEED = 323\n",
35
    "def seed_everything(seed=SEED):\n",
36
    "    random.seed(seed)\n",
37
    "    os.environ['PYHTONHASHSEED'] = str(seed)\n",
38
    "    np.random.seed(seed)\n",
39
    "    torch.manual_seed(seed)\n",
40
    "    torch.cuda.manual_seed(seed)\n",
41
    "    torch.backends.cudnn.deterministic = True\n",
42
    "\n",
43
    "\n",
44
    "seed_everything(SEED)\n",
45
    "# helper class\n",
46
    "helper = Helpers(\"Test Model\", False)\n",
47
    "# train data directory\n",
48
    "train_dir = 'C:/Peter Moss AML Leukemia Research/Dataset/all_train/'\n",
49
    "# train label directoy\n",
50
    "train_csv = 'C:/Peter Moss AML Leukemia Research/Dataset/train.csv'\n",
51
    "# labels\n",
52
    "class_name = [\"neg\", \"pos\"]"
53
   ]
54
  },
55
  {
56
   "cell_type": "code",
57
   "execution_count": 3,
58
   "metadata": {},
59
   "outputs": [],
60
   "source": [
61
    "image_path = 'C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Model\\Data\\Test\\Im047_0.jpg'\n",
62
    "image_path2 = 'C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Model\\Data\\Test\\Im006_1.jpg'\n",
63
    "label_idx = 'C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Model\\class_idx.json'"
64
   ]
65
  },
66
  {
67
   "cell_type": "code",
68
   "execution_count": 4,
69
   "metadata": {},
70
   "outputs": [
71
    {
72
     "name": "stdout",
73
     "output_type": "stream",
74
     "text": [
75
      "0    49\n",
76
      "1    39\n",
77
      "Name: label, dtype: int64\n",
78
      "      data  label\n",
79
      "0  Im001_1      1\n",
80
      "1  Im002_1      1\n",
81
      "2  Im003_1      1\n",
82
      "3  Im004_1      1\n",
83
      "4  Im005_1      1\n",
84
      "79 9\n"
85
     ]
86
    }
87
   ],
88
   "source": [
89
    "# training batch size\n",
90
    "batch_size = helper.config[\"classifier\"][\"train\"][\"batch\"]\n",
91
    "# accuracy and loss save directory\n",
92
    "acc_loss_png = helper.config[\"classifier\"][\"model_params\"][\"plot_loss_and_acc\"]\n",
93
    "# confusion matrix save directory\n",
94
    "confusion_png = helper.config[\"classifier\"][\"model_params\"][\"confusion_matrix\"]\n",
95
    "# number of epoch\n",
96
    "epochs = helper.config[\"classifier\"][\"train\"][\"epochs\"]\n",
97
    "# learning rate\n",
98
    "learn_rate = helper.config[\"classifier\"][\"train\"][\"learning_rate_adam\"]\n",
99
    "# decay\n",
100
    "decay = helper.config[\"classifier\"][\"train\"][\"decay_adam\"]\n",
101
    "# read train CSV file\n",
102
    "labels = pd.read_csv(train_csv)\n",
103
    "# print label count\n",
104
    "labels_count = labels.label.value_counts()\n",
105
    "print(labels_count)\n",
106
    "# print 5 label header\n",
107
    "print(labels.head())\n",
108
    "# splitting data into training and validation set\n",
109
    "train, valid = train_test_split(labels, stratify = labels.label, test_size = 0.1, shuffle=True)\n",
110
    "print(len(train),len(valid))"
111
   ]
112
  },
113
  {
114
   "cell_type": "code",
115
   "execution_count": 5,
116
   "metadata": {},
117
   "outputs": [
118
    {
119
     "name": "stdout",
120
     "output_type": "stream",
121
     "text": [
122
      "79 9\n"
123
     ]
124
    }
125
   ],
126
   "source": [
127
    "#data augmentation\n",
128
    "training_transforms, validation_transforms = augmentation()\n",
129
    "\n",
130
    "# Read Acute Lymphoblastic Leukemia dataset from disk\n",
131
    "trainset = LeukemiaDataset(df_data=train, data_dir=train_dir, transform=training_transforms)\n",
132
    "validset = LeukemiaDataset(df_data=valid, data_dir=train_dir, transform=validation_transforms)\n",
133
    "\n",
134
    "train_size, valid_size = len(trainset), len(validset)\n",
135
    "print(train_size, valid_size)\n",
136
    "\n",
137
    "train_sampler = SubsetRandomSampler(list(train.index))\n",
138
    "valid_sampler = SubsetRandomSampler(list(valid.index))\n",
139
    "\n",
140
    "# Prepare dataset for neural networks\n",
141
    "train_data_loader = DataLoader(trainset, batch_size=batch_size, shuffle=True)\n",
142
    "valid_data_loader = DataLoader(validset, batch_size=batch_size, shuffle=False)\n"
143
   ]
144
  },
145
  {
146
   "cell_type": "code",
147
   "execution_count": 6,
148
   "metadata": {},
149
   "outputs": [
150
    {
151
     "name": "stdout",
152
     "output_type": "stream",
153
     "text": [
154
      "Training Set:\n",
155
      "\n",
156
      "Image batch dimensions: torch.Size([10, 3, 100, 100])\n",
157
      "Image label dimensions: torch.Size([10])\n",
158
      "\n",
159
      "\n",
160
      "The labels:  tensor([1, 1, 0, 0, 0, 0, 0, 1, 1])\n"
161
     ]
162
    }
163
   ],
164
   "source": [
165
    "# Checking the dataset\n",
166
    "print('Training Set:\\n')\n",
167
    "for images, labels in train_data_loader:\n",
168
    "    print('Image batch dimensions:', images.size())\n",
169
    "    print('Image label dimensions:', labels.size())\n",
170
    "    break\n",
171
    "print(\"\\n\")\n",
172
    "\n",
173
    "# loop through our validation data and output the labels\n",
174
    "for images, labels in valid_data_loader:\n",
175
    "    print(\"The labels: \",labels)"
176
   ]
177
  },
178
  {
179
   "cell_type": "code",
180
   "execution_count": 7,
181
   "metadata": {},
182
   "outputs": [
183
    {
184
     "name": "stdout",
185
     "output_type": "stream",
186
     "text": [
187
      "CUDA is available and training on GPU ...\n"
188
     ]
189
    }
190
   ],
191
   "source": [
192
    "\n",
193
    "# Define model\n",
194
    "model = LuekemiaNet()\n",
195
    "# check if CUDA is available\n",
196
    "train_on_gpu = torch.cuda.is_available()\n",
197
    "# Move our model to CUDA for gpu training\n",
198
    "model.cuda()\n",
199
    "\n",
200
    "\n",
201
    "if not train_on_gpu:\n",
202
    "    print('CUDA is not available and training on CPU ...')\n",
203
    "else:\n",
204
    "    print('CUDA is available and training on GPU ...')\n"
205
   ]
206
  },
207
  {
208
   "cell_type": "code",
209
   "execution_count": 8,
210
   "metadata": {},
211
   "outputs": [],
212
   "source": [
213
    "# Cross entropy loss function\n",
214
    "criterion = nn.CrossEntropyLoss()\n",
215
    "# specify optimizer (stochastic gradient descent) and learning rate = 0.001\n",
216
    "optimizer = optim.Adam(model.parameters(), weight_decay=decay, lr=learn_rate)\n",
217
    "# scheduler = CyclicLR(optimizer, base_lr=lr, max_lr=0.01, step_size=5, mode='triangular2')\n",
218
    "scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=7, gamma=helper.config[\"classifier\"][\"model_params\"][\"gamma\"])"
219
   ]
220
  },
221
  {
222
   "cell_type": "code",
223
   "execution_count": 9,
224
   "metadata": {},
225
   "outputs": [
226
    {
227
     "name": "stdout",
228
     "output_type": "stream",
229
     "text": [
230
      "2020-12-31 03:09:27,061 - Model - INFO - Epoch 1/10\n",
231
      "2020-12-31 03:09:27,091 - Model - INFO - ----------\n",
232
      "2020-12-31 03:09:38,622 - Model - INFO - Train loss: 0.5225205793976784 Accuracy: 0.7341772317886353\n",
233
      "2020-12-31 03:09:39,573 - Model - INFO - Valid loss: 0.7080000042915344 Accuracy: 0.5555555820465088\n",
234
      "\n",
235
      "2020-12-31 03:09:39,761 - Model - INFO - Epoch 2/10\n",
236
      "2020-12-31 03:09:39,774 - Model - INFO - ----------\n",
237
      "2020-12-31 03:09:47,664 - Model - INFO - Train loss: 0.3280406277626753 Accuracy: 0.8607594966888428\n",
238
      "2020-12-31 03:09:48,575 - Model - INFO - Valid loss: 0.8643777370452881 Accuracy: 0.5555555820465088\n",
239
      "\n",
240
      "2020-12-31 03:09:48,645 - Model - INFO - Epoch 3/10\n",
241
      "2020-12-31 03:09:48,651 - Model - INFO - ----------\n"
242
     ]
243
    },
244
    {
245
     "name": "stderr",
246
     "output_type": "stream",
247
     "text": [
248
      "--- Logging error ---\n",
249
      "Traceback (most recent call last):\n",
250
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
251
      "    self.doRollover()\n",
252
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
253
      "    self.rotate(self.baseFilename, dfn)\n",
254
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
255
      "    os.rename(source, dest)\n",
256
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
257
      "Call stack:\n",
258
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
259
      "    \"__main__\", mod_spec)\n",
260
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
261
      "    exec(code, run_globals)\n",
262
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
263
      "    app.launch_new_instance()\n",
264
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
265
      "    app.start()\n",
266
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
267
      "    self.io_loop.start()\n",
268
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
269
      "    self.asyncio_loop.run_forever()\n",
270
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
271
      "    self._run_once()\n",
272
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
273
      "    handle._run()\n",
274
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
275
      "    self._context.run(self._callback, *self._args)\n",
276
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
277
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
278
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
279
      "    ret = callback()\n",
280
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
281
      "    self.run()\n",
282
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
283
      "    yielded = self.gen.send(value)\n",
284
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
285
      "    yield self.process_one()\n",
286
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
287
      "    runner = Runner(result, future, yielded)\n",
288
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
289
      "    self.run()\n",
290
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
291
      "    yielded = self.gen.send(value)\n",
292
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
293
      "    yield gen.maybe_future(dispatch(*args))\n",
294
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
295
      "    yielded = next(result)\n",
296
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
297
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
298
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
299
      "    yielded = next(result)\n",
300
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
301
      "    user_expressions, allow_stdin,\n",
302
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
303
      "    yielded = next(result)\n",
304
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
305
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
306
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
307
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
308
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
309
      "    raw_cell, store_history, silent, shell_futures)\n",
310
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
311
      "    return runner(coro)\n",
312
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
313
      "    coro.send(None)\n",
314
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
315
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
316
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
317
      "    if (await self.run_code(code, result,  async_=asy)):\n",
318
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
319
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
320
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
321
      "    train_on_gpu=True, n_epochs=epochs)\n",
322
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 152, in learner\n",
323
      "    helper.logger.info(f'Epoch {epoch + 1}/{n_epochs}')\n",
324
      "Message: 'Epoch 1/10'\n",
325
      "Arguments: ()\n",
326
      "--- Logging error ---\n",
327
      "Traceback (most recent call last):\n",
328
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
329
      "    self.doRollover()\n",
330
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
331
      "    self.rotate(self.baseFilename, dfn)\n",
332
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
333
      "    os.rename(source, dest)\n",
334
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
335
      "Call stack:\n",
336
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
337
      "    \"__main__\", mod_spec)\n",
338
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
339
      "    exec(code, run_globals)\n",
340
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
341
      "    app.launch_new_instance()\n",
342
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
343
      "    app.start()\n",
344
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
345
      "    self.io_loop.start()\n",
346
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
347
      "    self.asyncio_loop.run_forever()\n",
348
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
349
      "    self._run_once()\n",
350
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
351
      "    handle._run()\n",
352
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
353
      "    self._context.run(self._callback, *self._args)\n",
354
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
355
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
356
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
357
      "    ret = callback()\n",
358
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
359
      "    self.run()\n",
360
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
361
      "    yielded = self.gen.send(value)\n",
362
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
363
      "    yield self.process_one()\n",
364
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
365
      "    runner = Runner(result, future, yielded)\n",
366
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
367
      "    self.run()\n",
368
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
369
      "    yielded = self.gen.send(value)\n",
370
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
371
      "    yield gen.maybe_future(dispatch(*args))\n",
372
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
373
      "    yielded = next(result)\n",
374
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
375
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
376
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
377
      "    yielded = next(result)\n",
378
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
379
      "    user_expressions, allow_stdin,\n",
380
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
381
      "    yielded = next(result)\n",
382
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
383
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
384
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
385
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
386
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
387
      "    raw_cell, store_history, silent, shell_futures)\n",
388
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
389
      "    return runner(coro)\n",
390
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
391
      "    coro.send(None)\n",
392
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
393
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
394
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
395
      "    if (await self.run_code(code, result,  async_=asy)):\n",
396
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
397
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
398
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
399
      "    train_on_gpu=True, n_epochs=epochs)\n",
400
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 153, in learner\n",
401
      "    helper.logger.info('-' * 10)\n",
402
      "Message: '----------'\n",
403
      "Arguments: ()\n",
404
      "--- Logging error ---\n",
405
      "Traceback (most recent call last):\n",
406
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
407
      "    self.doRollover()\n",
408
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
409
      "    self.rotate(self.baseFilename, dfn)\n",
410
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
411
      "    os.rename(source, dest)\n",
412
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
413
      "Call stack:\n",
414
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
415
      "    \"__main__\", mod_spec)\n",
416
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
417
      "    exec(code, run_globals)\n",
418
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
419
      "    app.launch_new_instance()\n",
420
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
421
      "    app.start()\n",
422
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
423
      "    self.io_loop.start()\n",
424
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
425
      "    self.asyncio_loop.run_forever()\n",
426
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
427
      "    self._run_once()\n",
428
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
429
      "    handle._run()\n",
430
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
431
      "    self._context.run(self._callback, *self._args)\n",
432
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
433
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
434
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
435
      "    ret = callback()\n",
436
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
437
      "    self.run()\n",
438
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
439
      "    yielded = self.gen.send(value)\n",
440
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
441
      "    yield self.process_one()\n",
442
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
443
      "    runner = Runner(result, future, yielded)\n",
444
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
445
      "    self.run()\n",
446
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
447
      "    yielded = self.gen.send(value)\n",
448
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
449
      "    yield gen.maybe_future(dispatch(*args))\n",
450
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
451
      "    yielded = next(result)\n",
452
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
453
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
454
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
455
      "    yielded = next(result)\n",
456
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
457
      "    user_expressions, allow_stdin,\n",
458
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
459
      "    yielded = next(result)\n",
460
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
461
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
462
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
463
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
464
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
465
      "    raw_cell, store_history, silent, shell_futures)\n",
466
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
467
      "    return runner(coro)\n",
468
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
469
      "    coro.send(None)\n",
470
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
471
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
472
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
473
      "    if (await self.run_code(code, result,  async_=asy)):\n",
474
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
475
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
476
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
477
      "    train_on_gpu=True, n_epochs=epochs)\n",
478
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 165, in learner\n",
479
      "    helper.logger.info(f'Train loss: {train_loss} Accuracy: {train_acc}')\n",
480
      "Message: 'Train loss: 0.5225205793976784 Accuracy: 0.7341772317886353'\n",
481
      "Arguments: ()\n",
482
      "--- Logging error ---\n",
483
      "Traceback (most recent call last):\n",
484
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
485
      "    self.doRollover()\n",
486
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
487
      "    self.rotate(self.baseFilename, dfn)\n",
488
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
489
      "    os.rename(source, dest)\n",
490
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
491
      "Call stack:\n",
492
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
493
      "    \"__main__\", mod_spec)\n",
494
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
495
      "    exec(code, run_globals)\n",
496
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
497
      "    app.launch_new_instance()\n",
498
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
499
      "    app.start()\n",
500
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
501
      "    self.io_loop.start()\n",
502
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
503
      "    self.asyncio_loop.run_forever()\n",
504
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
505
      "    self._run_once()\n",
506
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
507
      "    handle._run()\n",
508
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
509
      "    self._context.run(self._callback, *self._args)\n",
510
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
511
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
512
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
513
      "    ret = callback()\n",
514
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
515
      "    self.run()\n",
516
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
517
      "    yielded = self.gen.send(value)\n",
518
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
519
      "    yield self.process_one()\n",
520
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
521
      "    runner = Runner(result, future, yielded)\n",
522
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
523
      "    self.run()\n",
524
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
525
      "    yielded = self.gen.send(value)\n",
526
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
527
      "    yield gen.maybe_future(dispatch(*args))\n",
528
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
529
      "    yielded = next(result)\n",
530
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
531
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
532
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
533
      "    yielded = next(result)\n",
534
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
535
      "    user_expressions, allow_stdin,\n",
536
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
537
      "    yielded = next(result)\n",
538
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
539
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
540
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
541
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
542
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
543
      "    raw_cell, store_history, silent, shell_futures)\n",
544
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
545
      "    return runner(coro)\n",
546
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
547
      "    coro.send(None)\n",
548
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
549
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
550
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
551
      "    if (await self.run_code(code, result,  async_=asy)):\n",
552
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
553
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
554
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
555
      "    train_on_gpu=True, n_epochs=epochs)\n",
556
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 175, in learner\n",
557
      "    helper.logger.info(f'Valid loss: {val_loss} Accuracy: {val_acc}')\n",
558
      "Message: 'Valid loss: 0.7080000042915344 Accuracy: 0.5555555820465088'\n",
559
      "Arguments: ()\n",
560
      "--- Logging error ---\n",
561
      "Traceback (most recent call last):\n",
562
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
563
      "    self.doRollover()\n",
564
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
565
      "    self.rotate(self.baseFilename, dfn)\n",
566
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
567
      "    os.rename(source, dest)\n",
568
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
569
      "Call stack:\n",
570
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
571
      "    \"__main__\", mod_spec)\n",
572
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
573
      "    exec(code, run_globals)\n",
574
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
575
      "    app.launch_new_instance()\n",
576
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
577
      "    app.start()\n",
578
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
579
      "    self.io_loop.start()\n",
580
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
581
      "    self.asyncio_loop.run_forever()\n",
582
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
583
      "    self._run_once()\n",
584
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
585
      "    handle._run()\n",
586
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
587
      "    self._context.run(self._callback, *self._args)\n",
588
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
589
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
590
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
591
      "    ret = callback()\n",
592
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
593
      "    self.run()\n",
594
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
595
      "    yielded = self.gen.send(value)\n",
596
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
597
      "    yield self.process_one()\n",
598
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
599
      "    runner = Runner(result, future, yielded)\n",
600
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
601
      "    self.run()\n",
602
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
603
      "    yielded = self.gen.send(value)\n",
604
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
605
      "    yield gen.maybe_future(dispatch(*args))\n",
606
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
607
      "    yielded = next(result)\n",
608
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
609
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
610
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
611
      "    yielded = next(result)\n",
612
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
613
      "    user_expressions, allow_stdin,\n",
614
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
615
      "    yielded = next(result)\n",
616
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
617
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
618
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
619
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
620
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
621
      "    raw_cell, store_history, silent, shell_futures)\n",
622
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
623
      "    return runner(coro)\n",
624
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
625
      "    coro.send(None)\n",
626
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
627
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
628
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
629
      "    if (await self.run_code(code, result,  async_=asy)):\n",
630
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
631
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
632
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
633
      "    train_on_gpu=True, n_epochs=epochs)\n",
634
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 152, in learner\n",
635
      "    helper.logger.info(f'Epoch {epoch + 1}/{n_epochs}')\n",
636
      "Message: 'Epoch 2/10'\n",
637
      "Arguments: ()\n",
638
      "--- Logging error ---\n",
639
      "Traceback (most recent call last):\n",
640
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
641
      "    self.doRollover()\n",
642
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
643
      "    self.rotate(self.baseFilename, dfn)\n",
644
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
645
      "    os.rename(source, dest)\n",
646
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
647
      "Call stack:\n",
648
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
649
      "    \"__main__\", mod_spec)\n",
650
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
651
      "    exec(code, run_globals)\n",
652
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
653
      "    app.launch_new_instance()\n",
654
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
655
      "    app.start()\n",
656
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
657
      "    self.io_loop.start()\n",
658
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
659
      "    self.asyncio_loop.run_forever()\n",
660
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
661
      "    self._run_once()\n",
662
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
663
      "    handle._run()\n",
664
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
665
      "    self._context.run(self._callback, *self._args)\n",
666
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
667
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
668
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
669
      "    ret = callback()\n",
670
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
671
      "    self.run()\n",
672
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
673
      "    yielded = self.gen.send(value)\n",
674
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
675
      "    yield self.process_one()\n",
676
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
677
      "    runner = Runner(result, future, yielded)\n",
678
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
679
      "    self.run()\n",
680
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
681
      "    yielded = self.gen.send(value)\n",
682
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
683
      "    yield gen.maybe_future(dispatch(*args))\n",
684
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
685
      "    yielded = next(result)\n",
686
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
687
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
688
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
689
      "    yielded = next(result)\n",
690
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
691
      "    user_expressions, allow_stdin,\n",
692
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
693
      "    yielded = next(result)\n",
694
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
695
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
696
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
697
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
698
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
699
      "    raw_cell, store_history, silent, shell_futures)\n",
700
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
701
      "    return runner(coro)\n",
702
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
703
      "    coro.send(None)\n",
704
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
705
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
706
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
707
      "    if (await self.run_code(code, result,  async_=asy)):\n",
708
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
709
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
710
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
711
      "    train_on_gpu=True, n_epochs=epochs)\n",
712
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 153, in learner\n",
713
      "    helper.logger.info('-' * 10)\n",
714
      "Message: '----------'\n",
715
      "Arguments: ()\n",
716
      "--- Logging error ---\n",
717
      "Traceback (most recent call last):\n",
718
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
719
      "    self.doRollover()\n",
720
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
721
      "    self.rotate(self.baseFilename, dfn)\n",
722
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
723
      "    os.rename(source, dest)\n",
724
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
725
      "Call stack:\n",
726
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
727
      "    \"__main__\", mod_spec)\n",
728
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
729
      "    exec(code, run_globals)\n",
730
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
731
      "    app.launch_new_instance()\n",
732
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
733
      "    app.start()\n",
734
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
735
      "    self.io_loop.start()\n",
736
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
737
      "    self.asyncio_loop.run_forever()\n",
738
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
739
      "    self._run_once()\n",
740
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
741
      "    handle._run()\n",
742
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
743
      "    self._context.run(self._callback, *self._args)\n",
744
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
745
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
746
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
747
      "    ret = callback()\n",
748
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
749
      "    self.run()\n",
750
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
751
      "    yielded = self.gen.send(value)\n",
752
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
753
      "    yield self.process_one()\n",
754
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
755
      "    runner = Runner(result, future, yielded)\n",
756
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
757
      "    self.run()\n",
758
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
759
      "    yielded = self.gen.send(value)\n",
760
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
761
      "    yield gen.maybe_future(dispatch(*args))\n",
762
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
763
      "    yielded = next(result)\n",
764
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
765
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
766
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
767
      "    yielded = next(result)\n",
768
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
769
      "    user_expressions, allow_stdin,\n",
770
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
771
      "    yielded = next(result)\n",
772
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
773
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
774
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
775
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
776
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
777
      "    raw_cell, store_history, silent, shell_futures)\n",
778
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
779
      "    return runner(coro)\n",
780
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
781
      "    coro.send(None)\n",
782
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
783
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
784
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
785
      "    if (await self.run_code(code, result,  async_=asy)):\n",
786
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
787
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
788
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
789
      "    train_on_gpu=True, n_epochs=epochs)\n",
790
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 165, in learner\n",
791
      "    helper.logger.info(f'Train loss: {train_loss} Accuracy: {train_acc}')\n",
792
      "Message: 'Train loss: 0.3280406277626753 Accuracy: 0.8607594966888428'\n",
793
      "Arguments: ()\n",
794
      "--- Logging error ---\n",
795
      "Traceback (most recent call last):\n",
796
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
797
      "    self.doRollover()\n",
798
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
799
      "    self.rotate(self.baseFilename, dfn)\n",
800
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
801
      "    os.rename(source, dest)\n",
802
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
803
      "Call stack:\n",
804
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
805
      "    \"__main__\", mod_spec)\n",
806
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
807
      "    exec(code, run_globals)\n",
808
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
809
      "    app.launch_new_instance()\n",
810
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
811
      "    app.start()\n",
812
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
813
      "    self.io_loop.start()\n",
814
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
815
      "    self.asyncio_loop.run_forever()\n",
816
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
817
      "    self._run_once()\n",
818
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
819
      "    handle._run()\n",
820
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
821
      "    self._context.run(self._callback, *self._args)\n",
822
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
823
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
824
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
825
      "    ret = callback()\n",
826
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
827
      "    self.run()\n",
828
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
829
      "    yielded = self.gen.send(value)\n",
830
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
831
      "    yield self.process_one()\n",
832
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
833
      "    runner = Runner(result, future, yielded)\n",
834
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
835
      "    self.run()\n",
836
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
837
      "    yielded = self.gen.send(value)\n",
838
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
839
      "    yield gen.maybe_future(dispatch(*args))\n",
840
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
841
      "    yielded = next(result)\n",
842
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
843
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
844
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
845
      "    yielded = next(result)\n",
846
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
847
      "    user_expressions, allow_stdin,\n",
848
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
849
      "    yielded = next(result)\n",
850
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
851
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
852
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
853
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
854
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
855
      "    raw_cell, store_history, silent, shell_futures)\n",
856
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
857
      "    return runner(coro)\n",
858
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
859
      "    coro.send(None)\n",
860
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
861
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
862
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
863
      "    if (await self.run_code(code, result,  async_=asy)):\n",
864
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
865
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
866
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
867
      "    train_on_gpu=True, n_epochs=epochs)\n",
868
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 175, in learner\n",
869
      "    helper.logger.info(f'Valid loss: {val_loss} Accuracy: {val_acc}')\n",
870
      "Message: 'Valid loss: 0.8643777370452881 Accuracy: 0.5555555820465088'\n",
871
      "Arguments: ()\n",
872
      "--- Logging error ---\n",
873
      "Traceback (most recent call last):\n",
874
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
875
      "    self.doRollover()\n",
876
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
877
      "    self.rotate(self.baseFilename, dfn)\n",
878
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
879
      "    os.rename(source, dest)\n",
880
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
881
      "Call stack:\n",
882
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
883
      "    \"__main__\", mod_spec)\n",
884
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
885
      "    exec(code, run_globals)\n",
886
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
887
      "    app.launch_new_instance()\n",
888
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
889
      "    app.start()\n",
890
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
891
      "    self.io_loop.start()\n",
892
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
893
      "    self.asyncio_loop.run_forever()\n",
894
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
895
      "    self._run_once()\n",
896
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
897
      "    handle._run()\n",
898
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
899
      "    self._context.run(self._callback, *self._args)\n",
900
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
901
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
902
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
903
      "    ret = callback()\n",
904
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
905
      "    self.run()\n",
906
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
907
      "    yielded = self.gen.send(value)\n",
908
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
909
      "    yield self.process_one()\n",
910
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
911
      "    runner = Runner(result, future, yielded)\n",
912
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
913
      "    self.run()\n",
914
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
915
      "    yielded = self.gen.send(value)\n",
916
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
917
      "    yield gen.maybe_future(dispatch(*args))\n",
918
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
919
      "    yielded = next(result)\n",
920
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
921
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
922
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
923
      "    yielded = next(result)\n",
924
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
925
      "    user_expressions, allow_stdin,\n",
926
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
927
      "    yielded = next(result)\n",
928
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
929
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
930
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
931
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
932
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
933
      "    raw_cell, store_history, silent, shell_futures)\n",
934
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
935
      "    return runner(coro)\n",
936
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
937
      "    coro.send(None)\n",
938
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
939
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
940
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
941
      "    if (await self.run_code(code, result,  async_=asy)):\n",
942
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
943
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
944
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
945
      "    train_on_gpu=True, n_epochs=epochs)\n",
946
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 152, in learner\n",
947
      "    helper.logger.info(f'Epoch {epoch + 1}/{n_epochs}')\n",
948
      "Message: 'Epoch 3/10'\n",
949
      "Arguments: ()\n",
950
      "--- Logging error ---\n",
951
      "Traceback (most recent call last):\n",
952
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
953
      "    self.doRollover()\n",
954
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
955
      "    self.rotate(self.baseFilename, dfn)\n",
956
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
957
      "    os.rename(source, dest)\n",
958
      "PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log' -> 'C:\\\\Peter Moss AML Leukemia Research\\\\ALL-PyTorch-2020\\\\Classifier\\\\Logs\\\\all.log.2020-12-30_00'\n",
959
      "Call stack:\n",
960
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
961
      "    \"__main__\", mod_spec)\n",
962
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
963
      "    exec(code, run_globals)\n",
964
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
965
      "    app.launch_new_instance()\n",
966
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
967
      "    app.start()\n",
968
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
969
      "    self.io_loop.start()\n",
970
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
971
      "    self.asyncio_loop.run_forever()\n",
972
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
973
      "    self._run_once()\n",
974
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
975
      "    handle._run()\n",
976
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
977
      "    self._context.run(self._callback, *self._args)\n",
978
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
979
      "    lambda f: self._run_callback(functools.partial(callback, future))\n",
980
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
981
      "    ret = callback()\n",
982
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
983
      "    self.run()\n",
984
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
985
      "    yielded = self.gen.send(value)\n",
986
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
987
      "    yield self.process_one()\n",
988
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
989
      "    runner = Runner(result, future, yielded)\n",
990
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
991
      "    self.run()\n",
992
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
993
      "    yielded = self.gen.send(value)\n",
994
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
995
      "    yield gen.maybe_future(dispatch(*args))\n",
996
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
997
      "    yielded = next(result)\n",
998
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
999
      "    yield gen.maybe_future(handler(stream, idents, msg))\n",
1000
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
1001
      "    yielded = next(result)\n",
1002
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
1003
      "    user_expressions, allow_stdin,\n",
1004
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
1005
      "    yielded = next(result)\n",
1006
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
1007
      "    res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
1008
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
1009
      "    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
1010
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
1011
      "    raw_cell, store_history, silent, shell_futures)\n",
1012
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
1013
      "    return runner(coro)\n",
1014
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
1015
      "    coro.send(None)\n",
1016
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
1017
      "    interactivity=interactivity, compiler=compiler, result=result)\n",
1018
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
1019
      "    if (await self.run_code(code, result,  async_=asy)):\n",
1020
      "  File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
1021
      "    exec(code_obj, self.user_global_ns, self.user_ns)\n",
1022
      "  File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
1023
      "    train_on_gpu=True, n_epochs=epochs)\n",
1024
      "  File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 153, in learner\n",
1025
      "    helper.logger.info('-' * 10)\n",
1026
      "Message: '----------'\n",
1027
      "Arguments: ()\n"
1028
     ]
1029
    },
1030
    {
1031
     "ename": "KeyboardInterrupt",
1032
     "evalue": "",
1033
     "output_type": "error",
1034
     "traceback": [
1035
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
1036
      "\u001B[1;31mKeyboardInterrupt\u001B[0m                         Traceback (most recent call last)",
1037
      "\u001B[1;32m<ipython-input-9-afcd5a747e46>\u001B[0m in \u001B[0;36m<module>\u001B[1;34m\u001B[0m\n\u001B[0;32m      5\u001B[0m                               \u001B[0mcriterion\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mtrain_size\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m      6\u001B[0m                               \u001B[0mvalid_size\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m----> 7\u001B[1;33m                               train_on_gpu=True, n_epochs=epochs)\n\u001B[0m\u001B[0;32m      8\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
1038
      "\u001B[1;32mC:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\u001B[0m in \u001B[0;36mlearner\u001B[1;34m(model, train_data_loader, valid_data_loader, optimizer, scheduler, loss_function, trainset_size, validset_size, train_on_gpu, n_epochs)\u001B[0m\n\u001B[0;32m    160\u001B[0m             \u001B[0mscheduler\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    161\u001B[0m             \u001B[0mtrainset_size\u001B[0m\u001B[1;33m,\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 162\u001B[1;33m             \u001B[0mtrain_on_gpu\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m    163\u001B[0m         )\n\u001B[0;32m    164\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n",
1039
      "\u001B[1;32mC:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\u001B[0m in \u001B[0;36mtrain_epoch\u001B[1;34m(model, data_loader, loss_function, optimizer, scheduler, trainset_size, train_on_gpu)\u001B[0m\n\u001B[0;32m     73\u001B[0m     \u001B[0mcorrect_predictions\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;36m0\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     74\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 75\u001B[1;33m     \u001B[1;32mfor\u001B[0m \u001B[0mi\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mdataset\u001B[0m \u001B[1;32min\u001B[0m \u001B[0menumerate\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mdata_loader\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     76\u001B[0m         \u001B[0minputs\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mlabels\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mdataset\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     77\u001B[0m         \u001B[1;32mif\u001B[0m \u001B[0mtrain_on_gpu\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
1040
      "\u001B[1;32m~\\Anaconda3\\lib\\site-packages\\torch\\utils\\data\\dataloader.py\u001B[0m in \u001B[0;36m__next__\u001B[1;34m(self)\u001B[0m\n\u001B[0;32m    344\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0m__next__\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\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    345\u001B[0m         \u001B[0mindex\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_next_index\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;33m)\u001B[0m  \u001B[1;31m# may raise StopIteration\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m--> 346\u001B[1;33m         \u001B[0mdata\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_dataset_fetcher\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mfetch\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mindex\u001B[0m\u001B[1;33m)\u001B[0m  \u001B[1;31m# may raise StopIteration\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0m\u001B[0;32m    347\u001B[0m         \u001B[1;32mif\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0m_pin_memory\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m    348\u001B[0m             \u001B[0mdata\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0m_utils\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mpin_memory\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mpin_memory\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mdata\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
1041
      "\u001B[1;32m~\\Anaconda3\\lib\\site-packages\\torch\\utils\\data\\_utils\\fetch.py\u001B[0m in \u001B[0;36mfetch\u001B[1;34m(self, possibly_batched_index)\u001B[0m\n\u001B[0;32m     42\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mfetch\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mpossibly_batched_index\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     43\u001B[0m         \u001B[1;32mif\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mauto_collation\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 44\u001B[1;33m             \u001B[0mdata\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mdataset\u001B[0m\u001B[1;33m[\u001B[0m\u001B[0midx\u001B[0m\u001B[1;33m]\u001B[0m \u001B[1;32mfor\u001B[0m \u001B[0midx\u001B[0m \u001B[1;32min\u001B[0m \u001B[0mpossibly_batched_index\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     45\u001B[0m         \u001B[1;32melse\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     46\u001B[0m             \u001B[0mdata\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mdataset\u001B[0m\u001B[1;33m[\u001B[0m\u001B[0mpossibly_batched_index\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
1042
      "\u001B[1;32m~\\Anaconda3\\lib\\site-packages\\torch\\utils\\data\\_utils\\fetch.py\u001B[0m in \u001B[0;36m<listcomp>\u001B[1;34m(.0)\u001B[0m\n\u001B[0;32m     42\u001B[0m     \u001B[1;32mdef\u001B[0m \u001B[0mfetch\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mpossibly_batched_index\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     43\u001B[0m         \u001B[1;32mif\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mauto_collation\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 44\u001B[1;33m             \u001B[0mdata\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;33m[\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mdataset\u001B[0m\u001B[1;33m[\u001B[0m\u001B[0midx\u001B[0m\u001B[1;33m]\u001B[0m \u001B[1;32mfor\u001B[0m \u001B[0midx\u001B[0m \u001B[1;32min\u001B[0m \u001B[0mpossibly_batched_index\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     45\u001B[0m         \u001B[1;32melse\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     46\u001B[0m             \u001B[0mdata\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mdataset\u001B[0m\u001B[1;33m[\u001B[0m\u001B[0mpossibly_batched_index\u001B[0m\u001B[1;33m]\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
1043
      "\u001B[1;32mC:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Data.py\u001B[0m in \u001B[0;36m__getitem__\u001B[1;34m(self, index)\u001B[0m\n\u001B[0;32m     46\u001B[0m         \u001B[0mimg_name\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mlabel\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mdf\u001B[0m\u001B[1;33m[\u001B[0m\u001B[0mindex\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[0mimg_path\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mos\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mpath\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mjoin\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mdata_dir\u001B[0m\u001B[1;33m,\u001B[0m \u001B[0mimg_name\u001B[0m \u001B[1;33m+\u001B[0m \u001B[1;34m'.jpg'\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m---> 48\u001B[1;33m         \u001B[0mimage\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mImage\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mopen\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mimg_path\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     49\u001B[0m         \u001B[1;32mif\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mtransform\u001B[0m \u001B[1;32mis\u001B[0m \u001B[1;32mnot\u001B[0m \u001B[1;32mNone\u001B[0m\u001B[1;33m:\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m     50\u001B[0m             \u001B[0mimage\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mself\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mtransform\u001B[0m\u001B[1;33m(\u001B[0m\u001B[0mimage\u001B[0m\u001B[1;33m)\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n",
1044
      "\u001B[1;32m~\\Anaconda3\\lib\\site-packages\\PIL\\Image.py\u001B[0m in \u001B[0;36mopen\u001B[1;34m(fp, mode)\u001B[0m\n\u001B[0;32m   2777\u001B[0m         \u001B[0mexclusive_fp\u001B[0m \u001B[1;33m=\u001B[0m \u001B[1;32mTrue\u001B[0m\u001B[1;33m\u001B[0m\u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m   2778\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[1;32m-> 2779\u001B[1;33m     \u001B[0mprefix\u001B[0m \u001B[1;33m=\u001B[0m \u001B[0mfp\u001B[0m\u001B[1;33m.\u001B[0m\u001B[0mread\u001B[0m\u001B[1;33m(\u001B[0m\u001B[1;36m16\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   2780\u001B[0m \u001B[1;33m\u001B[0m\u001B[0m\n\u001B[0;32m   2781\u001B[0m     \u001B[0mpreinit\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",
1045
      "\u001B[1;31mKeyboardInterrupt\u001B[0m: "
1046
     ]
1047
    }
1048
   ],
1049
   "source": [
1050
    "# begin training\n",
1051
    "real_model, history = learner(model, train_data_loader,\n",
1052
    "                              valid_data_loader,\n",
1053
    "                              optimizer, scheduler,\n",
1054
    "                              criterion, train_size,\n",
1055
    "                              valid_size,\n",
1056
    "                              train_on_gpu=True, n_epochs=epochs)"
1057
   ]
1058
  },
1059
  {
1060
   "cell_type": "code",
1061
   "execution_count": null,
1062
   "metadata": {},
1063
   "outputs": [],
1064
   "source": [
1065
    "# plot model loss and accuracy\n",
1066
    "plot_training_history(history, save_path=acc_loss_png)"
1067
   ]
1068
  },
1069
  {
1070
   "cell_type": "code",
1071
   "execution_count": null,
1072
   "metadata": {},
1073
   "outputs": [],
1074
   "source": [
1075
    "# Get model prediction\n",
1076
    "y_pred, y_test = get_predictions(real_model,valid_data_loader)\n",
1077
    "# Get model precision, recall and f1_score\n",
1078
    "helper.logger.info(classification_report(y_test, y_pred, target_names=class_name))"
1079
   ]
1080
  },
1081
  {
1082
   "cell_type": "code",
1083
   "execution_count": null,
1084
   "metadata": {},
1085
   "outputs": [],
1086
   "source": [
1087
    "# Get model confusion matrix\n",
1088
    "cm = confusion_matrix(y_test, y_pred)\n",
1089
    "confusion_matrix2(cm, class_name,save_path=confusion_png)"
1090
   ]
1091
  },
1092
  {
1093
   "cell_type": "code",
1094
   "execution_count": null,
1095
   "metadata": {},
1096
   "outputs": [],
1097
   "source": [
1098
    "prediction = predict_probability(real_model,validation_transforms, 'C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Model\\Data\\Test\\Im047_0.jpg')"
1099
   ]
1100
  },
1101
  {
1102
   "cell_type": "code",
1103
   "execution_count": null,
1104
   "metadata": {},
1105
   "outputs": [],
1106
   "source": [
1107
    "prediction"
1108
   ]
1109
  },
1110
  {
1111
   "cell_type": "code",
1112
   "execution_count": null,
1113
   "metadata": {},
1114
   "outputs": [],
1115
   "source": [
1116
    "show_prediction_confidence(prediction, class_name)"
1117
   ]
1118
  },
1119
  {
1120
   "cell_type": "markdown",
1121
   "metadata": {},
1122
   "source": [
1123
    "Model Interpretation"
1124
   ]
1125
  },
1126
  {
1127
   "cell_type": "code",
1128
   "execution_count": null,
1129
   "metadata": {},
1130
   "outputs": [],
1131
   "source": [
1132
    "#prediction = predict_probability(real_model, validation_transforms, image_path)\n",
1133
    "interpret_model(real_model,validation_transforms, image_path, label_idx, use_cpu=True, intrepret_type=\"integrated gradients\")\n",
1134
    "interpret_model(real_model,validation_transforms, image_path, label_idx, use_cpu=True, intrepret_type=\"gradient shap\")\n",
1135
    "interpret_model(real_model,validation_transforms, image_path, label_idx, use_cpu=True, intrepret_type=\"saliency\")\n",
1136
    "\n",
1137
    "interpret_model(real_model,validation_transforms, image_path2, label_idx, use_cpu=True, intrepret_type=\"integrated gradients\")\n",
1138
    "interpret_model(real_model,validation_transforms, image_path2, label_idx, use_cpu=True, intrepret_type=\"gradient shap\")\n",
1139
    "interpret_model(real_model,validation_transforms, image_path2, label_idx, use_cpu=True, intrepret_type=\"saliency\")"
1140
   ]
1141
  },
1142
  {
1143
   "cell_type": "code",
1144
   "execution_count": null,
1145
   "metadata": {},
1146
   "outputs": [],
1147
   "source": [
1148
    "#train data directory\n",
1149
    "test_dir = 'C:/Peter Moss AML Leukemia Research/Dataset/all_test/'\n",
1150
    "test_csv = 'C:/Peter Moss AML Leukemia Research/Dataset/test.csv'\n",
1151
    "label_csv = pd.read_csv(test_csv)\n",
1152
    "testset = LeukemiaDataset(df_data=label_csv, data_dir=test_dir, transform=validation_transforms)\n",
1153
    "test_data_loader = DataLoader(testset, batch_size=batch_size, shuffle=True)\n",
1154
    "show_predictions(model=real_model, class_names=class_name, test_data_loader=test_data_loader, n_images=6)"
1155
   ]
1156
  },
1157
  {
1158
   "cell_type": "code",
1159
   "execution_count": null,
1160
   "metadata": {},
1161
   "outputs": [],
1162
   "source": []
1163
  }
1164
 ],
1165
 "metadata": {
1166
  "kernelspec": {
1167
   "display_name": "Python 3",
1168
   "language": "python",
1169
   "name": "python3"
1170
  },
1171
  "language_info": {
1172
   "codemirror_mode": {
1173
    "name": "ipython",
1174
    "version": 3
1175
   },
1176
   "file_extension": ".py",
1177
   "mimetype": "text/x-python",
1178
   "name": "python",
1179
   "nbconvert_exporter": "python",
1180
   "pygments_lexer": "ipython3",
1181
   "version": "3.7.3"
1182
  }
1183
 },
1184
 "nbformat": 4,
1185
 "nbformat_minor": 4
1186
}