1186 lines (1186 with data), 86.3 kB
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from Classes.Data import augmentation, LeukemiaDataset, augmentation_alb\n",
"from Classes.Helpers import Helpers\n",
"from Classes.Model_2020 import LuekemiaNet, learner\n",
"from Classes.model_api import plot_training_history, show_predictions,\\\n",
" confusion_matrix2, get_predictions, predict_probability, show_prediction_confidence\n",
"from Classes.interpretability import interpret_model\n",
"from torch.utils.data import DataLoader\n",
"from torch.utils.data.sampler import SubsetRandomSampler\n",
"import torch.optim as optim\n",
"import pandas as pd\n",
"from torch import nn\n",
"import random\n",
"import torch\n",
"import os\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.metrics import confusion_matrix, classification_report\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"SEED = 323\n",
"def seed_everything(seed=SEED):\n",
" random.seed(seed)\n",
" os.environ['PYHTONHASHSEED'] = str(seed)\n",
" np.random.seed(seed)\n",
" torch.manual_seed(seed)\n",
" torch.cuda.manual_seed(seed)\n",
" torch.backends.cudnn.deterministic = True\n",
"\n",
"\n",
"seed_everything(SEED)\n",
"# helper class\n",
"helper = Helpers(\"Test Model\", False)\n",
"# train data directory\n",
"train_dir = 'C:/Peter Moss AML Leukemia Research/Dataset/all_train/'\n",
"# train label directoy\n",
"train_csv = 'C:/Peter Moss AML Leukemia Research/Dataset/train.csv'\n",
"# labels\n",
"class_name = [\"neg\", \"pos\"]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"image_path = 'C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Model\\Data\\Test\\Im047_0.jpg'\n",
"image_path2 = 'C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Model\\Data\\Test\\Im006_1.jpg'\n",
"label_idx = 'C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Model\\class_idx.json'"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0 49\n",
"1 39\n",
"Name: label, dtype: int64\n",
" data label\n",
"0 Im001_1 1\n",
"1 Im002_1 1\n",
"2 Im003_1 1\n",
"3 Im004_1 1\n",
"4 Im005_1 1\n",
"79 9\n"
]
}
],
"source": [
"# training batch size\n",
"batch_size = helper.config[\"classifier\"][\"train\"][\"batch\"]\n",
"# accuracy and loss save directory\n",
"acc_loss_png = helper.config[\"classifier\"][\"model_params\"][\"plot_loss_and_acc\"]\n",
"# confusion matrix save directory\n",
"confusion_png = helper.config[\"classifier\"][\"model_params\"][\"confusion_matrix\"]\n",
"# number of epoch\n",
"epochs = helper.config[\"classifier\"][\"train\"][\"epochs\"]\n",
"# learning rate\n",
"learn_rate = helper.config[\"classifier\"][\"train\"][\"learning_rate_adam\"]\n",
"# decay\n",
"decay = helper.config[\"classifier\"][\"train\"][\"decay_adam\"]\n",
"# read train CSV file\n",
"labels = pd.read_csv(train_csv)\n",
"# print label count\n",
"labels_count = labels.label.value_counts()\n",
"print(labels_count)\n",
"# print 5 label header\n",
"print(labels.head())\n",
"# splitting data into training and validation set\n",
"train, valid = train_test_split(labels, stratify = labels.label, test_size = 0.1, shuffle=True)\n",
"print(len(train),len(valid))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"79 9\n"
]
}
],
"source": [
"#data augmentation\n",
"training_transforms, validation_transforms = augmentation()\n",
"\n",
"# Read Acute Lymphoblastic Leukemia dataset from disk\n",
"trainset = LeukemiaDataset(df_data=train, data_dir=train_dir, transform=training_transforms)\n",
"validset = LeukemiaDataset(df_data=valid, data_dir=train_dir, transform=validation_transforms)\n",
"\n",
"train_size, valid_size = len(trainset), len(validset)\n",
"print(train_size, valid_size)\n",
"\n",
"train_sampler = SubsetRandomSampler(list(train.index))\n",
"valid_sampler = SubsetRandomSampler(list(valid.index))\n",
"\n",
"# Prepare dataset for neural networks\n",
"train_data_loader = DataLoader(trainset, batch_size=batch_size, shuffle=True)\n",
"valid_data_loader = DataLoader(validset, batch_size=batch_size, shuffle=False)\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Training Set:\n",
"\n",
"Image batch dimensions: torch.Size([10, 3, 100, 100])\n",
"Image label dimensions: torch.Size([10])\n",
"\n",
"\n",
"The labels: tensor([1, 1, 0, 0, 0, 0, 0, 1, 1])\n"
]
}
],
"source": [
"# Checking the dataset\n",
"print('Training Set:\\n')\n",
"for images, labels in train_data_loader:\n",
" print('Image batch dimensions:', images.size())\n",
" print('Image label dimensions:', labels.size())\n",
" break\n",
"print(\"\\n\")\n",
"\n",
"# loop through our validation data and output the labels\n",
"for images, labels in valid_data_loader:\n",
" print(\"The labels: \",labels)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CUDA is available and training on GPU ...\n"
]
}
],
"source": [
"\n",
"# Define model\n",
"model = LuekemiaNet()\n",
"# check if CUDA is available\n",
"train_on_gpu = torch.cuda.is_available()\n",
"# Move our model to CUDA for gpu training\n",
"model.cuda()\n",
"\n",
"\n",
"if not train_on_gpu:\n",
" print('CUDA is not available and training on CPU ...')\n",
"else:\n",
" print('CUDA is available and training on GPU ...')\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# Cross entropy loss function\n",
"criterion = nn.CrossEntropyLoss()\n",
"# specify optimizer (stochastic gradient descent) and learning rate = 0.001\n",
"optimizer = optim.Adam(model.parameters(), weight_decay=decay, lr=learn_rate)\n",
"# scheduler = CyclicLR(optimizer, base_lr=lr, max_lr=0.01, step_size=5, mode='triangular2')\n",
"scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=7, gamma=helper.config[\"classifier\"][\"model_params\"][\"gamma\"])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2020-12-31 03:09:27,061 - Model - INFO - Epoch 1/10\n",
"2020-12-31 03:09:27,091 - Model - INFO - ----------\n",
"2020-12-31 03:09:38,622 - Model - INFO - Train loss: 0.5225205793976784 Accuracy: 0.7341772317886353\n",
"2020-12-31 03:09:39,573 - Model - INFO - Valid loss: 0.7080000042915344 Accuracy: 0.5555555820465088\n",
"\n",
"2020-12-31 03:09:39,761 - Model - INFO - Epoch 2/10\n",
"2020-12-31 03:09:39,774 - Model - INFO - ----------\n",
"2020-12-31 03:09:47,664 - Model - INFO - Train loss: 0.3280406277626753 Accuracy: 0.8607594966888428\n",
"2020-12-31 03:09:48,575 - Model - INFO - Valid loss: 0.8643777370452881 Accuracy: 0.5555555820465088\n",
"\n",
"2020-12-31 03:09:48,645 - Model - INFO - Epoch 3/10\n",
"2020-12-31 03:09:48,651 - Model - INFO - ----------\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 152, in learner\n",
" helper.logger.info(f'Epoch {epoch + 1}/{n_epochs}')\n",
"Message: 'Epoch 1/10'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 153, in learner\n",
" helper.logger.info('-' * 10)\n",
"Message: '----------'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 165, in learner\n",
" helper.logger.info(f'Train loss: {train_loss} Accuracy: {train_acc}')\n",
"Message: 'Train loss: 0.5225205793976784 Accuracy: 0.7341772317886353'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 175, in learner\n",
" helper.logger.info(f'Valid loss: {val_loss} Accuracy: {val_acc}')\n",
"Message: 'Valid loss: 0.7080000042915344 Accuracy: 0.5555555820465088'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 152, in learner\n",
" helper.logger.info(f'Epoch {epoch + 1}/{n_epochs}')\n",
"Message: 'Epoch 2/10'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 153, in learner\n",
" helper.logger.info('-' * 10)\n",
"Message: '----------'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 165, in learner\n",
" helper.logger.info(f'Train loss: {train_loss} Accuracy: {train_acc}')\n",
"Message: 'Train loss: 0.3280406277626753 Accuracy: 0.8607594966888428'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 175, in learner\n",
" helper.logger.info(f'Valid loss: {val_loss} Accuracy: {val_acc}')\n",
"Message: 'Valid loss: 0.8643777370452881 Accuracy: 0.5555555820465088'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 152, in learner\n",
" helper.logger.info(f'Epoch {epoch + 1}/{n_epochs}')\n",
"Message: 'Epoch 3/10'\n",
"Arguments: ()\n",
"--- Logging error ---\n",
"Traceback (most recent call last):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 69, in emit\n",
" self.doRollover()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 393, in doRollover\n",
" self.rotate(self.baseFilename, dfn)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\logging\\handlers.py\", line 110, in rotate\n",
" os.rename(source, dest)\n",
"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",
"Call stack:\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 193, in _run_module_as_main\n",
" \"__main__\", mod_spec)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\runpy.py\", line 85, in _run_code\n",
" exec(code, run_globals)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n",
" app.launch_new_instance()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n",
" app.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 505, in start\n",
" self.io_loop.start()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\platform\\asyncio.py\", line 148, in start\n",
" self.asyncio_loop.run_forever()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 539, in run_forever\n",
" self._run_once()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\base_events.py\", line 1775, in _run_once\n",
" handle._run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\asyncio\\events.py\", line 88, in _run\n",
" self._context.run(self._callback, *self._args)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 690, in <lambda>\n",
" lambda f: self._run_callback(functools.partial(callback, future))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\ioloop.py\", line 743, in _run_callback\n",
" ret = callback()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 787, in inner\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 378, in dispatch_queue\n",
" yield self.process_one()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 225, in wrapper\n",
" runner = Runner(result, future, yielded)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 714, in __init__\n",
" self.run()\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 748, in run\n",
" yielded = self.gen.send(value)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 365, in process_one\n",
" yield gen.maybe_future(dispatch(*args))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 272, in dispatch_shell\n",
" yield gen.maybe_future(handler(stream, idents, msg))\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 542, in execute_request\n",
" user_expressions, allow_stdin,\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\tornado\\gen.py\", line 209, in wrapper\n",
" yielded = next(result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 294, in do_execute\n",
" res = shell.run_cell(code, store_history=store_history, silent=silent)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 536, in run_cell\n",
" return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2854, in run_cell\n",
" raw_cell, store_history, silent, shell_futures)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2880, in _run_cell\n",
" return runner(coro)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\async_helpers.py\", line 68, in _pseudo_sync_runner\n",
" coro.send(None)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3057, in run_cell_async\n",
" interactivity=interactivity, compiler=compiler, result=result)\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3248, in run_ast_nodes\n",
" if (await self.run_code(code, result, async_=asy)):\n",
" File \"C:\\Users\\Allen\\Anaconda3\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3325, in run_code\n",
" exec(code_obj, self.user_global_ns, self.user_ns)\n",
" File \"<ipython-input-9-afcd5a747e46>\", line 7, in <module>\n",
" train_on_gpu=True, n_epochs=epochs)\n",
" File \"C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Classes\\Model_2020.py\", line 153, in learner\n",
" helper.logger.info('-' * 10)\n",
"Message: '----------'\n",
"Arguments: ()\n"
]
},
{
"ename": "KeyboardInterrupt",
"evalue": "",
"output_type": "error",
"traceback": [
"\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
"\u001B[1;31mKeyboardInterrupt\u001B[0m Traceback (most recent call last)",
"\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",
"\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",
"\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",
"\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",
"\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",
"\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",
"\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",
"\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",
"\u001B[1;31mKeyboardInterrupt\u001B[0m: "
]
}
],
"source": [
"# begin training\n",
"real_model, history = learner(model, train_data_loader,\n",
" valid_data_loader,\n",
" optimizer, scheduler,\n",
" criterion, train_size,\n",
" valid_size,\n",
" train_on_gpu=True, n_epochs=epochs)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# plot model loss and accuracy\n",
"plot_training_history(history, save_path=acc_loss_png)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Get model prediction\n",
"y_pred, y_test = get_predictions(real_model,valid_data_loader)\n",
"# Get model precision, recall and f1_score\n",
"helper.logger.info(classification_report(y_test, y_pred, target_names=class_name))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Get model confusion matrix\n",
"cm = confusion_matrix(y_test, y_pred)\n",
"confusion_matrix2(cm, class_name,save_path=confusion_png)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"prediction = predict_probability(real_model,validation_transforms, 'C:\\Peter Moss AML Leukemia Research\\ALL-PyTorch-2020\\Classifier\\Model\\Data\\Test\\Im047_0.jpg')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"prediction"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"show_prediction_confidence(prediction, class_name)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Model Interpretation"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#prediction = predict_probability(real_model, validation_transforms, image_path)\n",
"interpret_model(real_model,validation_transforms, image_path, label_idx, use_cpu=True, intrepret_type=\"integrated gradients\")\n",
"interpret_model(real_model,validation_transforms, image_path, label_idx, use_cpu=True, intrepret_type=\"gradient shap\")\n",
"interpret_model(real_model,validation_transforms, image_path, label_idx, use_cpu=True, intrepret_type=\"saliency\")\n",
"\n",
"interpret_model(real_model,validation_transforms, image_path2, label_idx, use_cpu=True, intrepret_type=\"integrated gradients\")\n",
"interpret_model(real_model,validation_transforms, image_path2, label_idx, use_cpu=True, intrepret_type=\"gradient shap\")\n",
"interpret_model(real_model,validation_transforms, image_path2, label_idx, use_cpu=True, intrepret_type=\"saliency\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#train data directory\n",
"test_dir = 'C:/Peter Moss AML Leukemia Research/Dataset/all_test/'\n",
"test_csv = 'C:/Peter Moss AML Leukemia Research/Dataset/test.csv'\n",
"label_csv = pd.read_csv(test_csv)\n",
"testset = LeukemiaDataset(df_data=label_csv, data_dir=test_dir, transform=validation_transforms)\n",
"test_data_loader = DataLoader(testset, batch_size=batch_size, shuffle=True)\n",
"show_predictions(model=real_model, class_names=class_name, test_data_loader=test_data_loader, n_images=6)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}