Skip to content

Instantly share code, notes, and snippets.

@myselfHimanshu
Created June 14, 2020 04:34
Show Gist options
  • Save myselfHimanshu/61fbda0a7a451b53d7a39ee9fc2d91e2 to your computer and use it in GitHub Desktop.
Save myselfHimanshu/61fbda0a7a451b53d7a39ee9fc2d91e2 to your computer and use it in GitHub Desktop.
3rd May 2020
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "MNIST_model_03.ipynb",
"provenance": [],
"collapsed_sections": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "Q1TXNOvQ9Kaf",
"colab_type": "text"
},
"source": [
"# MNIST CNN model\n",
"\n",
"- run your model for 25 epochs for each:\n",
"- without L1/L2 with BN\n",
"- without L1/L2 with GBN\n",
"- with L1 with BN\n",
"- with L1 with GBN\n",
"- with L2 with BN\n",
"- with L2 with GBN\n",
"- with L1 and L2 with BN\n",
"- with L1 and L2 with GBN"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "fLnLq_nOUee6",
"colab_type": "text"
},
"source": [
"## Connecting drive"
]
},
{
"cell_type": "code",
"metadata": {
"id": "aAq7Lvqqs4F5",
"colab_type": "code",
"outputId": "3deac453-28e2-4d31-bb50-4d06def23c07",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
}
},
"source": [
"from google.colab import drive\n",
"drive.mount('/content/drive')\n",
"!ls"
],
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": [
"Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n",
"drive sample_data\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ZbEOo8icuGUh",
"colab_type": "code",
"colab": {}
},
"source": [
"import os\n",
"os.chdir(\"./drive/My Drive/EVA/Session05\")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "7OTkpFgt9W06",
"colab_type": "text"
},
"source": [
"## Importing Libraries"
]
},
{
"cell_type": "code",
"metadata": {
"id": "0m2JWFliFfKT",
"colab_type": "code",
"colab": {}
},
"source": [
"from __future__ import print_function\n",
"import torch\n",
"import torch.nn as nn\n",
"import torch.nn.functional as F\n",
"import torch.optim as optim\n",
"from torch.optim.lr_scheduler import StepLR\n",
"\n",
"from torchvision import datasets, transforms\n",
"\n",
"from torchsummary import summary\n",
"from tqdm import tqdm\n",
"from torch.utils.tensorboard import SummaryWriter\n",
"\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"plt.rcParams['figure.figsize'] = (10,5)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "RcV-OkCe9lP4",
"colab_type": "text"
},
"source": [
"## GPU for training"
]
},
{
"cell_type": "code",
"metadata": {
"id": "50sHOdY39nRz",
"colab_type": "code",
"outputId": "7831874f-4444-485c-ad5f-d51ed127a0d6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"import tensorflow as tf\n",
"\n",
"device_name = tf.test.gpu_device_name()\n",
"\n",
"try:\n",
" print(f\"Found GPU at : {device_name}\")\n",
"except:\n",
" print(\"GPU device not found.\")"
],
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"text": [
"Found GPU at : /device:GPU:0\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "v9GmRJ0a9osJ",
"colab_type": "code",
"outputId": "f90704f7-3478-4714-ea64-a65abf9d8ba9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 52
}
},
"source": [
"import torch\n",
"\n",
"if torch.cuda.is_available():\n",
" device = torch.device(\"cuda\")\n",
" use_cuda = True\n",
" print(f\"Number of GPU's available : {torch.cuda.device_count()}\")\n",
" print(f\"GPU device name : {torch.cuda.get_device_name(0)}\")\n",
"else:\n",
" print(\"No GPU available, using CPU instead\")\n",
" device = torch.device(\"cpu\")\n",
" use_cuda = False"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": [
"Number of GPU's available : 1\n",
"GPU device name : Tesla P100-PCIE-16GB\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "4qulQMZGNMhW",
"colab_type": "code",
"outputId": "eef1cceb-e56d-4730-b987-ee6ddd182f77",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"SEED = 1\n",
"torch.manual_seed(SEED)"
],
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<torch._C.Generator at 0x7f061d501570>"
]
},
"metadata": {
"tags": []
},
"execution_count": 6
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "JpEC4MgiYTl-",
"colab_type": "text"
},
"source": [
"## Data Transformation"
]
},
{
"cell_type": "code",
"metadata": {
"id": "6sSd-XajYS_W",
"colab_type": "code",
"colab": {}
},
"source": [
"#training data transformation\n",
"\n",
"train_transforms = transforms.Compose([\n",
" #transforms.ColorJitter(brightness=0.10, contrast=0.1, saturation=0.10, hue=0.1),\n",
" #transforms.RandomRotation((-6,6), fill=(1,)),\n",
" #transforms.RandomAffine(degrees=0, translate=(0.2,0.2)),\n",
" transforms.ToTensor(),\n",
" transforms.Normalize((0.1307,),(0.3081,))\n",
"])\n",
"\n",
"test_transforms = transforms.Compose([\n",
" transforms.ToTensor(),\n",
" transforms.Normalize((0.1307,),(0.3081,)),\n",
"])\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "MHNNLPIB9wbU",
"colab_type": "text"
},
"source": [
"## Downloading MNIST dataset with applied transformation\n",
"\n",
"Things to keep in mind, \n",
"- the dataset is provided by pytorch community.\n",
"- MNIST dataset contains: \n",
" - 60,000 training images\n",
" - 10,000 test images \n",
" - Each image is of size (28x28x1).\n",
"- The values 0.1307 and 0.3081 used for the Normalize() transformation below are the global mean and standard deviation for MNIST dataset."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "yogsTcvQZlL_",
"colab_type": "text"
},
"source": [
"## Train and Test Dataloader "
]
},
{
"cell_type": "code",
"metadata": {
"id": "k8G6NAsChw6M",
"colab_type": "code",
"colab": {}
},
"source": [
"kwargs = {'num_workers': 4, 'pin_memory': True} if use_cuda else {}"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "EW3MUGF--hgi",
"colab_type": "code",
"colab": {}
},
"source": [
"class Dataset:\n",
" def __init__(self, batch_size):\n",
" self.mnist_trainset = datasets.MNIST(root=\"./data\", train=True, download=True,\n",
" transform=train_transforms)\n",
"\n",
" self.mnist_testset = datasets.MNIST(root=\"./data\", train=False, download=True,\n",
" transform=test_transforms)\n",
" \n",
" self.batch_size = batch_size\n",
" \n",
" def get_train_loader(self):\n",
" train_loader = torch.utils.data.DataLoader(self.mnist_trainset,\n",
" batch_size=self.batch_size, shuffle=True, **kwargs)\n",
" \n",
" return train_loader\n",
" \n",
" def get_test_loader(self):\n",
" test_loader = torch.utils.data.DataLoader(self.mnist_testset,\n",
" batch_size=self.batch_size, shuffle=True, **kwargs)\n",
" \n",
" return test_loader\n",
" "
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "IjXRQ52I-17Z",
"colab_type": "text"
},
"source": [
"## Visualization of images"
]
},
{
"cell_type": "code",
"metadata": {
"id": "NB81qRMu-6vr",
"colab_type": "code",
"colab": {}
},
"source": [
"data = Dataset(64)\n",
"examples = iter(data.get_train_loader())\n",
"example_data, example_targets = examples.next()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "8M2XDWfz-76k",
"colab_type": "code",
"outputId": "03fe9c1b-f524-4fd7-cf47-9a8d90daff7d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 303
}
},
"source": [
"fig = plt.figure()\n",
"for i in range(60):\n",
" plt.subplot(10,6,i+1)\n",
" plt.axis('off')\n",
" plt.imshow(example_data[i][0].numpy().squeeze(), cmap='gray_r')"
],
"execution_count": 11,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 60 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KIsxjleoivtO",
"colab_type": "text"
},
"source": [
"## Building the model"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "772WIr2_iBUD",
"colab_type": "text"
},
"source": [
"### Util function"
]
},
{
"cell_type": "code",
"metadata": {
"id": "75Ea0qZK1L6a",
"colab_type": "code",
"colab": {}
},
"source": [
"#define batch normalization\n",
"class BatchNorm(nn.BatchNorm2d):\n",
" def __init__(self, num_features, eps=1e-05, momentum=0.1, weight=True, bias=True):\n",
" super().__init__(num_features, eps=eps, momentum=momentum)\n",
" self.weight.data.fill_(1.0)\n",
" self.bias.data.fill_(0.0)\n",
" self.weight.requires_grad = weight\n",
" self.bias.requires_grad = bias\n",
" \n",
"\n",
"#define ghost batch Normalization\n",
"class GhostBatchNorm(BatchNorm):\n",
" def __init__(self, num_features, num_splits=1, **kw):\n",
" super().__init__(num_features, **kw)\n",
" self.num_splits = num_splits\n",
" self.register_buffer('running_mean', torch.zeros(num_features * self.num_splits))\n",
" self.register_buffer('running_var', torch.ones(num_features * self.num_splits))\n",
"\n",
" def train(self, mode=True):\n",
" if (self.training is True) and (mode is False): # lazily collate stats when we are going to use them\n",
" self.running_mean = torch.mean(self.running_mean.view(self.num_splits, self.num_features), dim=0).repeat(\n",
" self.num_splits)\n",
" self.running_var = torch.mean(self.running_var.view(self.num_splits, self.num_features), dim=0).repeat(\n",
" self.num_splits)\n",
" return super().train(mode)\n",
"\n",
" def forward(self, input):\n",
" N, C, H, W = input.shape\n",
" if self.training or not self.track_running_stats:\n",
" return F.batch_norm(\n",
" input.view(-1, C * self.num_splits, H, W), self.running_mean, self.running_var,\n",
" self.weight.repeat(self.num_splits), self.bias.repeat(self.num_splits),\n",
" True, self.momentum, self.eps).view(N, C, H, W)\n",
" else:\n",
" return F.batch_norm(\n",
" input, self.running_mean[:self.num_features], self.running_var[:self.num_features],\n",
" self.weight, self.bias, False, self.momentum, self.eps)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "YbuRS0akiGsi",
"colab_type": "text"
},
"source": [
"### Define Net with nn.BatchNorm2d()"
]
},
{
"cell_type": "code",
"metadata": {
"id": "ToQ0qtQSCzOT",
"colab_type": "code",
"colab": {}
},
"source": [
"class Net(nn.Module):\n",
" def __init__(self):\n",
" super(Net, self).__init__()\n",
" \n",
" self.conv1block = nn.Sequential(\n",
" nn.Conv2d(1, 8, 3), #(-1,28,28,1)>(-1,3,3,1,8)>(-1,26,26,8)>3\n",
" nn.BatchNorm2d(8),\n",
" nn.ReLU(),\n",
" nn.Conv2d(8, 8, 3), #(-1,26,26,8)>(-1,3,3,8,8)>(-1,24,24,8)>5\n",
" nn.BatchNorm2d(8),\n",
" nn.ReLU(),\n",
" nn.Conv2d(8, 10, 3), #(-1,24,24,8)>(-1,3,3,8,10)>(-1,22,22,10)>7\n",
" nn.BatchNorm2d(10),\n",
" nn.ReLU(),\n",
" )\n",
"\n",
" self.pool1block = nn.Sequential(\n",
" nn.MaxPool2d(2,2), #(-1,22,22,10)>(-1,11,11,10)>8\n",
" )\n",
"\n",
" self.conv2block = nn.Sequential(\n",
" nn.Conv2d(10, 16, 3), #(-1,11,11,10)>(-1,3,3,10,16)>(-1,9,9,16)>12\n",
" nn.BatchNorm2d(16),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.01),\n",
" nn.Conv2d(16, 16, 3), #(-1,9,9,16)>(-1,3,3,16,16)>(-1,7,7,16)>16\n",
" nn.BatchNorm2d(16),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.01),\n",
" nn.Conv2d(16, 16, 3), #(-1,7,7,16)>(-1,3,3,16,16)>(-1,5,5,16)>20\n",
" nn.BatchNorm2d(16),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.01),\n",
" )\n",
"\n",
" self.avgpool = nn.AvgPool2d(5) #(-1,5,5,16)>(-1,1,1,16)>28\n",
" self.conv3 = nn.Conv2d(16, 10, 1) #(-1,1,1,16)>(-1,1,1,16,10)>(-1,1,1,10)>28 \n",
"\n",
" \n",
" def forward(self, x):\n",
" x = self.conv1block(x)\n",
" x = self.pool1block(x)\n",
" x = self.conv2block(x)\n",
" x = self.avgpool(x)\n",
" x = self.conv3(x)\n",
" x = x.view(-1, 10)\n",
" return F.log_softmax(x)\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "dM0GTo-1iRy6",
"colab_type": "text"
},
"source": [
"### Define Network with Ghost Batch Normalization"
]
},
{
"cell_type": "code",
"metadata": {
"id": "PKpF_RYDiQuw",
"colab_type": "code",
"colab": {}
},
"source": [
"class GhostNet(nn.Module):\n",
" def __init__(self, n_splits=1):\n",
" super(GhostNet, self).__init__()\n",
" \n",
" self.conv1block = nn.Sequential(\n",
" nn.Conv2d(1, 8, 3), #(-1,28,28,1)>(-1,3,3,1,8)>(-1,26,26,8)>3\n",
" GhostBatchNorm(8, n_splits),\n",
" nn.ReLU(),\n",
" nn.Conv2d(8, 8, 3), #(-1,26,26,8)>(-1,3,3,8,8)>(-1,24,24,8)>5\n",
" GhostBatchNorm(8, n_splits),\n",
" nn.ReLU(),\n",
" nn.Conv2d(8, 10, 3), #(-1,24,24,8)>(-1,3,3,8,10)>(-1,22,22,10)>7\n",
" GhostBatchNorm(10, n_splits),\n",
" nn.ReLU(),\n",
" )\n",
"\n",
" self.pool1block = nn.Sequential(\n",
" nn.MaxPool2d(2,2), #(-1,22,22,10)>(-1,11,11,10)>8\n",
" )\n",
"\n",
" self.conv2block = nn.Sequential(\n",
" nn.Conv2d(10, 16, 3), #(-1,11,11,10)>(-1,3,3,10,16)>(-1,9,9,16)>12\n",
" GhostBatchNorm(16, n_splits),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.01),\n",
" nn.Conv2d(16, 16, 3), #(-1,9,9,16)>(-1,3,3,16,16)>(-1,7,7,16)>16\n",
" GhostBatchNorm(16, n_splits),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.01),\n",
" nn.Conv2d(16, 16, 3), #(-1,7,7,16)>(-1,3,3,16,16)>(-1,5,5,16)>20\n",
" GhostBatchNorm(16, n_splits),\n",
" nn.ReLU(),\n",
" nn.Dropout(0.01),\n",
" )\n",
"\n",
" self.avgpool = nn.AvgPool2d(5) #(-1,5,5,16)>(-1,1,1,16)>28\n",
" self.conv3 = nn.Conv2d(16, 10, 1) #(-1,1,1,16)>(-1,1,1,16,10)>(-1,1,1,10)>28 \n",
"\n",
" \n",
" def forward(self, x):\n",
" x = self.conv1block(x)\n",
" x = self.pool1block(x)\n",
" x = self.conv2block(x)\n",
" x = self.avgpool(x)\n",
" x = self.conv3(x)\n",
" x = x.view(-1, 10)\n",
" return F.log_softmax(x)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "_QVewjwMZsxp",
"colab_type": "code",
"outputId": "e0255ffa-88d7-4f04-e4c6-106b9e036718",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 712
}
},
"source": [
"model = Net().to(device)\n",
"summary(model, input_size=(1, 28, 28))"
],
"execution_count": 15,
"outputs": [
{
"output_type": "stream",
"text": [
"----------------------------------------------------------------\n",
" Layer (type) Output Shape Param #\n",
"================================================================\n",
" Conv2d-1 [-1, 8, 26, 26] 80\n",
" BatchNorm2d-2 [-1, 8, 26, 26] 16\n",
" ReLU-3 [-1, 8, 26, 26] 0\n",
" Conv2d-4 [-1, 8, 24, 24] 584\n",
" BatchNorm2d-5 [-1, 8, 24, 24] 16\n",
" ReLU-6 [-1, 8, 24, 24] 0\n",
" Conv2d-7 [-1, 10, 22, 22] 730\n",
" BatchNorm2d-8 [-1, 10, 22, 22] 20\n",
" ReLU-9 [-1, 10, 22, 22] 0\n",
" MaxPool2d-10 [-1, 10, 11, 11] 0\n",
" Conv2d-11 [-1, 16, 9, 9] 1,456\n",
" BatchNorm2d-12 [-1, 16, 9, 9] 32\n",
" ReLU-13 [-1, 16, 9, 9] 0\n",
" Dropout-14 [-1, 16, 9, 9] 0\n",
" Conv2d-15 [-1, 16, 7, 7] 2,320\n",
" BatchNorm2d-16 [-1, 16, 7, 7] 32\n",
" ReLU-17 [-1, 16, 7, 7] 0\n",
" Dropout-18 [-1, 16, 7, 7] 0\n",
" Conv2d-19 [-1, 16, 5, 5] 2,320\n",
" BatchNorm2d-20 [-1, 16, 5, 5] 32\n",
" ReLU-21 [-1, 16, 5, 5] 0\n",
" Dropout-22 [-1, 16, 5, 5] 0\n",
" AvgPool2d-23 [-1, 16, 1, 1] 0\n",
" Conv2d-24 [-1, 10, 1, 1] 170\n",
"================================================================\n",
"Total params: 7,808\n",
"Trainable params: 7,808\n",
"Non-trainable params: 0\n",
"----------------------------------------------------------------\n",
"Input size (MB): 0.00\n",
"Forward/backward pass size (MB): 0.43\n",
"Params size (MB): 0.03\n",
"Estimated Total Size (MB): 0.46\n",
"----------------------------------------------------------------\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:47: UserWarning: Implicit dimension choice for log_softmax has been deprecated. Change the call to include dim=X as an argument.\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "BT8BOx7ejP3o",
"colab_type": "text"
},
"source": [
"## Defining training and testing functions"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QUnof6Q_iigJ",
"colab_type": "text"
},
"source": [
"### Util functions"
]
},
{
"cell_type": "code",
"metadata": {
"id": "2dw1Il-M4CEU",
"colab_type": "code",
"colab": {}
},
"source": [
"def regularize_loss(model, loss, decay, norm_value):\n",
" \"\"\"\n",
" L1/L2 Regularization\n",
" decay : l1/l2 decay value\n",
" norm_value : the order of norm\n",
" \"\"\"\n",
" r_loss = 0\n",
" # get sum of norm of parameters\n",
" for param in model.parameters():\n",
" r_loss += torch.norm(param, norm_value)\n",
" # update loss value\n",
" loss += decay * r_loss\n",
" \n",
" return loss"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "3-qlbe0dBGVM",
"colab_type": "code",
"colab": {}
},
"source": [
"def save_ckp(state, checkpoint_fpath):\n",
" \"\"\"\n",
" state: checkpoint we want to save\n",
" checkpoint_path: path to save model\n",
" \"\"\"\n",
" f_path = checkpoint_fpath\n",
" # save checkpoint data to the path given, checkpoint_path\n",
" torch.save(state, f_path)\n",
" \n",
"def load_ckp(checkpoint_fpath, model, optimizer):\n",
" \"\"\"\n",
" checkpoint_path: path to save checkpoint\n",
" model: model that we want to load checkpoint parameters into \n",
" optimizer: optimizer we defined in previous training\n",
" \"\"\"\n",
" # load check point\n",
" checkpoint = torch.load(checkpoint_fpath)\n",
" # initialize state_dict from checkpoint to model\n",
" model.load_state_dict(checkpoint['state_dict'])\n",
" # initialize optimizer from checkpoint to optimizer\n",
" optimizer.load_state_dict(checkpoint['optimizer'])\n",
" # get epoch\n",
" epoch = checkpoint['epoch']\n",
" # get val_max_acc\n",
" val_max_acc = checkpoint['valid_max_acc']\n",
" # get misclassified images\n",
" misclassified_images = checkpoint['misclassified_images']\n",
" # return model, optimizer, epoch, val_max_acc, misclassified_images\n",
" return model, optimizer, epoch, val_max_acc, misclassified_images"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "JpaYYaqmiorA",
"colab_type": "text"
},
"source": [
"### Define Training and Testing Functions"
]
},
{
"cell_type": "code",
"metadata": {
"id": "L6_Zia8XjPKb",
"colab_type": "code",
"colab": {}
},
"source": [
"from tqdm import tqdm\n",
"import numpy as np\n",
"\n",
"class Model:\n",
" def __init__(self, model, device, optimizer, l1_decay=0.0, l2_decay=0.0):\n",
" self.model = model\n",
" self.device = device\n",
" self.optimizer = optimizer\n",
" \n",
" self.train_losses = []\n",
" self.test_losses = []\n",
" self.train_acc = []\n",
" self.test_acc = []\n",
" \n",
" self.misclassified_images = {}\n",
" \n",
" self.l1_decay = l1_decay\n",
" self.l2_decay = l2_decay\n",
"\n",
" self.minimum_test_loss = np.Inf\n",
" self.maximum_test_acc = 0.0\n",
"\n",
"\n",
" def train(self, train_loader):\n",
" running_loss = 0.0\n",
" running_correct = 0\n",
"\n",
" self.model.train()\n",
"\n",
" pbar = tqdm(train_loader)\n",
" for batch_idx, (data, target) in enumerate(pbar):\n",
" data, target = data.to(self.device), target.to(self.device)\n",
" self.optimizer.zero_grad()\n",
" output = self.model(data)\n",
" loss = F.nll_loss(output, target)\n",
"\n",
" if self.l1_decay>0.0:\n",
" loss += regularize_loss(self.model, loss, self.l1_decay, 1)\n",
" if self.l2_decay>0.0:\n",
" loss += regularize_loss(self.model, loss, self.l2_decay, 2)\n",
"\n",
" _, preds = torch.max(output.data, 1)\n",
" loss.backward()\n",
" self.optimizer.step()\n",
"\n",
" #calculate training running loss\n",
" running_loss += loss.item()\n",
" running_correct += (preds == target).sum().item()\n",
" pbar.set_description(desc= f'loss={loss.item()} batch_id={batch_idx}')\n",
"\n",
" r_total_loss = running_loss/len(train_loader.dataset)\n",
" r_total_acc = 100. * running_correct/len(train_loader.dataset)\n",
"\n",
" self.train_losses.append(r_total_loss)\n",
" self.train_acc.append(r_total_acc)\n",
" print(\"\\n\")\n",
" print(f\" TRAIN avg loss: {r_total_loss:.4f} train acc: {r_total_acc:.4f}\\n\")\n",
"\n",
" def test(self, test_loader, epoch, checkpoint_fpath = None):\n",
" running_loss = 0.0\n",
" running_correct = 0\n",
"\n",
" self.model.eval()\n",
" \n",
" with torch.no_grad():\n",
" for data, target in test_loader:\n",
" data, target = data.to(self.device), target.to(self.device)\n",
" output = self.model(data)\n",
" running_loss += F.nll_loss(output, target, reduction='sum').item() # sum up batch loss\n",
" pred = output.argmax(dim=1, keepdim=True) # get the index of the max log-probability\n",
" \n",
" is_correct = pred.eq(target.view_as(pred))\n",
" misclass_indx = (is_correct==0).nonzero()[:,0]\n",
" for indx in misclass_indx:\n",
" if str(epoch) not in self.misclassified_images:\n",
" self.misclassified_images[str(epoch)] = []\n",
" self.misclassified_images[str(epoch)].append({\n",
" \"target\" : target[indx],\n",
" \"pred\" : pred[indx],\n",
" \"img\" : data[indx]\n",
" })\n",
"\n",
" running_correct += pred.eq(target.view_as(pred)).sum().item()\n",
"\n",
" r_total_loss = running_loss/len(test_loader.dataset)\n",
" r_total_acc = 100.*running_correct/len(test_loader.dataset)\n",
"\n",
" if(r_total_acc>=self.maximum_test_acc):\n",
" self.maximum_test_acc = r_total_acc\n",
" if checkpoint_fpath:\n",
" self.save_checkpoint(epoch, checkpoint_fpath)\n",
" print(f\" Best Model Saved!!!\\n\")\n",
" else:\n",
" print(f\" Couldn't save the model. Path not defined!!!\\n\")\n",
" \n",
"\n",
" self.test_losses.append(r_total_loss)\n",
" self.test_acc.append(r_total_acc)\n",
"\n",
" print(\"\\n\")\n",
" print(f\" TEST avg loss: {r_total_loss:.4f} test acc: {r_total_acc:.4f}\\n\")\n",
"\n",
" def save_checkpoint(self, epoch, checkpoint_fpath):\n",
" checkpoint = {\n",
" 'epoch' : epoch,\n",
" 'misclassified_images' : self.misclassified_images[str(epoch)],\n",
" 'valid_max_acc': self.maximum_test_acc,\n",
" 'state_dict': self.model.state_dict(),\n",
" 'optimizer': self.optimizer.state_dict(),\n",
" }\n",
" save_ckp(checkpoint, checkpoint_fpath)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "eqmiPIViivBu",
"colab_type": "text"
},
"source": [
"## Main Running Function"
]
},
{
"cell_type": "code",
"metadata": {
"id": "AnrSnpnzHA9N",
"colab_type": "code",
"colab": {}
},
"source": [
"import json\n",
"import os\n",
"\n",
"def run(condition, l1_decay, l2_decay, n_splits=1):\n",
" \"\"\"\n",
" condition : jobs mentioned for problem statement\n",
" l1_decay : decay factor for l1 norm\n",
" l2_decay : decay factor for l2 norm\n",
" n_splits : mini batch splits\n",
" \"\"\"\n",
" print(\"\\n\")\n",
" print(\"#\"*50 + \"\\n\")\n",
" print(f\"{condition}\")\n",
" print(\"-\"*50 + \"\\n\")\n",
" \n",
" if \"gbn\" in condition:\n",
" net = GhostNet(n_splits).to(device)\n",
" batch_size = 256\n",
" else:\n",
" net = Net().to(device)\n",
" batch_size = 128\n",
"\n",
" data = Dataset(batch_size)\n",
" train_loader = data.get_train_loader()\n",
" test_loader = data.get_test_loader()\n",
" \n",
" optimizer = optim.SGD(net.parameters(), lr=0.1, momentum=0.9)\n",
" scheduler = StepLR(optimizer, step_size=9, gamma=0.1)\n",
" EPOCHS = 25\n",
"\n",
" model = Model(net, device, optimizer, l1_decay, l2_decay)\n",
" MODEL_PATH = f\"./weights/model_{condition}.pt\"\n",
"\n",
" for epoch in range(1, EPOCHS+1):\n",
" print(f\"\\nEPOCH : {epoch}\\n\")\n",
" model.train(train_loader)\n",
" scheduler.step()\n",
" model.test(test_loader, epoch, MODEL_PATH)\n",
"\n",
" result = {f'{condition}':{'train_losses':model.train_losses, 'test_losses':model.test_losses,\n",
" 'train_acc':model.train_acc, 'test_acc':model.test_acc}}\n",
"\n",
" \n",
" file_path = \"./stats/models_acc_losses_data.json\"\n",
" if not os.path.exists(file_path):\n",
" with open(file_path, \"w\") as f:\n",
" json.dump({'status':200}, f)\n",
"\n",
" with open(file_path) as f:\n",
" data = json.load(f)\n",
" \n",
" data.update(result)\n",
" with open(file_path, \"w\") as f:\n",
" json.dump(data, f)\n",
"\n",
" print(\"#\"*10 + \"\\n\")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "_p2cV0exZtZ1",
"colab_type": "code",
"outputId": "110db78b-7e1e-4169-d6c8-3eae6e11974e",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"n_splits = 16\n",
"\n",
"run('n_l1_n_l2_bn', 0.0, 0.0, 1)\n",
"run('n_l1_n_l2_gbn', 0.0, 0.0, n_splits)\n",
"run('l1_bn', 0.0005, 0.0, 1)\n",
"run('l1_gbn', 0.0005, 0.0, n_splits)\n",
"run('l2_bn', 0.0, 0.0005, 1)\n",
"run('l2_gbn', 0.0, 0.0005, n_splits)\n",
"run('l1_l2_bn', 0.0005, 0.0005, 1)\n",
"run('l1_l2_gbn', 0.0005, 0.0005, n_splits)"
],
"execution_count": 20,
"outputs": [
{
"output_type": "stream",
"text": [
"\r 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
"##################################################\n",
"\n",
"n_l1_n_l2_bn\n",
"--------------------------------------------------\n",
"\n",
"\n",
"EPOCH : 1\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:47: UserWarning: Implicit dimension choice for log_softmax has been deprecated. Change the call to include dim=X as an argument.\n",
"loss=0.05529120936989784 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.18it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0016 train acc: 94.1633\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0743 test acc: 97.5500\n",
"\n",
"\n",
"EPOCH : 2\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.009215201251208782 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 43.89it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0004 train acc: 98.3950\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0387 test acc: 98.7800\n",
"\n",
"\n",
"EPOCH : 3\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.04719700291752815 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 43.12it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0003 train acc: 98.8383\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0333 test acc: 98.8500\n",
"\n",
"\n",
"EPOCH : 4\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.030238056555390358 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 43.34it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0003 train acc: 98.9967\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0266 test acc: 99.2000\n",
"\n",
"\n",
"EPOCH : 5\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.025517309084534645 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.00it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 99.0833\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0267 test acc: 99.2100\n",
"\n",
"\n",
"EPOCH : 6\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.017988869920372963 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 43.99it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 99.1433\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0259 test acc: 99.1600\n",
"\n",
"\n",
"EPOCH : 7\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.02133217640221119 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.88it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 99.2383\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0253 test acc: 99.2400\n",
"\n",
"\n",
"EPOCH : 8\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.014646634459495544 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.08it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 99.2717\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0278 test acc: 99.1400\n",
"\n",
"\n",
"EPOCH : 9\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.021162712946534157 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.72it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 99.3483\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0233 test acc: 99.3000\n",
"\n",
"\n",
"EPOCH : 10\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.02476133406162262 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 43.53it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.5683\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0201 test acc: 99.3900\n",
"\n",
"\n",
"EPOCH : 11\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.0004140635428484529 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.50it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.6633\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0187 test acc: 99.4300\n",
"\n",
"\n",
"EPOCH : 12\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.010036383755505085 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.64it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.6667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0182 test acc: 99.4500\n",
"\n",
"\n",
"EPOCH : 13\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.0017372866859659553 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.53it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.6667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0182 test acc: 99.4300\n",
"\n",
"\n",
"EPOCH : 14\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.0022287864703685045 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.79it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.6967\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0176 test acc: 99.4100\n",
"\n",
"\n",
"EPOCH : 15\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.03915797546505928 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.87it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.6950\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0180 test acc: 99.5100\n",
"\n",
"\n",
"EPOCH : 16\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.0051384964026510715 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.06it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.6667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0181 test acc: 99.4500\n",
"\n",
"\n",
"EPOCH : 17\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.015280048362910748 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.12it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7433\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0183 test acc: 99.4300\n",
"\n",
"\n",
"EPOCH : 18\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.007126659154891968 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.20it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7417\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0178 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 19\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.002172902226448059 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.31it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7700\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0177 test acc: 99.4600\n",
"\n",
"\n",
"EPOCH : 20\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.0010844568023458123 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.76it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7333\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0177 test acc: 99.4700\n",
"\n",
"\n",
"EPOCH : 21\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.014355848543345928 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.61it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7650\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0177 test acc: 99.4700\n",
"\n",
"\n",
"EPOCH : 22\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.010372181423008442 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.42it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7750\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0178 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 23\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.004057044629007578 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.59it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7767\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0175 test acc: 99.4800\n",
"\n",
"\n",
"EPOCH : 24\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.011297832243144512 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.84it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0177 test acc: 99.4700\n",
"\n",
"\n",
"EPOCH : 25\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.009430363774299622 batch_id=468: 100%|██████████| 469/469 [00:10<00:00, 44.65it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.7567\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0178 test acc: 99.4700\n",
"\n",
"##########\n",
"\n",
"\n",
"\n",
"##################################################\n",
"\n",
"n_l1_n_l2_gbn\n",
"--------------------------------------------------\n",
"\n",
"\n",
"EPOCH : 1\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.15829995274543762 batch_id=234: 100%|██████████| 235/235 [00:08<00:00, 26.24it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0013 train acc: 90.0467\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0748 test acc: 97.6900\n",
"\n",
"\n",
"EPOCH : 2\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.16259990632534027 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.41it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0003 train acc: 97.7250\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0450 test acc: 98.5700\n",
"\n",
"\n",
"EPOCH : 3\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.061769988387823105 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.98it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 98.2583\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0516 test acc: 98.4000\n",
"\n",
"\n",
"EPOCH : 4\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.046883780509233475 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 26.08it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 98.4667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0314 test acc: 98.9900\n",
"\n",
"\n",
"EPOCH : 5\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.06375417858362198 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.72it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 98.6517\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0323 test acc: 98.9900\n",
"\n",
"\n",
"EPOCH : 6\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.10003618150949478 batch_id=234: 100%|██████████| 235/235 [00:08<00:00, 26.13it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0002 train acc: 98.7267\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0272 test acc: 99.0500\n",
"\n",
"\n",
"EPOCH : 7\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.033130958676338196 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 26.11it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 98.8600\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0264 test acc: 99.1300\n",
"\n",
"\n",
"EPOCH : 8\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.062408074736595154 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.53it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 98.9600\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0249 test acc: 99.1500\n",
"\n",
"\n",
"EPOCH : 9\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.1123603954911232 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.59it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 98.9583\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0247 test acc: 99.2200\n",
"\n",
"\n",
"EPOCH : 10\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.05882204696536064 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.54it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.2017\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0178 test acc: 99.4300\n",
"\n",
"\n",
"EPOCH : 11\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.03049011342227459 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.50it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.3700\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0179 test acc: 99.3500\n",
"\n",
"\n",
"EPOCH : 12\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.025906018912792206 batch_id=234: 100%|██████████| 235/235 [00:08<00:00, 26.23it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.3683\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0176 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 13\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.05424762889742851 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.85it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.3867\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0173 test acc: 99.4500\n",
"\n",
"\n",
"EPOCH : 14\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.03667600080370903 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.66it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.3533\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0173 test acc: 99.5100\n",
"\n",
"\n",
"EPOCH : 15\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.05116628110408783 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.62it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.3617\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0174 test acc: 99.4700\n",
"\n",
"\n",
"EPOCH : 16\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.04547375440597534 batch_id=234: 100%|██████████| 235/235 [00:08<00:00, 26.20it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.3783\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0178 test acc: 99.3900\n",
"\n",
"\n",
"EPOCH : 17\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.10294225066900253 batch_id=234: 100%|██████████| 235/235 [00:08<00:00, 26.24it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4233\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0176 test acc: 99.4200\n",
"\n",
"\n",
"EPOCH : 18\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.029559865593910217 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.99it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4017\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0175 test acc: 99.4100\n",
"\n",
"\n",
"EPOCH : 19\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.023968735709786415 batch_id=234: 100%|██████████| 235/235 [00:08<00:00, 26.38it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4067\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0174 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 20\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.005066663026809692 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 26.10it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4783\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0172 test acc: 99.4200\n",
"\n",
"\n",
"EPOCH : 21\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.04875011742115021 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.53it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4317\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0168 test acc: 99.4100\n",
"\n",
"\n",
"EPOCH : 22\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.09702203422784805 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.53it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4600\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0171 test acc: 99.4500\n",
"\n",
"\n",
"EPOCH : 23\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.023129889741539955 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 26.06it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4367\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0170 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 24\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.05638161301612854 batch_id=234: 100%|██████████| 235/235 [00:08<00:00, 26.15it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4617\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0170 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 25\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.028213942423462868 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 25.93it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0001 train acc: 99.4467\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0170 test acc: 99.4700\n",
"\n",
"##########\n",
"\n",
"\n",
"\n",
"##################################################\n",
"\n",
"l1_bn\n",
"--------------------------------------------------\n",
"\n",
"\n",
"EPOCH : 1\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7769066095352173 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.61it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0084 train acc: 93.3150\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.1374 test acc: 95.3400\n",
"\n",
"\n",
"EPOCH : 2\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.9119703769683838 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.03it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0056 train acc: 96.9667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1617 test acc: 94.9200\n",
"\n",
"\n",
"EPOCH : 3\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7568830251693726 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.26it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0053 train acc: 96.9317\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.5496 test acc: 83.1500\n",
"\n",
"\n",
"EPOCH : 4\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.595905065536499 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.86it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0053 train acc: 96.9967\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0978 test acc: 97.0300\n",
"\n",
"\n",
"EPOCH : 5\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6384385824203491 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.99it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0051 train acc: 97.1517\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1238 test acc: 96.1500\n",
"\n",
"\n",
"EPOCH : 6\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6696215867996216 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.79it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0050 train acc: 97.0700\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2010 test acc: 93.4500\n",
"\n",
"\n",
"EPOCH : 7\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7418420314788818 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.38it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0050 train acc: 97.0433\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1069 test acc: 96.7400\n",
"\n",
"\n",
"EPOCH : 8\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.5528820753097534 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.50it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0048 train acc: 97.2150\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2325 test acc: 92.6200\n",
"\n",
"\n",
"EPOCH : 9\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.5716577172279358 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.79it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0047 train acc: 97.3717\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2218 test acc: 93.3900\n",
"\n",
"\n",
"EPOCH : 10\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6308268308639526 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.85it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0035 train acc: 98.6517\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0293 test acc: 99.0700\n",
"\n",
"\n",
"EPOCH : 11\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.3469354212284088 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.85it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0031 train acc: 98.8250\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0325 test acc: 99.0700\n",
"\n",
"\n",
"EPOCH : 12\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.3321211636066437 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.12it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0029 train acc: 98.7217\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0347 test acc: 98.9200\n",
"\n",
"\n",
"EPOCH : 13\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.36175966262817383 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.41it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0027 train acc: 98.6917\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0425 test acc: 98.7600\n",
"\n",
"\n",
"EPOCH : 14\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.3276771903038025 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.50it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0027 train acc: 98.6817\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0363 test acc: 98.9600\n",
"\n",
"\n",
"EPOCH : 15\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.4350060224533081 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.57it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0026 train acc: 98.6250\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0446 test acc: 98.6500\n",
"\n",
"\n",
"EPOCH : 16\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.3245909512042999 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.46it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0026 train acc: 98.5617\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0404 test acc: 98.7600\n",
"\n",
"\n",
"EPOCH : 17\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2875867187976837 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.29it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0026 train acc: 98.5217\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0519 test acc: 98.4600\n",
"\n",
"\n",
"EPOCH : 18\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.32715147733688354 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.20it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0025 train acc: 98.5017\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0483 test acc: 98.5400\n",
"\n",
"\n",
"EPOCH : 19\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2410275638103485 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.44it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0023 train acc: 98.9283\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0255 test acc: 99.1700\n",
"\n",
"\n",
"EPOCH : 20\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.29389292001724243 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.71it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0021 train acc: 99.1283\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0243 test acc: 99.2200\n",
"\n",
"\n",
"EPOCH : 21\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.23145094513893127 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 38.64it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0021 train acc: 99.1550\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0253 test acc: 99.2200\n",
"\n",
"\n",
"EPOCH : 22\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.34858593344688416 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.66it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0021 train acc: 99.1267\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0245 test acc: 99.2600\n",
"\n",
"\n",
"EPOCH : 23\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2359231561422348 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.99it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0020 train acc: 99.1617\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0254 test acc: 99.1500\n",
"\n",
"\n",
"EPOCH : 24\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2522872984409332 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.53it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0020 train acc: 99.1833\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0257 test acc: 99.2300\n",
"\n",
"\n",
"EPOCH : 25\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2950039207935333 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.66it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0020 train acc: 99.1550\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0252 test acc: 99.2100\n",
"\n",
"##########\n",
"\n",
"\n",
"\n",
"##################################################\n",
"\n",
"l1_gbn\n",
"--------------------------------------------------\n",
"\n",
"\n",
"EPOCH : 1\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.1226202249526978 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.41it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0048 train acc: 90.3667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.1260 test acc: 96.4200\n",
"\n",
"\n",
"EPOCH : 2\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7553197741508484 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.73it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0030 train acc: 96.4767\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0913 test acc: 97.0900\n",
"\n",
"\n",
"EPOCH : 3\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.0496931076049805 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.28it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0028 train acc: 96.8233\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2864 test acc: 91.1100\n",
"\n",
"\n",
"EPOCH : 4\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.9333494901657104 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.64it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0027 train acc: 96.8150\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1136 test acc: 96.4300\n",
"\n",
"\n",
"EPOCH : 5\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.8609344959259033 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.41it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0026 train acc: 97.0683\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1340 test acc: 95.8600\n",
"\n",
"\n",
"EPOCH : 6\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.8483238220214844 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.42it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0026 train acc: 96.9033\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1366 test acc: 95.3700\n",
"\n",
"\n",
"EPOCH : 7\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7917579412460327 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.62it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0025 train acc: 97.1383\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2033 test acc: 94.0900\n",
"\n",
"\n",
"EPOCH : 8\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7189745903015137 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.52it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0024 train acc: 97.1667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0973 test acc: 96.8700\n",
"\n",
"\n",
"EPOCH : 9\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.9274849891662598 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.91it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0024 train acc: 97.1417\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1315 test acc: 96.0100\n",
"\n",
"\n",
"EPOCH : 10\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6570826768875122 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.21it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0019 train acc: 98.3433\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0285 test acc: 99.2000\n",
"\n",
"\n",
"EPOCH : 11\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.5267325043678284 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.32it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0017 train acc: 98.5417\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0357 test acc: 98.9700\n",
"\n",
"\n",
"EPOCH : 12\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.43423593044281006 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.57it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0016 train acc: 98.4583\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0312 test acc: 99.1000\n",
"\n",
"\n",
"EPOCH : 13\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6439389586448669 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.33it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0016 train acc: 98.5233\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0344 test acc: 99.0200\n",
"\n",
"\n",
"EPOCH : 14\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.5591174364089966 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.46it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0015 train acc: 98.4867\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0374 test acc: 98.8600\n",
"\n",
"\n",
"EPOCH : 15\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.36040636897087097 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.38it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0015 train acc: 98.4267\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0327 test acc: 99.0900\n",
"\n",
"\n",
"EPOCH : 16\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.4701007604598999 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.47it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0015 train acc: 98.3917\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0354 test acc: 98.9900\n",
"\n",
"\n",
"EPOCH : 17\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6714197993278503 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.15it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0015 train acc: 98.3483\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0473 test acc: 98.6700\n",
"\n",
"\n",
"EPOCH : 18\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.48577457666397095 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.58it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0014 train acc: 98.4483\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0475 test acc: 98.4400\n",
"\n",
"\n",
"EPOCH : 19\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.4033482074737549 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.55it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0013 train acc: 98.7250\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0250 test acc: 99.3200\n",
"\n",
"\n",
"EPOCH : 20\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.33538976311683655 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.13it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0013 train acc: 98.8200\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0247 test acc: 99.2500\n",
"\n",
"\n",
"EPOCH : 21\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.42527371644973755 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.68it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0013 train acc: 98.8633\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0251 test acc: 99.2800\n",
"\n",
"\n",
"EPOCH : 22\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.31606853008270264 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.58it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0012 train acc: 98.8733\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0245 test acc: 99.3000\n",
"\n",
"\n",
"EPOCH : 23\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.39191994071006775 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.90it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0012 train acc: 98.8550\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0254 test acc: 99.2200\n",
"\n",
"\n",
"EPOCH : 24\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.33799031376838684 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.17it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0012 train acc: 98.8550\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0245 test acc: 99.3100\n",
"\n",
"\n",
"EPOCH : 25\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.31893524527549744 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.15it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0012 train acc: 98.8933\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0255 test acc: 99.2900\n",
"\n",
"##########\n",
"\n",
"\n",
"\n",
"##################################################\n",
"\n",
"l2_bn\n",
"--------------------------------------------------\n",
"\n",
"\n",
"EPOCH : 1\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.29077839851379395 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.60it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0034 train acc: 94.6467\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0585 test acc: 98.0300\n",
"\n",
"\n",
"EPOCH : 2\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.14367125928401947 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.32it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0014 train acc: 98.3600\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0574 test acc: 98.0800\n",
"\n",
"\n",
"EPOCH : 3\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.1453833431005478 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.15it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0013 train acc: 98.7233\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0337 test acc: 98.8400\n",
"\n",
"\n",
"EPOCH : 4\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.15411244332790375 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.24it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0012 train acc: 98.8483\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0298 test acc: 99.0500\n",
"\n",
"\n",
"EPOCH : 5\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.17598585784435272 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 38.99it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0012 train acc: 98.9583\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0646 test acc: 97.9400\n",
"\n",
"\n",
"EPOCH : 6\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2151159942150116 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.16it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0012 train acc: 99.0433\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0402 test acc: 98.6800\n",
"\n",
"\n",
"EPOCH : 7\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.21063226461410522 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.97it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0011 train acc: 99.0667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0312 test acc: 99.0400\n",
"\n",
"\n",
"EPOCH : 8\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.283206045627594 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.91it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0011 train acc: 99.0667\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0397 test acc: 98.7700\n",
"\n",
"\n",
"EPOCH : 9\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.23365889489650726 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.16it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0011 train acc: 99.0917\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0261 test acc: 99.1800\n",
"\n",
"\n",
"EPOCH : 10\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.09051970392465591 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.62it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0009 train acc: 99.4950\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0170 test acc: 99.5100\n",
"\n",
"\n",
"EPOCH : 11\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.10208265483379364 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.32it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0009 train acc: 99.6067\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0176 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 12\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.35590463876724243 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.79it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0009 train acc: 99.6300\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0165 test acc: 99.4800\n",
"\n",
"\n",
"EPOCH : 13\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.09646424651145935 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.02it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0009 train acc: 99.6417\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0171 test acc: 99.4300\n",
"\n",
"\n",
"EPOCH : 14\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.08542445302009583 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.02it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.6383\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0157 test acc: 99.5300\n",
"\n",
"\n",
"EPOCH : 15\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.12612000107765198 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.82it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.6550\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0168 test acc: 99.4600\n",
"\n",
"\n",
"EPOCH : 16\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.128606915473938 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.76it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.6500\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0166 test acc: 99.4900\n",
"\n",
"\n",
"EPOCH : 17\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.14577718079090118 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.72it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.7050\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0164 test acc: 99.5000\n",
"\n",
"\n",
"EPOCH : 18\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.0896577462553978 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.92it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.6933\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0163 test acc: 99.4900\n",
"\n",
"\n",
"EPOCH : 19\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.08433165401220322 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.19it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.7450\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0161 test acc: 99.5100\n",
"\n",
"\n",
"EPOCH : 20\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.08648070693016052 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.06it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.7400\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0158 test acc: 99.5300\n",
"\n",
"\n",
"EPOCH : 21\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.08860354870557785 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.23it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.7300\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0160 test acc: 99.5400\n",
"\n",
"\n",
"EPOCH : 22\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.09225540608167648 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 38.99it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.7800\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0160 test acc: 99.5200\n",
"\n",
"\n",
"EPOCH : 23\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.08167564868927002 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.72it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.7500\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0162 test acc: 99.5100\n",
"\n",
"\n",
"EPOCH : 24\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.08504380285739899 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 39.86it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.7267\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0161 test acc: 99.5200\n",
"\n",
"\n",
"EPOCH : 25\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.11232829093933105 batch_id=468: 100%|██████████| 469/469 [00:11<00:00, 40.35it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 99.7467\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0158 test acc: 99.5400\n",
"\n",
"##########\n",
"\n",
"\n",
"\n",
"##################################################\n",
"\n",
"l2_gbn\n",
"--------------------------------------------------\n",
"\n",
"\n",
"EPOCH : 1\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.4011308550834656 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.21it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0024 train acc: 91.9583\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0665 test acc: 97.7900\n",
"\n",
"\n",
"EPOCH : 2\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.3190305829048157 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.32it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0009 train acc: 97.7000\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0537 test acc: 98.4500\n",
"\n",
"\n",
"EPOCH : 3\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2702985107898712 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.30it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0008 train acc: 98.0750\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0293 test acc: 99.1000\n",
"\n",
"\n",
"EPOCH : 4\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.28391674160957336 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.21it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0007 train acc: 98.3800\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0369 test acc: 98.8000\n",
"\n",
"\n",
"EPOCH : 5\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.20529711246490479 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.88it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0007 train acc: 98.5800\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0309 test acc: 99.1100\n",
"\n",
"\n",
"EPOCH : 6\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.3197542428970337 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.31it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0007 train acc: 98.6783\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0348 test acc: 98.9400\n",
"\n",
"\n",
"EPOCH : 7\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.16367676854133606 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.29it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0006 train acc: 98.7483\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0342 test acc: 98.8200\n",
"\n",
"\n",
"EPOCH : 8\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.4928361475467682 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.85it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0006 train acc: 98.7867\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0397 test acc: 98.8400\n",
"\n",
"\n",
"EPOCH : 9\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.1985166072845459 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.36it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0006 train acc: 98.8533\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0301 test acc: 98.9600\n",
"\n",
"\n",
"EPOCH : 10\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2542116343975067 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.50it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.1850\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0197 test acc: 99.4300\n",
"\n",
"\n",
"EPOCH : 11\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.22576317191123962 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.70it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.2850\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0183 test acc: 99.4500\n",
"\n",
"\n",
"EPOCH : 12\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.14126801490783691 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.30it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.3383\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0186 test acc: 99.4700\n",
"\n",
"\n",
"EPOCH : 13\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.1527395248413086 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.82it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.3583\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0188 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 14\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.09920341521501541 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.26it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.3550\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0183 test acc: 99.4600\n",
"\n",
"\n",
"EPOCH : 15\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2127901017665863 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.19it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.3600\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0187 test acc: 99.4800\n",
"\n",
"\n",
"EPOCH : 16\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.42485833168029785 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.65it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.3400\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0186 test acc: 99.5000\n",
"\n",
"\n",
"EPOCH : 17\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2802896797657013 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.61it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.3717\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0187 test acc: 99.4600\n",
"\n",
"\n",
"EPOCH : 18\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.12964694201946259 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.94it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.4033\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0184 test acc: 99.4700\n",
"\n",
"\n",
"EPOCH : 19\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.21305803954601288 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.90it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.4450\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0180 test acc: 99.4600\n",
"\n",
"\n",
"EPOCH : 20\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.38076213002204895 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.25it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.4200\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0179 test acc: 99.4700\n",
"\n",
"\n",
"EPOCH : 21\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.16279053688049316 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.14it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.4633\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0181 test acc: 99.4400\n",
"\n",
"\n",
"EPOCH : 22\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.16451016068458557 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.26it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.4150\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0178 test acc: 99.4600\n",
"\n",
"\n",
"EPOCH : 23\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.22570206224918365 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 23.97it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.4650\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0180 test acc: 99.4600\n",
"\n",
"\n",
"EPOCH : 24\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.2540941536426544 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.05it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.3917\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0179 test acc: 99.4700\n",
"\n",
"\n",
"EPOCH : 25\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.13662077486515045 batch_id=234: 100%|██████████| 235/235 [00:09<00:00, 24.04it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0005 train acc: 99.4533\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0177 test acc: 99.4500\n",
"\n",
"##########\n",
"\n",
"\n",
"\n",
"##################################################\n",
"\n",
"l1_l2_bn\n",
"--------------------------------------------------\n",
"\n",
"\n",
"EPOCH : 1\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.9265190362930298 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.22it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0198 train acc: 92.9333\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.1857 test acc: 94.3400\n",
"\n",
"\n",
"EPOCH : 2\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=2.107081174850464 batch_id=468: 100%|██████████| 469/469 [00:13<00:00, 36.07it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0142 train acc: 96.1000\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.5368 test acc: 81.7400\n",
"\n",
"\n",
"EPOCH : 3\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.9938429594039917 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.67it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0133 train acc: 96.2367\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1904 test acc: 94.0400\n",
"\n",
"\n",
"EPOCH : 4\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.554619550704956 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.78it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0129 train acc: 96.4250\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1976 test acc: 93.7900\n",
"\n",
"\n",
"EPOCH : 5\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.822577714920044 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.81it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0128 train acc: 96.4000\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.6104 test acc: 81.6500\n",
"\n",
"\n",
"EPOCH : 6\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.640040636062622 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.76it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0128 train acc: 96.3333\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2669 test acc: 91.9400\n",
"\n",
"\n",
"EPOCH : 7\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.4554603099822998 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.25it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0125 train acc: 96.5017\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.6302 test acc: 81.6800\n",
"\n",
"\n",
"EPOCH : 8\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.7415398359298706 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.89it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0123 train acc: 96.5283\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2278 test acc: 92.9000\n",
"\n",
"\n",
"EPOCH : 9\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.6117568016052246 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.82it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0123 train acc: 96.4550\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2395 test acc: 92.1900\n",
"\n",
"\n",
"EPOCH : 10\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.8949225544929504 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.83it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0091 train acc: 98.4350\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0364 test acc: 98.8800\n",
"\n",
"\n",
"EPOCH : 11\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.0968307256698608 batch_id=468: 100%|██████████| 469/469 [00:13<00:00, 36.04it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0075 train acc: 98.5150\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0437 test acc: 98.5300\n",
"\n",
"\n",
"EPOCH : 12\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.9443902969360352 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.36it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0069 train acc: 98.4450\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0422 test acc: 98.7700\n",
"\n",
"\n",
"EPOCH : 13\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.0387974977493286 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.57it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0065 train acc: 98.3900\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0566 test acc: 98.1800\n",
"\n",
"\n",
"EPOCH : 14\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7116067409515381 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 37.06it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0063 train acc: 98.3850\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0438 test acc: 98.5300\n",
"\n",
"\n",
"EPOCH : 15\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7398255467414856 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 37.11it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0063 train acc: 98.1583\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0699 test acc: 97.7800\n",
"\n",
"\n",
"EPOCH : 16\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.8459076881408691 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.91it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0063 train acc: 98.0733\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0612 test acc: 98.0900\n",
"\n",
"\n",
"EPOCH : 17\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.8659107685089111 batch_id=468: 100%|██████████| 469/469 [00:13<00:00, 34.73it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0062 train acc: 98.1367\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0481 test acc: 98.5000\n",
"\n",
"\n",
"EPOCH : 18\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.8854938745498657 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.36it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0062 train acc: 98.0767\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0817 test acc: 97.4200\n",
"\n",
"\n",
"EPOCH : 19\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6684891581535339 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.76it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0053 train acc: 98.9033\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0259 test acc: 99.2600\n",
"\n",
"\n",
"EPOCH : 20\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.5107957124710083 batch_id=468: 100%|██████████| 469/469 [00:13<00:00, 35.79it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0049 train acc: 99.0183\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0278 test acc: 99.1200\n",
"\n",
"\n",
"EPOCH : 21\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.5329685211181641 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.25it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0047 train acc: 98.9900\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0272 test acc: 99.1700\n",
"\n",
"\n",
"EPOCH : 22\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6676837801933289 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.88it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0046 train acc: 99.0000\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0266 test acc: 99.1800\n",
"\n",
"\n",
"EPOCH : 23\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.6045231223106384 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.73it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0045 train acc: 98.9867\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0265 test acc: 99.1300\n",
"\n",
"\n",
"EPOCH : 24\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.513538122177124 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.60it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0044 train acc: 98.9767\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/469 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0280 test acc: 99.0900\n",
"\n",
"\n",
"EPOCH : 25\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.4978499114513397 batch_id=468: 100%|██████████| 469/469 [00:12<00:00, 36.83it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0044 train acc: 98.9417\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0303 test acc: 99.0000\n",
"\n",
"##########\n",
"\n",
"\n",
"\n",
"##################################################\n",
"\n",
"l1_l2_gbn\n",
"--------------------------------------------------\n",
"\n",
"\n",
"EPOCH : 1\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=2.358853816986084 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.20it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0105 train acc: 90.0850\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.4228 test acc: 88.3400\n",
"\n",
"\n",
"EPOCH : 2\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.9717309474945068 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.94it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0073 train acc: 95.4117\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.4811 test acc: 85.4200\n",
"\n",
"\n",
"EPOCH : 3\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=2.6559765338897705 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.30it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0066 train acc: 95.8750\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.1421 test acc: 95.6200\n",
"\n",
"\n",
"EPOCH : 4\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.5603713989257812 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.40it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0064 train acc: 96.0333\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.1177 test acc: 96.4100\n",
"\n",
"\n",
"EPOCH : 5\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.8426837921142578 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.35it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0062 train acc: 96.2350\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2356 test acc: 92.1300\n",
"\n",
"\n",
"EPOCH : 6\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.7153600454330444 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.29it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0060 train acc: 96.1317\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.2341 test acc: 92.3800\n",
"\n",
"\n",
"EPOCH : 7\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=2.174130439758301 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.17it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0059 train acc: 96.3117\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.1604 test acc: 94.8400\n",
"\n",
"\n",
"EPOCH : 8\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.907226324081421 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.32it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0058 train acc: 96.3367\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0842 test acc: 97.2800\n",
"\n",
"\n",
"EPOCH : 9\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=2.6993870735168457 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.00it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0058 train acc: 96.3833\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.6606 test acc: 80.2200\n",
"\n",
"\n",
"EPOCH : 10\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.6489964723587036 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.23it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0047 train acc: 97.8983\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0385 test acc: 98.7500\n",
"\n",
"\n",
"EPOCH : 11\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.1051241159439087 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.87it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0040 train acc: 98.1950\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0418 test acc: 98.7000\n",
"\n",
"\n",
"EPOCH : 12\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.4375464916229248 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.76it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0037 train acc: 98.2033\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0508 test acc: 98.5200\n",
"\n",
"\n",
"EPOCH : 13\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.0940923690795898 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.20it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0037 train acc: 98.1183\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\r 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0478 test acc: 98.6100\n",
"\n",
"\n",
"EPOCH : 14\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.0835736989974976 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.96it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0035 train acc: 98.0867\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0495 test acc: 98.5200\n",
"\n",
"\n",
"EPOCH : 15\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.1156208515167236 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.21it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0035 train acc: 97.9700\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0758 test acc: 97.6700\n",
"\n",
"\n",
"EPOCH : 16\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.0187793970108032 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.26it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0035 train acc: 97.8850\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0522 test acc: 98.5000\n",
"\n",
"\n",
"EPOCH : 17\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.1549386978149414 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.18it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0034 train acc: 98.0000\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0455 test acc: 98.6900\n",
"\n",
"\n",
"EPOCH : 18\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.2927265167236328 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.21it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0034 train acc: 97.9950\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0943 test acc: 97.3100\n",
"\n",
"\n",
"EPOCH : 19\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.9052407145500183 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.75it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0031 train acc: 98.4617\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0324 test acc: 99.0200\n",
"\n",
"\n",
"EPOCH : 20\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.7438151836395264 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.71it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0029 train acc: 98.5067\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0324 test acc: 99.0000\n",
"\n",
"\n",
"EPOCH : 21\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.754089891910553 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.79it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0029 train acc: 98.5967\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0311 test acc: 99.0600\n",
"\n",
"\n",
"EPOCH : 22\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.9332746863365173 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.85it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0028 train acc: 98.5867\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0313 test acc: 98.9900\n",
"\n",
"\n",
"EPOCH : 23\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.885301947593689 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 23.20it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0028 train acc: 98.6150\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0309 test acc: 99.0400\n",
"\n",
"\n",
"EPOCH : 24\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=0.8512848615646362 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.96it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0028 train acc: 98.6000\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"\n",
" 0%| | 0/235 [00:00<?, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TEST avg loss: 0.0345 test acc: 98.9100\n",
"\n",
"\n",
"EPOCH : 25\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"loss=1.0113778114318848 batch_id=234: 100%|██████████| 235/235 [00:10<00:00, 22.92it/s]\n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"\n",
"\n",
" TRAIN avg loss: 0.0027 train acc: 98.6283\n",
"\n",
" Best Model Saved!!!\n",
"\n",
"\n",
"\n",
" TEST avg loss: 0.0308 test acc: 99.1200\n",
"\n",
"##########\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Q_tRcu9Y7_Mp",
"colab_type": "text"
},
"source": [
"## Problem Statements\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Z-DTiOWE8aRu",
"colab_type": "code",
"colab": {}
},
"source": [
"conditions = ['n_l1_n_l2_bn', 'n_l1_n_l2_gbn', 'l1_bn', 'l1_gbn', 'l2_bn', 'l2_gbn', 'l1_l2_bn', 'l1_l2_gbn']\n",
"stats_file_path = \"./stats/models_acc_losses_data.json\"\n",
"\n",
"def get_misclassified_images(condition):\n",
" if \"gbn\" in condition:\n",
" net = GhostNet(n_splits).to(device)\n",
" else:\n",
" net = Net().to(device)\n",
"\n",
" optimizer = optim.SGD(net.parameters(), lr=0.1, momentum=0.9)\n",
"\n",
" ckp_path = f\"./weights/model_{condition}.pt\"\n",
"\n",
" model, optimizer, epoch, val_max_acc, misclassified_images = load_ckp(ckp_path, net, optimizer)\n",
"\n",
" return misclassified_images\n",
"\n",
"\n",
"def validation_stat(condition, type_='acc'):\n",
" with open(stats_file_path) as f:\n",
" data = json.load(f)\n",
"\n",
" if type_==\"acc\":\n",
" return data[f\"{condition}\"][\"test_acc\"] \n",
" else:\n",
" return data[f\"{condition}\"][\"test_losses\"]\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "PfZZXG7R7-Uh",
"colab_type": "code",
"colab": {}
},
"source": [
"epoch_count = range(1, 26)\n",
"\n",
"def plot_graphs(jobs, type_='acc'):\n",
"\n",
" fig = plt.figure(figsize=(10,10))\n",
"\n",
" for condition in jobs:\n",
" plt.plot(epoch_count, validation_stat(condition, type_))\n",
" \n",
" plt.legend(jobs)\n",
" plt.xlabel('Epoch')\n",
" plt.ylabel(type_)\n",
" plt.show();\n",
"\n",
"\n",
" fig.savefig(f'validation_%s.png' % (type_))\n",
"\n"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "GdnNOmIiCG7Z",
"colab_type": "code",
"colab": {}
},
"source": [
"def plot_misclassified_images(condition, n=25):\n",
" figure = plt.figure(figsize=(10,10))\n",
"\n",
" images = get_misclassified_images(condition)[:n]\n",
" for i in range(1, n+1):\n",
" plt.subplot(5,5,i)\n",
" plt.axis('off')\n",
" plt.imshow(images[i-1][\"img\"].cpu().numpy()[0], cmap='gray_r')\n",
" plt.title(\"Predicted : {} \\nActual : {}\".format(images[i-1][\"pred\"][0].cpu().numpy(), images[i-1][\"target\"].cpu().numpy()))\n",
"\n",
" plt.tight_layout()\n",
" plt.savefig(f\"{condition}_image.png\")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "0dyGjwRW8CyQ",
"colab_type": "text"
},
"source": [
"### ONE graph to show the validation accuracy curves for all 8 jobs"
]
},
{
"cell_type": "code",
"metadata": {
"id": "JYcBV0J8BBxt",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 605
},
"outputId": "92e49939-b13b-4a4b-b0a2-7b69e909f8d4"
},
"source": [
"plot_graphs(conditions, 'acc')"
],
"execution_count": 24,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "PFdlUjX9Bbks",
"colab_type": "text"
},
"source": [
"### ONE graph to show the loss change curves for all 8 jobs above"
]
},
{
"cell_type": "code",
"metadata": {
"id": "czzgawCcBgbw",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 605
},
"outputId": "0d06d4cf-a26c-4fc1-a94e-890637b7b9ae"
},
"source": [
"plot_graphs(conditions, 'losses')"
],
"execution_count": 25,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x720 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Lgy4ThREB7mL",
"colab_type": "text"
},
"source": [
"### 25 misclassified images for \"without L1/L2 with BN\""
]
},
{
"cell_type": "code",
"metadata": {
"id": "k7pGUHVmB3el",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 728
},
"outputId": "ca09eeb7-dece-4f65-ecfe-df836057938c"
},
"source": [
"plot_misclassified_images('n_l1_n_l2_bn')"
],
"execution_count": 26,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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nyTOLrGw3HLLJfHqq69eptFJ33zzTRJnl5R58803kzhd8yotWNvYq1evUofQsEt1VEu6dnTChAleX77/D/mWncouexZgjXHoeVPxnElvQSr5y8R98cUXXl+6jlSSzj777JzHTdeXZZeae+edd7z22LFjkziba9l61WuuuSaJDz744Jznr6AWnzPl8swzz3jtoUOHJnF2WcF77rnHa++5556VG1j5hZ4zUol5M3fuXK/94IMPeu10HfHhhx/u9aXryQ888ECvL/t3LYXK1qOm/wZCknr27JnE2b+7CRBLSQEAACBcTE4BAAAQjOCWkkov83TVVVfVcCSRkSNHeu1dd901iadNm+b1bbPNNkl8ySWXeH3NuI2PMkvfyj/qqKMKfl72Vn36tv7dd9/t9aWXq0IYpk6dmrNd6m4vkn+r/r333vP6srfu07doszvVZceQfu8ZOHCg15ddzgrVkX7P79ixo9eX/V5ffvnlSXzGGWd4fX/+85+T+N133/X6Pvvss+YOExWQLR0sptxijz32SOJsmWH2tn56iarXX3/d60uXCT300ENe3z//+U+vnS5b+utf/+r1bb755oUMu6a4cgoAAIBgMDkFAABAMJicAgAAIBjB1ZzWWrbGNLtcQ3opqa233trrS2+BuPjii1dgdCjFxRdfnLOvmJrTbF1pWnapMITn73//u9dO1whm6wWz9aBTpkxJ4uw2o+nnppewk6Snn37aa6eXncouV5VdOu/WW29N4uz7ydVXXy1UXrZO+dhjj03i/fbbz+vLLjf28ccfJ3H6eylJu+yySxL/+9//bvY4UT/WXXfdvP3petD0+47kb5meXZ4s+57w0ksvJXF622RJevzxx732ZpttlndMtcCVUwAAAASDySkAAACCweQUAAAAwaDmVNKZZ56ZxJdddpnX991333ntQw89NInTW9BJ1JmGKl89aL5tRvPVqmZlt0FFeNJrDUoL1qCmpdculfy1KLPrkW655ZZJnM2ZdI1p1sknn+y10zXrkr+m4ZgxY3IeB5Vz5ZVXeu107ejNN9/s9e28885eO11LusYaa+Q8R79+/ZozRDSwbA17ut23b1+vb7fddvPaO+ywQxK///77Xl+pW6ZWE1dOAQAAEAwmpwAAAAhGi7ytn13yI73NXHZL0t13391rh7ClKopT6i33fEtHZbGUVPg22GCDnO1X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ut+uNPS8qXrOpGs+Dz30UK8vW+OZfp/M9m2wwQY5zzF+/Hivna45zb735jtnnz59vL70++Syyy6b8/zNRM4E5pBDDvHazz77rNdOLz9WI6HnjNQC8+Y///mP185uvZrNo7S99toriW+//Xavr4x/60PNKQAAAMLF5BQAAADBqMlt/ZNPPjmJhw4d6vV17NgxiR966CGvb/PNN6/EcOoNt02a6eijj07ifDtENfF/o96Enjc1fbHPOeccr53diSddilTMLf98t+6zfdmdY66++uokHjhwYM6xVxA5E5jJkyd77R49enjt9FJ42eUMqyT0nJFaSN589dVXSZxeAlOSZs+eXfBx/u///i+Ju3fv3vyBLRy39QEAABAuJqcAAAAIBpNTAAAABKMqNacXX3yx1z7hhBOSeK211vL60ksatNCloppCTU8z5as5TS8fVedLR2WFnjdB5cy7777rtdPbm2br5PNtM5pd5ildO5rtO+igg7x2vmXOqoScCczcuXO99hZbbOG1O3TokMTp7b2rKPSckVpg3tQBak4BAAAQLianAAAACAaTUwAAAASjIjWn2fVJBw8e7LXXXHPNJL733nu9vpVWWqmUU7Yk1PQ0U7qWdNCgQV7fqFGjknjTTTet2piqIPS8CTpnWihyJnCff/651954442TeOTIkV5f165dqzGk0HNGIm9CRM0pAAAAwsXkFAAAAMGoyG397K35FVdc0WtfdtllScyWpEXjtglKEXrekDPhIWfqzOGHH57EZ511ltfXqVOnagwh9JyRyJsQcVsfAAAA4WJyCgAAgGAwOQUAAEAwqrJ9KcqKmh6UIvS8IWfCQ86gWKHnjETehIiaUwAAAISLySkAAACCweQUAAAAwWByCgAAgGAwOQUAAEAwmJwCAAAgGE0tJQUAAABUDVdOAQAAEAwmpwAAAAgGk1MAAAAEg8kpAAAAgsHkFAAAAMFgcgoAAIBgMDkFAABAMJicAgAAIBhMTgEAABAMJqcAAAAIBpNTAAAABKMuJqdmdpOZnRPH/cxsbJXO68ysRzXOhfIjb1AscgbFImdQCvImv7JNTs3sEzObZWYzzOzz+IVfolzHn88595xzrlcB4znAzEaW+/yFMrPeZvaUmX1jZh+Y2R61GkvIyBvv3G3N7HozG2dm083sdTPbsRZjCRk5s8D5Z2Q+fjSzK2o1nhCR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MSKJb7jhBq/vww8/9NpvvPFGVcYEoL7NmzfPa//www9JfPPNN3t92267rdfu0qVLEi+yiH89qU2bNuUaIhrY0Ucf7bUvvfRSr+2cS+Jjjz3W6/vrX/9auYHlwZVTAAAABIPJKQAAAILB5BQAAADBsHStwULk7ay16dOnJ/GwYcNyPu6JJ57w2i+88ILXPuqoo5L4mGOO8fqWWWaZ5gyxEqzWAyhA0Hnz6quvJvHFF1/s9Y0aNSqJx40bl/c4P/74Y3kHVlmh503QOdNCkTPN8NFHHyXx6aef7vXddtttJR1zzTXX9NqnnHKK195nn32SOFufWiWh54wUeN6US/pnW7aOtFWrVl47/bMs25euj66gBfKGK6cAAAAIBpNTAAAABIPJKQAAAIJRVzWnY8eO9dobb7xxEs+YMSPn87Jfo1nuspjFF1/ca5933nle+/DDD29ynBVGTU8TPvnkE6993HHHee2HH344iWfPnl3yedI5165du5KPUyWh501Q7zWQRM4U5aabbvLaZ599dhKn608lf33SDh06eH09e/b02l9++WUSv//++3nH8PrrryfxOuus4/VVqQY19JyRAsubcsm3lmlTc6B0/9133+317bXXXuUaYj7UnAIAACBcTE4BAAAQjKC3L506darX/uMf/+i1893KL9XMmTO99vHHH++108tSPfTQQ2U/PwqTvn0lSZMmTUri7HZrzzzzjNdO38LIV+LRlBtvvDGJDzvssJKPA6D+ZLczPvfcc712+lb+0ksv7fWddtppSZxeynBh0sfJniO7xXLfvn2T+Prrr/f6DjzwwLznQX3JLoOY3ZI0vSRUdtnDfEtJNednYjlx5RQAAADBYHIKAACAYDA5BQAAQDCCqzn94osvknjffff1+rK1g9WQXWpoypQpVR8DInvvvXcSP/LII15ftlY4n3T9V3q7P0nabbfdkrh///7FDhFVNm3aNK89cuRIrz169Oicz/3qq6+S+K677vL6NtpoI6/9s5/9LOdxiqlhXmmllZI4nWtNyS5xl22jOtJ/B7HDDjt4fR988IHX7t69exI/99xzXl/Xrl0LPudqq62WxNntSrPSNajZn5eDBw9O4mzNIerDhAkTkviee+7x+rLLRaXrSPP1SdKFF16YxHvuuWezx1kOXDkFAABAMJicAgAAIBjB7RB17bXXJnExy/Okd9yQ/CU3tthiC6/v3nvv9drZpYfySe9K9fzzzxf8vDIKY52H/CqSN+lbpsUsd5FetkWSzjzzzJyPTZeVrLDCCnmPe/nllydxADuHNSX0vCk4ZwYNGpTE2VuXxZTdlGtJsUocJ3ustdZay+v785//nMTZ97c11lij5DFkNEzOlEt697lVV10172PT7zNDhgypyHiyy1n9/Oc/T+LsUozpnaY6depUkfEo/JyR6niHqPTuTdmStHzLRWX7jj32WK99wQUXlGuIpWKHKAAAAISLySkAAACCweQUAAAAwQhuKan0lpDF6Nmzp9c+5phjcj72xRdfLOkcqK099tgjiV999VWvb+utt07iAw44wOvLtwxQPk3VDy6yCL/b1UK67iqUrfYq7e233/baBx98cBJn6wdZ7i4M6667bsXPsfrqq3vt9BJj2ZrT9N9aHHTQQZUdGMoi+3ctv/71r5M4+95XzFJS6b+dCRU/XQEAABAMJqcAAAAIBpNTAAAABCO4mtNi9O7dO4kffPDBgp93++23l3zOzp07l/xcNM8tt9ySxPPmzfP6llxyybKcI12zlV1bMlv3h9pI19L95je/8freeOMNr51etzariTWec0pvfytJK664YhIXUwObXndSkiZNmlSW8aByFl100STO1vqmt8OVpOHDhyfx7rvvXpHxZHMou9122pgxYyoyBlTOZZdd5rXT7y/ZLWjzrXO6ySabeH3p9XBDxZVTAAAABIPJKQAAAIJR17f1e/TokcT5tpL75z//6bVff/31ks+Z3jYQ1bXEEktU/Bzp2/rZ73V6+R7UTvp26uOPP+71pbeXlKRx48YVdMwrr7zSa2e3OE5L54gkPfDAA0mcfk9qylVXXeW1s1vgpm/htW3b1us79NBDk/jss88u+JxonpVWWimJDznkEK/v/PPP99qPPPJIEt96661e36677prESy21VMnjefjhh7325MmTcz527733Lvk8qJ4JEyYk8fjx472+dClS9jZ+tkwpfSt/5MiR5RxiVXDlFAAAAMFgcgoAAIBgMDkFAABAMGpec5pd+qXQGjFJ6tq1a0GPGz16tNeeM2dOwefo1auX185uk4rGld0aEOFbZZVV8rZzyS6tkq1BHTVqVBIPHDjQ69tggw2S+P777/f61ltvPa+drjUsZmmyE0880WsPGTKk4OeiMk499VSvnd1q8umnn07i3/72t15feivmbG37+uuv77XTy+Rll0a77rrrco5vt912y3tchGnQoEFJ/PLLL3t9xSwlddRRR1VgdNXDlVMAAAAEg8kpAAAAglHz2/offfSR1863o0vWN998k8Tff/+913fWWWcl8dChQ72+YnZxyZYOrLzyygU/F40lu1RHeimgww47rNrDQRlll2pabrnlvPZmm22WxNndftK38n//+997fR06dPDa77zzTsFjOv3005P4hBNOKPh5qI727dt77TPPPNNrp79nL7zwgteXzplsKUjfvn29dr7b+u+++27O8b300kte+5RTTkni7bbbzuvLLsVYzJJoaJ5sOUi6nZ2rFLOUVKk74IWCK6cAAAAIBpNTAAAABIPJKQAAAIJhTdQlVL1oIb3lVnYZhVJlv8Ziak5ffPFFr73RRhuVZUzNUPjga6e+i11i6aVgJGmbbbbx2n369EniN998s+TzvPrqq0mc3Y6zS5cuXvuXv/xlEhdZ/xx63tRtzqSXi3rrrbdKPk526Z/0lpfZLVOrhJxphpkzZybxY4895vVdeOGFSZytR62F7PvMxIkTSz1U6DkjBZY32W1lhw8fnsT5lovK9qXnTpJ05513JnExPysuvvjinH1HH310wccp0gJ5w5VTAAAABIPJKQAAAILB5BQAAADBqPk6p1npetBiakNLPQeQS+vWrfO2x44dm8SPPPKI1zdv3jyvfd555yVxdm3fb7/9Nolnz56dd0zpNQ+zNbHZrTJRHb/61a+SuJja46WXXtprZ9fJrFGdKcok/f3bc889vb7+/fsncbq2WGremsk77LBDErdr167g5+VbLxWVlW990nxrmWb7snXD9b4mO1dOAQAAEAwmpwAAAAhGcLf101u+7bXXXjUcCVq6zTff3Gv37NnTa7/99ttJPGDAgJLPk75V01TJSboE4LrrrvP6rrjiipLHgNINGTIkiYspGdpnn3289jrrrFO2MSFs3333XRKnl/xpSvfu3b12tiTg5z//eRK3adOm4ONOmTKl4MeiebLblWaXq0y/hxSzlFT2vSe9JFS+c0jSxhtvnMQVXC6qKFw5BQAAQDCYnAIAACAYTE4BAAAQjOC2L01v+Zbd1u2qq67K+bzsEi4ffvhhEjdn+9JBgwZ57TvuuKPg51ZIPayDFdT2cMWYNWtWEp977rle30UXXeS108s+FZNT2drCfv36JfHqq6/u9aXzWPL/D2T/PxxyyCH5Tht63tRtziyyyE+/4xeTB9mlfrJ1f8UsBVQh5EyZ/Pvf//ba6WXDnnvuubzP7datWxKPGDHC6wuwTjn0nJFqnDd33323187OMfL9DUKhfdn+bF92DAH8fQ/blwIAACBcTE4BAAAQDCanAAAACEZwNaelGjNmjNdee+21k7g5Nafbbrut13788cdLGF1ZUdNTpA8++MBr/+tf/0rihx56yOsr5vubr/6nQ4cOXvvmm29O4t13373gc5RR6HkTVM4Uo9Sa06y+fft67fQaln369Cn5uM1AzhThq6++8tpXXnllEqe3L5ak77//Pudx0jWmkl9nGmCNaVboOSPVOG8222wzr/3yyy977XxrmRbal+3fZJNNvL7s2roBbHVKzSkAAADCxeQUAAAAwQhu+9JSdenSpSLHffXVV732a6+9lsTrr79+Rc6J4qVvz3/00UdeX3p7SUmaMWNGEmdvwxZzW7ZHjx5JnF3yqX379l67RrfyUQXpW61vvfVWycdJv7dI0lNPPZXENbqt3+KllzaUpBtvvDHnY7PL8zz77LMFnSO7XeSpp57qtZdeeumCjoNwpZeLym5fmm9JqOyt+nx92Vvzw4cPT+L0trb1giunAAAACAaTUwAAAASDySkAAACC0TA1p5WSXR7k66+/rtFI8MUXXyRx//79vb50rd+8efMKPmbbtm299oABA5J42LBheZ97wQUXJPHFF1/s9W200UYFjwH17Y033kji3/3ud17f7bff7rXnzp2b8zjZJe+OPPLIJP7yyy+9vtNPP73ocSIyatQor539u4L0FsL77LOP1zdt2rSSzrnCCit47fTyUOuuu67X16ZNm5LOgXCl60qzNaalLhd17LHHen0DBw702vVYZ5rGlVMAAAAEg8kpAAAAgsFtfdSN9G39//3vfwU/L7vM2IEHHpjEO+ywg9dXzK2Q0047LYmzO3Cw9E/LlF1qaNFFF/Xa1113XcHHSt/+yy5T9Pvf/z6JA9jdpa5kl2r6z3/+47XTt9V/+OGHgo+73HLLee2TTz45iQ855BCvr127dgUfF/Vv4403TuJx48Z5fS+++KLXzrdc1IUXXpjE2SXIGg1XTgEAABAMJqcAAAAIBpNTAAAABMOyy5dk5O0MyfTp0712586dk3j27NleXzFb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OXKk1/7qq69KGs+OO+5Y0vPQfM45r52uHX3mmWcKPk779u29drdu3Zo3sBrjyikAAACCweQUAAAAwWByCgAAgGBYtt4hI29npWVrBxdZxJ9Lv/7660ncr1+/nMeZMWOG187WZmSPm3b11Vd77e233z6JV1999ZzPq6B6WLys6nnz0ksvJfHaa6/t9U2aNMlrv/rqqzmP8/bbbyfxmWee6fUtvfTSXnvEiBFJvNlmmxU+2NoIPW9q+l6DhSJnymSdddbx2u+++24Sz507N+9zl1tuuSSeMmVK3sem13Ru3Tr3n5QceOCBXnvrrbf22tm/9yhC6DkjBZY3jz76qNfeZZddcj42PV/LrmOa/RuI9HredWCBvOHKKQAAAILB5BQAAADBCPq2fi18/fXXXvuLL77w2r169armcBaG2yZlNGvWLK+97777JvH999/v9Z1++ule+4wzzqjYuCog9Lypm5yplOwWkt99913Ox6a3n3z22We9vmWWWcZrp3M637J5C0HOlMnmm2/utdO38rO3Y1dddVWvfdZZZ+U8bnapwxtuuCGJW7VqVfQ4yyD0nJFqnDfZLdFPOeUUr/3ZZ5/lfG6+2/pdunTx2unttetgqTBu6wMAACBcTE4BAAAQDCanAAAACEZw25fW2n333ee1DzvsMK/95JNPJnG+5atQH8477zyvna4z7d+/v9c3ZMiQqowJ9Su7nWR6aTLJ347wf//7n9eX3Wa50O2Zm5JeSu2kk04qyzFRnGxepGVri7fddtuCj9u3b1+vXaM6UzQhXSuarQ394YcfynKOTz/91Gunl6Q699xzvb5jjjnGaxdZi14VXDkFAABAMJicAgAAIBgtcimpmTNneu0//OEPSTxnzhyvL70Mi+QvydCuXbsKjK5JLNXRTHfffXcS77///l5fenmOu+66y+vbddddKzuwygo9b4LKme+//95r//e//03i7BJj9957bxJnd6Pr06eP195qq62S+Je//KXXt95663ntFVZYofABp7z22mtee4MNNkjiJt7vs8iZCknvaJddki67Y1Dasssu67Wb2jGqBkLPGakGeZP+f5dv565ijpNdSqrQ50nS4MGDvfbxxx+fxL179y5xdM3CUlIAAAAIF5NTAAAABIPJKQAAAILRImtOp0+f7rXTSy5k/etf//Laiy66aEXGVARqeoqUrSNea621kviDDz7w+s4+++wkPvXUUys7sOoKPW9qmjOffPKJ184utTJixIgkXnvttb2+I488Mol33nlnry9bI1gN6foxSXrzzTeTOF8940KQM2UyatQor33BBRck8YMPPpj3uemlh7LLjQUo9JyRqpA32e/ppZdemsTp5eSKVa6a03zPvfzyy7324YcfXvB5moGaUwAAAISLySkAAACCweQUAAAAwWiR25fOmjXLaz/77LNJvMoqq3h9Ra4LiADtt99+XjtdZ7r99tt7fek1b9FYsrXm6bq/iy66yOvL5ky6brNnz54VGF3pbrrpJq+d3mJZkh5//PEqjgYLs80223jt7Dq6+QwdOrTcw0GFXXvttV47PccoplY0/fcRktStW7ck3nPPPb2+W2+91Wvnq23NN4ZzzjnHa1ep5nQBXDkFAABAMJicAgAAIBgt8rZ+euu4rPT2pJLUtm3bSg8HZfbNN9947ex2jml/+tOfvHapW0YiTN9++20SZ7ef/fDDD5M4u1XtgAEDKjuwZnruueeS+JFHHvH6XnzxRa/dpk2bqoyppUvfupWkvffeO4mLuY2fdcQRRyRxdpmw7bbbzmtfd911Scz3vbrS26JnSwdLdfDBB3vtfLfYf/3rX3vtdGnS888/7/Xl2/Y225cuK8kusVfJHOPKKQAAAILB5BQAAADBYHIKAACAYLTI7Us32WQTr/3OO+8k8ejRo72+0JaNEdvDNenAAw/02jfeeKPXTtcV33///V5fA9cYh543ZcmZyZMne+099tgjiTt27Oj13X777UncqVOncpy+atK1tLNnz/b6lltuuXKdpkXkTDGmTZuWxNn6v2zt79dff12VMaWlt9bNblW78sorV2MIoeeMVKG8Sb/e+bZEL8Zll13mtYtZ1ildA73UUkt5fX//+9+99tVXX53zOOk54vnnn+/1nXDCCQWPpwlsXwoAAIBwMTkFAABAMFrEUlLvvvuu187ujpBegiHA2/goUnaHnKzf/e53SdzAt/FbpCeeeMJrp5cVy97mzN7mzyd9nC+//NLrW2211YoZYlksueSSVT8npKOPPjqJ02UhTcmWWnTp0qXg5+68885JnN15aOrUqV77rbfeSuI5c+YUfA4035///OckLmZnyZ122slrjxgxoizj2WKLLXL2Zd8n84033Xfbbbd5fenl0iSpe/fuxQwxL66cAgAAIBhMTgEAABAMJqcAAAAIRouoOV1zzTW99tixY732SSedVM3hoMqyW6ytvvrqNRoJKm348OFe+1e/+lUSF1NjmrX//vsn8TPPPOP1pWu7Bg4c6PVl2x06dEjiRRbh2kDo0ssMSgvW6qVl8yv9vT/ssMO8vg033LDgMcydOzeJP/vsM68vu0weaif9tyzZv2sp9HnVcvnll3vt9N9hfPHFFzmfV82x8u4IAACAYDA5BQAAQDCYnAIAACAYDbt96fTp05P4rrvu8vqef/55r3399ddXZUxl0mK3hytUuj5QWvD7f9ZZZyXxiSeeWJUxBSD0vClLzmy00UZee968eUmc3Zq4VBMmTPDaDz/8cBJnawBfeuklr73bbrsl8RVXXOH1de3atSzjK6MWkTPFuPjii5M4u372EUcc4bXXWWedspzzk08+SeJVV1214Od9+OGHXrtK6/GGnjNShfKmV69eSfzBBx8U/LzOnTt77f79+yfxpZde6vU1p24+nxtuuCGJDzroIK8vPUfM1pxmt+xNj71IbF8KAACAcDE5BQAAQDAadimp9BIg2cvU77//frWHgyrq27ev185uuTZq1KhqDqdqxowZk8Qrr7yy15dewuj/27v3eLmm+//j789XyJWkSNAQKaJJXCKhQkkoQpWUiJ8WIZSQXrRaVFFf2qp7XVolpKgEdWuERoO6xKX4IhGCkFByIYkIEUmkaVi/P/Zkd62dzJw558xlzZzX8/E4D5/PWTN7r5zzMbPO3mvWqme33HJLkPu1kF3O5/zzz0/j7K21QrK330eOHJnGJ554YtCW3TJ19OjRabz99tsHbX/961+DfL/99iu6T6gMf/vScsm+Xl166aVFP7dv375p/KUvfalkfULDhg4dmsaXXHJJ0c/LLt00duzYNJ49e3bQ5k8V6dWrV9CWnaLpL5mZbfP7KkkXXHBB0f2tFK6cAgAAIBoMTgEAABANBqcAAACIRt3MOX355ZeLfuzGG29cxp6g2g499NAgP/vss4N85cqVaewvNSTFv6XkkiVL0viyyy4L2i6//PI0zm5Pl513Xa969+4d5FdffXUaZ+vgjjvuSGN/m1NpzeXI9txzz6LO36pV+JI6ePDgvPkZZ5xR8JwvvfRSGm+66aZFnR+15+677w7y3/72t0GeXbLK588xlaTHH388jTt27FiC3qFYCxYsSOMGlugs2qRJk4Lc//02ZivRbH/mzZsX5P5yZQ09t9i25or7nRgAAAAtCoNTAAAARIPBKQAAAKJRN3NOs3Mm/O1Le/ToEbRl54Whvmy99dZB3q9fvyB/6KGH0ji7tmR27mGl+XOKpHC7REl64YUX0tif4ySFfR8yZEgZeld7vv/97681lqTf/e53afzoo48GbQceeGCQr1ixIo333XffJvfH/51NnTo1aPPXS5WYZ1pPsmtr+9vc+nUohXPiJalNmzZp/O1vfztoGzVqVJAzz7R6/NeX7Lae2bVMS6Exc06zsu97hY615ZZbpnF2bebOnTs3uQ8N4copAAAAosHgFAAAANGwBpYCKN86ASV23333Bfl3v/vdNH7wwQeDtr322qsifSqTpl/Lr5yo6uauu+4K8u985ztp3LNnz6DtpptuytvWmO0AP/nkkyD3t9P1t5WTwq3u3n777aAte7tl5513TuNTTz01aDv88MPTeC1LYsVeN1HVzMKFC4N81qxZaVxo2bp//vOfQb7HHnvkfWz//v2DPLsMVgTLmrWImvG3i5Ska665Jo3vvPPOoK179+55jzNt2rQg97eynT9/ftCW3ZbS529RKUk//elP0/j444/P+7xIxF4zUgVea7JjDv93OGPGjCYf1x+vNWcpqexz+/Tpk8YXXXRR0NatW7c0zm6ZWkJr/GOq/uoHAAAArMbgFAAAANFgcAoAAIBo1PScU3/uxgknnBC0/fvf/07j//u//wvamrMEQwRqofNR1U12i1J/G0t/vmdW165dg7x9+/ZFn3P58uVBPnfu3LyP9bfTzZ7zT3/6U5DvsssuRfchI/a6iapmIKmF1Myll14a5GeeeWYaZz+f0K5du7zHee2114K80LzSDTbYII2/8Y1vBG3Z/+drbLvt2GtGqsJrjT/O8j8PI0n33HNPk46THcd06dIlyP35odlx3tChQ4Pc31bZXzqqgphzCgAAgHgxOAUAAEA0amqrpKuuuirIO3XqlMavvPJK0OYvA1Tjt/HRTNkleU4//fQ0ztbGxRdfnMbvvfdeyfpwxBFHpHH2lsree++dxtlbMwDKq23btkHeoUOHNH7iiSeafFz/drz/uiKFuxYOHDiwyedAbfDfZ7LLk2HtuHIKAACAaDA4BQAAQDQYnAIAACAaNbWU1OOPPx7k++yzTxqvt956QduECRPSeNCg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3brPateuXRr704Mk6ZBDDgnyoUOHpnH2PTC7lJS/RNVpp50WtPnTmU466aS8fUNlZetk6tSpedt8CxYsCPKFCxeWtmNVxpVTAAAARIPBKQAAAKLB4BQAAADRiHrOaXYOxdNPPx3kLCWF1RYtWpTG2TpZunRpkO+www5pvNFGGwVtgwYNSuNs/fnzuSRp3rx5aZydo7hixYogv+yyy9KYOadx6NevX9GPveqqq9J4yJAhQdv6669fsj7l4y9LJEk777xz2c+JNflLOWXfc7K5v31odl7pT37ykzTu2bNn0efPHifLP+fEiROLPi6q5+677w5y/72iJePKKQAAAKLB4BQAAADRiPq2/qxZswrm/jIL2d18/CU2skt++Mt4oD74t+ePOOKIoC17O75r165p/Ktf/Spo22STTYo+58cff5zG2eVfsku+PPzww2n87LPPBm2777570edE6ey1115pfP/99wdt5557bpBvvvnmaZzdPeqTTz5J41Le4veXlPnd734XtPm7yKBy/F2WstN+evfuHeQbb7xx3uM8+OCDa40l6cMPPwzys88+O40b895V6PyonsWLFwe5P2UI/8WrXAt/AAAgAElEQVSVUwAAAESDwSkAAACiweAUAAAA0Yh6zqm/bIdUeLmobNv48ePT2N9yTpIuuOCCIG9oeQ7Ez/+dvvXWW0Fb9ve7yy67pHH79u2bfM4vfelLabzZZpsVfKy/tNSll14atPlbY6I6Dj744CDPzgP2t8Tt3r170HbooYem8aOPPtrkPsyYMSPIP/roozS+8cYbm3xclI7/WtKY943se9Btt92Wxtn3ruxcUX+r0W7duhV9TsTDn0d85JFHBm3ZzyAgwZVTAAAARIPBKQAAAKLB4BQAAADRiHrOaXYbSn9dUymcf+Nv2yZJY8eOTePsnL7sGpT+OnJHH3100Na5c+dG9Bjl5G/hmF3ncdy4cWn8wAMPBG3Z9QfLwV8zU5Lmz58f5E8++WQaL1u2rOz9QfNkt7X1txjMzh/M/q6bKru26uOPP57Gr776atDWtm3bkpwTpTN9+vQg99fafvPNN4M2/70sux1u9j2Ieaa170c/+lEaP/LII2U5R3a91P32268s56kUrpwCAAAgGgxOAQAAEI2ob+uPGDEiyLNLbvzmN79J4+zyG/6tU39ZKWnN7eFOO+20NL766qsL9sGfAoDK8pduWrVqVdD2zjvvVLo7gcMPPzzI33777SD3b+sXWhIN8evXr1/ettGjRxd87M4775zGTzzxRNCWXUrKXz4qO80A1Ze9jb/rrrsGuf8elP1//pxzzknjs846K2hje+3605jXfH9ZwhNOOCFo85chXLlyZdDmv8dI4bbtw4YNK/r8seDKKQAAAKLB4BQAAADRYHAKAACAaFh2eaaMgo21wl9mSFpzaSl/yap33303aMvOFVmwYEEaV2mZqVqYsFiWuvGX4MhuAfrwww+X45RFu/zyy4N8wIABQb7bbrul8f777x+0PfTQQ+Xr2H/FXjc1+1rz6aefpvGsWbOCto4dOwa5P480O789y9/m8Nprr21OF5uKmingyiuvDHL/swtSuFxUdqvT119/vXwdq67Ya0aqQt1MmTIljQ855JCgbejQoUF+4oknpvH2228ftJ1//vlpfNFFFwVt2Tmom266aRrPnDkzaOvQoUMRva6oNeqGK6cAAACIBoNTAAAARCPqpaRKxd+pY225v7TUySefHLRll6HyL6VfccUVpeoiitCmTZs09m9ZxKjQbdjtttuugj1Bua2//vppfOeddwZtF154Yd7n7bjjjkH+05/+NMiPPfbYEvQO5ZLdea7QckHZHaIOPPDANM7uEHXSSSeVoHeIib+k3Jw5c5p8HP+2/n333Re0TZ06Ncj9neuyUwmyU8latYpvKMiVUwAAAESDwSkAAACiweAUAAAA0YhvokEV+Et+ZJf4yC615S8f8tlnnwVt1113XRl6h9X23HPPtcYxat++fd42f74Zap+/vNz1119f9PP22WefIO/Tp0/J+oTyO+CAA4L87rvvDnL/swzZ5QsnT56cxtn5f9klqvxtKP3tb9GyZV8/snNOfY899liQDxo0KMgffPDBNG7dunUJetd8XDkFAABANBicAgAAIBoMTgEAABAN5pwqnA+UXY8uu3adv2XpiBEjytsxBMaMGZPG06ZNC9ouu+yySncnmFO2ZMmSoG2XXXYJ8q222iqNe/ToUd6OoaL87QYXLVpU9PNeeumlIM9unXzNNdek8Wabbda0zqFisutn+7Jrl86ePTuN/dcRSRo2bFiQ77rrrmn8k5/8JGg7++yzg3zjjTcurrOoeZdcckmQZ+eKZrc39U2aNCnIBw8enMb33HNP0LbBBhs0sYfNw5VTAAAARIPBKQAAAKLRIm/r+0tzSNK5556bxtmlo/zb+FK4bAwqy791fuSRR1axJ4l99903jV955ZWgLXsrxL+F271797L2C5U1YcKENM5OA8ouD/Xkk0+msb/tafY4qG/dunVbayytuZzhuHHj0njkyJFBW3bJuh//+MdpnH3vQpymTJkS5P/617+Ket4mm2wS5D179mxyH/7xj3+kcXaaCbf1AQAA0OIxOAUAAEA0GJwCAAAgGi1izun06dOD/LTTTgtyf45Fds7Y2LFjy9cxNIo/x+bzzz+v+Pn9LQcl6Z133sn7WH8esxQuJYXalp0besopp6Rxdv5Y9rUmO8/Ud/DBB5egd6g3/hJVW265ZdB20EEHBbm/DeUVV1wRtA0YMKAMvUNjZbc9/9WvfhXk999/f1HH6dixY8n65Dv//POD3F/SrpLzT7lyCgAAgGgwOAUAAEA0GJwCAAAgGpZd1zOjYGOtyM45za4V99RTT6XxAQccELRNnDixfB1rGmv4IVVXkrrJbufor//3rW99qxSnKOjVV18N8vHjxwf5HXfckcYDBw4M2q699trydaxpYq+bqF9rHn300TQeNWpU0HbOOeekcXb7yM0337y8HSsvaiZy2fe2vfbaK42ztfjEE0+kcRnXQI29ZqQq183vf//7IM9uSRub5557Lo379+9frtOsUTdcOQUAAEA0GJwCAAAgGi3itn5WdtsvfympSZMmBW0RLr/BbZMy8pcJOuqoo4K2ddZZJ8gHDRqUxjfddFPQ1qFDhzL0rllir5uoa2b58uVp/NFHHwVtP//5z9P4xhtvDNratm3b5HP6S5ftvPPOTT5OM1AzNcbfmvv0008P2vr27ZvGZZyuFnvNSFWum+x0tV69egX5ihUrKtibNbVu3TrIn3nmmTTu169fuU7LbX0AAADEi8EpAAAAosHgFAAAANFoEduXXnDBBUH+wQcfBLm//EaEc0xRQeedd14aZ7eZ22ijjYLc3zowwjmmKKG5c+emcXYLUn/ZsAbm8DfKPffck8b77LNP0PbJJ5+U7DzIb9asWXnbsluJxmDYsGFpfNtttwVt/tamV111VdB26qmnlrdjSHXv3j3I77vvviB/+eWXS3KeJUuWpHF2WcSvf/3reZ+37bbbBnkZ55kWxJVTAAAARIPBKQAAAKJRt7f1x40bl8aXXHJJ0ObfxpekK664oiJ9QuP861//CvLNNtssjZuzRI8ve7tjypQpadynT5+gberUqSU5J2qPf6vL3xlMkhYvXpzG2V15dtxxxyD3p39kp4mMHj067zlPOumkRvYYpXDvvfcG+cUXX5zGW2yxRUX6MGTIkDTu2bNnwcf6yyL6sSSZ/Xe1njfffLNEvUNz7b///gXzloorpwAAAIgGg1MAAABEg8EpAAAAolG3c04ffvjhNF62bFnQlp2vWK2lElBYdg6eP+/Onz8lhctzZLeHW7RoUZA/9dRTafyLX/wiaOvUqVMajxo1qlH9Rcvw3e9+N8j9+spuM+pveypJ7du3T+MNN9wwaMu+Ll1++eVpnF1KCpWRXWLJz2+44YaCz/VfZ954442g7cUXX0zj7GtZdjkyfxvbbFuh5zZ0XCBmXDkFAABANBicAgAAIBoMTgEAABANa2AeSs1OUhk5cmQaP/3000HbpEmTgjy7NmHkrOGHVF1Z6uZvf/tbGmfXfezcuXMaZ+daffHFF0Hur2263XbbBW1nnHFGGg8fPrzpnY1P7HVTs681vjFjxgT5tGnTgtyfPzhjxoygbebMmUFeqrV8m4GaKZNbb701jXv37h20ZefaN8b06dPTuFevXkGb/z43YsSIoK1bt25NPmdG7DUj1XDd1LE16oYrpwAAAIgGg1MAAABEo25v69exFnvbZOzYsWl87LHH5n1cly5dgjx72+wPf/hDGvtLUEnh9pJ1Jva64bUmPtQMGiv2mpGomxhxWx8AAADxYnAKAACAaDA4BQAAQDSYc1p7mNODpoi9bqiZ+FAzaKzYa0aibmLEnFMAAADEi8EpAAAAosHgFAAAANFgcAoAAIBoMDgFAABANBicAgAAIBoNLSUFAAAAVAxXTgEAABANBqcAAACIBoNTAAAARIPBKQAAAKLB4BQAAADRYHAKAACAaDA4BQAAQDQYnAIAACAaDE4BAAAQDQanAAAAiAaDUwAAAESjZganZvZnM7sgFw8wszcrdF5nZttU4lwoLWoGjUXNoCmoGzQWNVNYSQenZvaumX1mZkvNbEHuh9+hlOeQJOfcU865rxbRn+PM7OlSn79YZrahmd1rZsvMbJaZHVWtvsSKmlnj/JPMbEXu57G0Ui9YtYSaWeP8SzNfn5vZH6rVn1hRN2uc/0dm9qKZ/dvM/lytfsSMmsnbjx6596lby3WOclw5Heyc6yCpn6RdJP0y+wAza1WG88boj5JWStpE0tGSrjOz7arbpShRM6EfOec65L4afMFqoaiZHK9WOkjaVNJnku6ucrdiRd381/uSLpB0U7U7EjlqZk1/lPRCOU9Qttv6zrn3JE2UtL2UXkr+oZnNlDQz972DzWyqmS02s2fMbMfVzzezvmY2xcw+NbM7JbXx2vY2s7levoWZjTOzhWa2yMyuMbNekkZJ2j33V8/i3GNbm9nlZjY795fQKDNr6x3rDDObZ2bvm9n3mvrvN7P2koZKOtc5t9Q597Sk+yUd09Rj1ruWXjNoPGpmDUMlfSDpqRIes+5QN5JzbpxzbrykRc05TktBzaTH+66kxZIebe6xCinb4NTMtpD0LUkved8+VFJ/Sb3NrK+Sv9hOlrSRpOsl3Z/7Qa8nabyksZI2VHIVYGie86wjaYKkWZK6S+oq6Q7n3HRJIyU9m7uq0Cn3lIslbStpJ0nb5B7/v7ljfVPS6ZIGSeohab8G/o2/MLMJeZq3lbTKOTfD+97Lkrhymgc1k7rIzD40s3+a2d4NPLZFo2bWMFzSGOecK/LxLRJ1g8aiZiQz20DSryX9rNBxSsI5V7IvSe9KWqpkVD1L0rWS2ubanKR9vMdeJ+k3mee/KWkvSQOV3HIwr+0ZSRfk4r0lzc3Fu0taKKnVWvpznKSnvdwkLZO0tfe93SW9k4tvknSx17Ztrt/bNOFnMUDS/Mz3RkiaVMqfea1/UTNrnL+/pPUltVYy0PjUPzdf1EyBn8uWkj6X9JVq/45i/KJu8v5cLpD052r/fmL8ombWOP/Vks7MxedLurVcP/tyzJM41Dn3SJ62OV68paThZnaK9731JH1ZyQ/vPZf7CeTMynPMLSTNcs6tKqJvnSW1kzTZzFZ/zyStk4u/LGlyEecsxlJJG2S+t4GSwQZC1EyOc+7/vPQWMztSyV/rfMAlRM2s6Rglb1zvlOh49Yi6QWNRM5LMbCclV177NvUYjVHpSbz+L2aOpN86536bfZCZ7SWpq5mZ98vsJunttRxzjqRuZtZqLb/M7K2tD5V8WGA7l8wfyZqnpDBW65b/n9KgGZJamVkP59zM3Pf6SHqtGcdsiVpSzayNU/Jig+K11Jo5VsktPjRNS60bNF1Lqpm9lUwzmJ0bCHeQtI6Z9XbO9WvGcdeqmuucjpY00sz6W6K9mR1kZutLelbSKkk/NrN1zewwSbvmOc7zSn4BF+eO0cbM9si1LZC0eW6+h5xzX+TOe6WZdZEkM+tqZgfkHn+XpOPMrLeZtZN0XlP/cc65ZZLGSfp1rl97SDpEyZwTNE1d14yZdTKzA3L9aWVmRyu5HfRgU4+J+q6Z1czs60rmmvEp/dKo+7rJvca0UXKVbZ3VrzvNOWYLV+81c4OkrZXMbd1JyYezHpB0QKEnNVXVBqfOuReVzMG8RtLHkt5SMp9CzrmVkg7L5R9J+o6Sgd7ajvO5pMFKJgLPljQ393hJekzJlcr5ZvZh7ntn5s71nJktkfSIpK/mjjVR0lW5572V+29eZna2mU0s8JAfSGqr5NOzf5H0feccV06bqAXUzLpK5n8tVPIX8SlKbinNyPN4NKAF1MxqwyWNc84xbagEWkjd/FLJVbdfSBqWi9dYJgnFqfeacc4td87NX/2lZOriCufcwkLHbCoLp0AAAAAA1VMz25cCAACg/jE4BQAAQDQYnAIAACAaDE4BAAAQjRY/ODWz883s1mr3A7WDmkFjUTNoCuoGjVUvNVP1wamZTTKzj82sdZGPP87Mni53v4qRW8vsHDObbWZLzOwOS/aeRRnVeM18w8ymmdliM1tkZveaWddq96ve1XjNHGRmT+dqZr6Z/Sm3diLKjLpBY9V4zUQzpqnq4NTMuivZg95J+nY1+9JExyrZMnAPJduEtRXbTJZVHdTM65IOcM51UlIzM5XsyYwyqYOa6ahk/dsvS+qlZLH9y6raoxaAukFj1UHNRDOmqfaV02MlPSfpz0oWkU6Z2RZmNs7MFuauMF1jZr2U7Eqwu5ktNbPFucdOMrMTvecGf4mY2dVmNif3l8BkMxtQov4PlnSjc26Oc26ppEskfSe3EwPKo6Zrxjm3wDn3vvetz5UstozyqfWaud0592BuEeyPlewIs0dDz0OzUTdorJquGUU0polhcHpb7usAM9tEksxsHUkTJM1SspdrV0l3OOemSxop6VnnXIfc1adivKBku60NJd0u6W5Ltm1rUO6WyJ6FHpKJW0vqUWS/0Hg1XzNm1i33IvSZpNMlXVpkn9A0NV8zGQOV7BKD8qJu0Fj1UDNRjGmqNjjN/XC2lHSXc26ypLclHZVr3lXJJeUznHPLnHMrnHNNnpPhnLvVObfIObfKOfc7JT/srxb53E4Fzv2gpBPNrLuZdVSyjZgkceW0DOqkZuScm517EdpYyXaBbzS1nyisXmpmNTMbpOSKzP82tZ9oGHWDxqqTmolmTFPNK6fDJT3snFu9P+zt+u9l8C0kzXLOrSrFiczsdDObbmaf5K5YdVQyMGiumyT9RdIkJX+RPp77/twSHBtrqoeaSTnnPpJ0i6T7zKxVKY+NVN3UjJntpqT/hzvnZpTquFgr6gaNVQ81E82YpipviGbWVtIRktYxs/m5b7eW1MnM+kiaI6mbmbVayy/TreWQyxSO7Df1zjVA0s8l7SvpNefcF2b2scJL103inPtC0nm5L5nZ/pLey32hhOqlZtailaQukjaQ9FEZjt9i1VPNmFlfSfdL+p5z7tFSHBNrR92gseqlZmIa01TryumhSj4I0lvJvImdlHya8CklczaelzRP0sVm1t7M2pjZ6oncCyRtbmbrecebKukwM2tnZttIOsFrW1/SKkkLJbUys/9VMhBoNjPb0My2tkRvSVdI+nXuF4zSqpeaOczMvmpm/2NmnZXUzEu5q6gorXqpme2V3G47xTn3t1IcEwVRN2iseqmZaMY01RqcDpd0c27u3fzVX5KukXS0kr8ABiv5FPNsJZeUv5N77mNKLjfPN7PVl8+vlLRSyS/5FiWTkVd7SMn/oDOUTEZeoeSvmKJY8gm6fJ+E21jS35X8lTNR0k3OuRuKPTYapV5qpmvu2J9KmibpC0lDij02GqVeauY0SZ0l3Zh73FIz44Mt5UPdoLHqpWaiGdOYc2u7ogwAAABUXrWXkgIAAABSDE4BAAAQDQanAAAAiAaDUwAAAESjoXVO+bRUfMqx1mapUTfxib1uqJn4UDNorNhrRqJuYrRG3XDlFAAAANFgcAoAAIBoMDgFAABANBicAgAAIBoMTgEAABANBqcAAACIBoNTAAAARIPBKQAAAKLB4BQAAADRYHAKAACAaDA4BQAAQDQYnAIAACAarardgUIWLFgQ5DNnzgzyxYsXp/Gll14atF144YV5j7vnnnuWoHeoB2+99VaQ+3Xz6KOPBm2PPfZYkG+99dbl6xgAAC0UV04BAAAQDQanAAAAiAaDUwAAAETDnHOF2gs2lsOiRYvS+Pvf/37Qds8995TkHGPGjAnyYcOGleS4FWLV7kARKl43TdW/f/8gf/755/M+drfddgvyZ599tix9KpPY6yaqmlm2bFmQv/HGG2k8evTovM/74IMPgnz8+PFBftJJJ+V97lFHHRXkAwcObLCfZUbNVMDs2bOD/PDDDw/yF154Ie9zTz/99CC/7LLLStexpom9ZqQarptBgwal8SOPPBK0bbXVVkH+9ttvV6RPJbJG3XDlFAAAANFgcAoAAIBoMDgFAABANKJb5/SEE05I4/vvv78s5/jxj38c5J9//nkaDx8+vCznRJwaM+c0+1jUtgsuuCCN77vvvqAtO+f0zTffTOPsPH0zK6pNkm644Ya8bZMnTw7yiRMnpvHGG2+85j8ANeOZZ54Jcn895Xnz5gVtL730UpD7ddKpU6egLTtPGfXll7/8ZZBn1972bb755uXuTkVx5RQAAADRYHAKAACAaFTltr6/XJR/G1+SHnjggbKff8WKFUH+4Ycflv2ciNNGG22Ut23TTTcN8kLLACFOt956axqfdtppQZu/7FP2Fnv29nyvXr3SeMsttwzahgwZkvf8hx12WN7j7rrrrkHbiy++GOT+EkPc1o/fwoULg/zOO+9M4+zt2SVLljTpHP6W3ZL0l7/8Jcj79u3bpOMiHp988kkaZ2/j+68f66+/ftB23nnnlbdjFcaVUwAAAESDwSkAAACiweAUAAAA0ajInNMFCxYE+SmnnJLG5VouqpBzzz03yLNz0ZrKn8t62223BW3Z+WU77LBDSc6Jxps1a1Ya//nPf877uCOOOCLIe/fuXa4uoUz8+eTZueUjR47M+7wRI0YEec+ePdO4Xbt2Te7P9OnT8/YnO+8V1ZedG+p/XuLee+8N2rLbYr/yyivl6xjq1iWXXJLGzz33XN7H+UvhSdI+++wT5Lfccksav/rqq0FbBNvcNogrpwAAAIgGg1MAAABEoyK39WfOnBnk99xzT0mO6++ysckmmxT9vOOPP74k5886++yz0/iqq64K2rK39f0lbrbZZpuy9AdrN3Xq1DR+99138z6uffv2QT527Ngg/8Y3vpHG9bY7R7049dRT1xpXy/Lly9M4uwtVdrkolo+qjs8++yyNhw0bFrRNmDChJOcYPHhwGrdu3TpoK9X7I2rT+++/n7ftnHPOSeMf/vCHQZtft5J00UUXpXF2DDZ06NAg32233Rrdz3LjyikAAACiweAUAAAA0WBwCgAAgGhUZfvSQtZdd9007tSpU9B21llnBfkPfvCDNF5vvfXK27EiTJw4MW/b888/H+T+VnfMOS2vOXPmBPmvfvWrop7nz9lZm379+qVxdlmPAw88sMjeoSXxlx/KLh3FUlJx8JcELNUc0+ycPn+Zn+wWlcw5bVmyy5U99NBDaZzdonT48OFpvM466wRt1113XZC/+eabadymTZugrTnL4VUKV04BAAAQDQanAAAAiAaDUwAAAEQjujmnW2+9dRq//vrrVexJw1566aUgX7p0aZV6gkJuuummIM/+3ppqypQpaTxkyJCgLTtv7OCDDy7JOVHb/Nc051zQ1q1bt4J5Pv52vNKa26L6x+ncuXNRx8Ta+eue+mtVr823v/3tND766KODNv/zFNmtrtGyZH//8+fPT+P99tsvaOvRo0fe47z33nt52zbaaKMg33HHHRvTxargyikAAACiweAUAAAA0ajIbf1rr722EqepCH9JqBEjRgRthS6ro3Kyv4c//elPRT93ww03TONRo0YFbV/5yleC/LTTTkvjJ598MmhbvHhx0edEyzF+/Pg0zi4dNWDAgCC/4YYb8h7HX5LKn14iFb6tf8UVVwRt2ekoCG2xxRZB7k+hKLTNpBQuA5TdCtlXaAlC1L/s1qK+ffbZp+jjPPbYY6XoTjS4cgoAAIBoMDgFAABANBicAgAAIBoVmXP6l7/8JchreZu+adOmrTVGPLJLkC1atCjI/eV0/vjHPwZtvXr1SuPtt9++4HnOOOOMNM7OOc3Oc/WXoEHLkd3WNrt8lO/KK68Mcv91Mvs8v04333zzoO2AAw4Icn/bZ/95WDt/a8c77rgjaPv3v/+dxptuummTz3HzzTen8eeff97k46C+7bDDDnnb/C3QJWnevHl5H3vQQQeVrE+VwpVTAAAARIPBKQAAAKJRkdv62dujr776at7HFrrtVQnZW8JTp04N8hNPPLEk56n2v7OeDRo0KMgff/zxIPdv2xW6bdKQ7DIzvuyuPWgZjjnmmCD3l46Swlv12elNAwcODHL/Fnx22bqePXumsV/PaL7WrVun8e67716Wc/jTfH7wgx8EbatWrcr7vOxUggsvvLC0HUPFFVp2sHfv3nnbsjuULViwIO9jCy1lFiuunAIAACAaDE4BAAAQDQanAAAAiEZF5pxed911QZ6dW+X7+OOP0zi7rduBBx5Y2o6txdlnnx3k999/f5CXahmsWl5Oq9b079+/LMdlu9qWY9y4cWl8zjnnBG1vvvlmGmfnkmf/P/fnh44dOzZoYyvR+pVddvD8889P40JzTLP+53/C60mtWlXkLRwltHz58iD/+9//3qTj3H333aXoTrS4cgoAAIBoMDgFAABANBicAgAAIBrRTVj54IMP0ji7/tvo0aODfL/99mvSObJrmfrzTJ9//vkmHbMhxx13XJB/9atfLct5UDnXX3993rbsepeImz+nVJLuvffeIPfXK122bFnQNnTo0DT+61//GrRl55wedthhacwc05Yju9WkX19777130DZp0qQK9AjVMnv27CBfsmRJkPfo0SONN9lkk6DNr6N33nmn6HPW4rbFXDkFAABANBicAgAAIBoVua2f3V6vS5cuaezfxs/KbgHp3xKTwm3mGmPlypVB/umnnzbpOI3RuXPnIG/btm3Zz4nSeuutt4L8hRdeyPvYbbfdttzdQSNlb62ee+65aZy9jZ+9de+/9px11llBm3/LrKEl4vbcc8/iOou6st566wX5qaeemsbZW66FbutnlzpE7enatWuQd+jQIchnzpyZxnPmzAna7rjjjjSeP39+wfOsu+66abzLLrs0up/VxpVTAAAARIPBKQAAAKLB4BQAAADRqMic0379+gX5zTffnMbZ5aKy80x9S5cuLZgXq6EtBsvhsssuC/JDDz00jXffffeynx/Nl13KbN68eWm83XbbBW177LFHRfqEwqZPn57G3/rWt4I2/7Wmd+/eQduoUZWgaboAAAVSSURBVKOCvNCyT/45sq8lhZaSQsuRnWvsvweefPLJRR+nFpcEQmj99dcP8u233z7IH3/88TT2xwlSuFVyQ/zlDPv27duYLkaBK6cAAACIBoNTAAAARIPBKQAAAKJRle1LDzzwwDTu06dP0FZozmkMBg4cmMbZuatPPfVUpbuDMpo8eXKQ33777UHuryN38cUXB21f+cpXytcxFM2f45l9bfHnlWbngm688cZFn+PCCy9M4+xrwjnnnNPk46J+zJgxI8gXL15c9HP9eYeNWa8yu4b48uXL07h79+5FHwfltdNOOwW5P+e00BzTNm3aBPmKFSuCfMqUKWn8n//8J2jz37tixZVTAAAARIPBKQAAAKJRldv6vj/+8Y9B/tprr6XxkiVLgrbsNqPZy9hN1b59+zT+/e9/H7RllwTq2LFjGl900UVB27PPPpvGq1atKknfUFn+bZRDDjkkaHvvvfeCfLfddkvjgw8+uLwdQ5P4v8/ssk7+LfbG3G4fN25ckI8fPz7vOQotQYWWY6+99gryBQsWFP3cd999N40vvfTSoC37/uS/Z06bNi1oGzNmTBrfddddQVv//v2L7g9KK7ucpj/l45133gnahg4dmsZz584N2i655JIgf+WVV9L45ZdfDtpqYTtTrpwCAAAgGgxOAQAAEA0GpwAAAIiGZZc+ySjYWGl/+MMfgtxfcsHfSlKSli1blsbbbLNN0Jb9N/vzwo499tgm98/fWq6hbcb++c9/pnEjty8t/16rzVfxulm5cmUaP/DAA0HbN7/5zSBv27ZtGk+dOjVo+/Wvf53G9957b9DWo0ePIH/wwQfTeKuttmpkjysu9ropS808+eSTaezPDZWkiRMnpnFD24yOGDEijX/6058Gbf5xTz311KDtiiuuaGSPo9Iia6Yc7rzzziA/8sgjS3Jc/zMQkrTpppum8RFHHBG0zZkzJ42vvvrqoC27pWYzxF4zUg3VTSH77rtvkD/22GNB7i8Xlp27GqE16oYrpwAAAIgGg1MAAABEo6Zu6xfy1ltvBfnHH3+cxl/72tcq0gdu66cqXjc333xzGn/ve98L2nr27BnkgwcPTuOxY8cGbfPnz0/j7C4aEyZMCPL999+/aZ2tjtjrpuI14++Y88YbbwRtw4YNC/KPPvoojbM77/hTArJLBNX4jlDUTIlkb7nut99+JTlu9jj+blLZOj3llFPSeKONNirJ+dci9pqRaqhuCtlhhx2C/NVXXw3yY445Jo39ZcQixW19AAAAxIvBKQAAAKLB4BQAAADRqPr2paWSXS4KLcvxxx+fxv5yUNKa8wmzue+kk05K47POOito85fmQO1r165dGvfr1y9oe/3114P8Zz/7WRpfeeWVQdvAgQPTuMbnmKJMsnM8DzrooDTOzm2/7rrrgnyzzTbLe9yddtopyP2tMLPzDNlSu/b5W5t+8sknBR+76667lrs7ZcWVUwAAAESDwSkAAACiweAUAAAA0aibOacxmD59erW7ANXEVm2oMf5audmtTv3tj4G16dOnT5D/7W9/S+PsmrrZecv+PPi77roraCu0DWpztuJGnD799NO1xpJ0+OGHB/nRRx9dkT6VC1dOAQAAEA0GpwAAAIhG3Wxf2oKwPRyaIva6oWbiQ82gsWKvGYm6iRHblwIAACBeDE4BAAAQDQanAAAAiAaDUwAAAESDwSkAAACiweAUAAAA0WBwCgAAgGgwOAUAAEA0GJwCAAAgGgxOAQAAEI2Gti8FAAAAKoYrpwAAAIgGg1MAAABEg8EpAAAAosHgFAAAANFgcAoAAIBoMDgFAABANP4/lOiY73SeZk8AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 720x720 with 25 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Jb7eVCEAGmXq",
"colab_type": "text"
},
"source": [
"### 25 misclassified images for \"without L1/L2 with GBN\""
]
},
{
"cell_type": "code",
"metadata": {
"id": "gpVmc_CWB3jK",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 728
},
"outputId": "e379f7a1-cd1c-4ccd-e777-725a378f49db"
},
"source": [
"plot_misclassified_images('n_l1_n_l2_gbn')"
],
"execution_count": 27,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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fPDBTescJEm//e1vvXJzLuWn/etf/0riFnRZHwF48803k/jcc8/16jbffHOv/MgjjyRxmS7jo4yGDRuWxPmWwmvIgw8+6JVfe+21JG7btq1X9+STTybxdttt1+RjNhZnTgEAABAMBqcAAAAIBoNTAAAABKMsS0lll4tKz1tYYYUVvLrrr78+ibNbCBZLdkmqjTfeOInffffdkhyziFiqo0zSc20k6dRTT/XKixcvTuJ33nnHq8vO9/rwww+T+KyzzvLq5s6dm8SPP/543naaIfS8KUrOZP9vFwtLSQWpJl5nsj744AOvfNJJJyVxem6gJP33v//1yp06dSpdxwoTes5IFcib9LJe6W3XJf+1RZLuvffenO0sXLgwiZcsWVKk3uW34oorJvH8+fNLdRiWkgIAAEC4GJwCAAAgGGVZSurMM8/0yquttloSjx071qtL7+xULCNHjvTK2Ut/yy3HGB2RefPmJXF2mbMZM2Z45Z/+9Kc521m6dKlX/utf/5rE2Uv36V3RWP6leXbeeWevnF6aLis9pegXv/iFV/e73/3OK2+44YZF6B1Q36JFi7zy4Ycf7pXTU4LSS5pJQVzGR+zEE09M4uHDh3t13333XRIXa3m7cknn54QJE7y6bbbZpmTHZVQGAACAYDA4BQAAQDAYnAIAACAYZZlzmp33NWbMmCQuxRzTrOxWXe3bt/fKl156acn7gDCl55hK/jakDc0xTc8dbd3a/680ePBgr5xeIm2nnXby6o488shG9Bj5nHbaaV55ypQpSfzJJ594del5wbNnz/bqsq8ZBx10UBJ369bNq2vTpk3TOgtIOuaYY7zyq6++6pVvvPHGJN5hhx3K0ifUd8cdd3jlSy65xCuntxPNfuegmqXny1522WVeXfb7PMXEmVMAAAAEg8EpAAAAgsHgFAAAAMEoy/al6bkYkj/PNDv/s1hmzpyZxOntUrPHl+rP8Qkc28M10+23357Ev/3tb726L7/8MonT27ZJ9bedS8//euONN7y67bff3iun5yA988wzee9bIqHnTUlyJr1GZHZr4vQ2gd9++61X99BDD+Vss2fPnl553333TeJ99tnHq9tqq60K72x4WmTO5JPeSvT3v/+9V5fdirtz584527n55puT+KKLLvLq/vnPf3rl9PtXq1atCu9sZYSeM1Ij8iY93zc7n73Sdt99d6+85ppreuXnnnsuibNbyBdLA+PHxmD7UgAAAISLwSkAAACCUZalpLp3716Ow3gGDhyYxNlT2j/60Y/K3R2U0eeff+6VP/jgA6+cvjSXXiYjK7vNXN++fb3yk08+mcT333+/V5fdkvD4449P4jJdxoekHj16LDOWpP333z/n47JTANLbRj711FNe3R/+8Ickzi61su6663rl9KXgX/7ylzmPjzBNnDgxibfeemuvbv311/fK6eXjVl99da8uPZ3o/PPP9+pYLioc+bY/Lofse8WQIUOSuGvXrl5d9r1s7733TuLmXNZPb++eno5Sapw5BQAAQDAYnAIAACAYDE4BAAAQjLIsJVUskyZN8soPPPBAEmeX35gwYUISm/mrFGTnwKaXlsouM3Xeeed55V69ejWixyVRU0t1NFV2TueoUaOSOLsd7Ztvvllwu+l5OrvssotXt8kmm3jl9Fyc/v37e3XrrbeeV87mbgWEnjdBvdY0xhNPPJHEgwYN8uqeffZZr5ze6vQnP/mJV5eeo7is+gogZzLmzp2bxNnlx/785z975SuuuKKgNtNL/kjSzjvv3MTeBSH0nJEakTfZsUM+66yzThKfffbZXl36+wmnn366V5dvC/cOHTp45fT7ypw5c7y6oUOHeuUzzjgjf4dzWH755b3yDTfckMQnnHBCk9osAEtJAQAAIFwMTgEAABCM4C7rpy+D/elPf/Lqsru2pHeXyp5+/+qrr5I4u4zHKqus4pUnT56cxNnnI9tuesmgfv361f8FSq+mLps01aGHHuqVhw8fnvO+7dq188rHHntsEu+4445e3V577ZXEK6+8ct4+3HXXXUmcXQ7m0Ucf9cqbbrpp3rbKIPS8qdrL+vlkL9m+9dZbSZzefUaS3nvvPa+cXralhJfT8iFnGuHll1/2yunL80uWLMn5uJNPPtkr77bbbl75oIMOan7nyif0nJFKdFn/j3/8YxKfeeaZjetRgV555ZUkzi5b9/DDDxflGOeee65Xvuqqq4rSbgO4rA8AAIBwMTgFAABAMBicAgAAIBjBzTmdNWtWEk+bNi3vfdNzTo888kivLv3Y0aNHe3XZ7UvTc72OOOIIry49HzV7zFdffTVvuyVSU3N6murCCy/0yunlo372s595deecc45X7t27d5OO+cgjj3jldM5llxjLLm2WXnaqQkLPm6DmD5ZDel68JG222WZe+aOPPkriY445xqtL5/uaa65Z/M5FyJlm2HjjjZM4O5+4c+fOSZydE9+zZ0+vfOCBBybxgAEDitnFUgg9Z6RG5E16++H0/0ep/vce0t9ByC7H1FTpJTElaY899kjiefPmFeUYWdkl0U477bSSHCeDOacAAAAIF4NTAAAABIPBKQAAAIIR3JzTxkjPx8hu9denT58kzs45bYxsu+PHj0/i7NqD6XUJS6im5vQ01eLFi73yrbfemsR9+/b16tZaa60mHSO7Hdzxxx/vldu2bZvETz/9tFe3zTbbNOmYJRR63gT9WlMO2TmoBx98cBKPGTPGq0vPT3388ce9ui5duhSrS+RMI2TXOd11112TOPvakZ47+K9//cury85Pffvtt5P4qKOO8uquu+46r9yqVatG9LgkQs8ZqRF5k57bnf2eQ3Zb7Oyc8aYaMWJEEl9++eVe3cSJE4tyjPR7l+SPc7JzTNOvQyXEnFMAAACEi8EpAAAAgtG60h1ojgcffDCJs9uMpZffaI5sO+mpBGVaOgrL0KZNG698yimnFKXdRYsWJfGdd97p1X377bdeOT2NI8DL+KgyHTt29Mrp17f0lruSdM899yRxdmm07BSAEi41hZR3333XK6+00kpJfMMNN+R83AEHHOCVx40b55XPPvvsJM4uUTdo0CCvnM0hNM9hhx2WxNttt51Xl14qrJiuvvrqJC7WZfysLbbYwitnt1kOAWdOAQAAEAwGpwAAAAgGg1MAAAAEo6rnnF522WVJnJ1zuuqqqxblGJMmTfLK6aW3sltWovp89913Xjk9x+jf//63V5edf3zIIYeUrmMIyv3335/E+bYN3Hfffb3yGmus0eRjpre1vPjii726L774IomfeOIJr26fffbxyuk5qM3pD/L74IMPvHIDyzTmtPPOO3vlfv36JfGLL77o1THHtLTWX3/9ZcbV5qyzzvLKp59+eoV6UjjOnAIAACAYDE4BAAAQDAanAAAACEZVzzlNzzPNzjlNz9NpjuxWctnjoPqk1yvNzu9Kb0+77rrrenXZdU87dOhQ/M4hSPfdd18Sp+efNmT11Vf3yv3790/i9PzmxjrjjDOSODvnNLs24i677JLEkydPbvIxkd/Pf/5zr3zNNdck8UMPPeTV7b///km83HL+OaLsPPg33ngjiVdYYYVm9xNhK9b3ZdKef/55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G96fyqomckbRe9IwRVf05ku6QdJA59x7hbZfLMaJGwAAAISi0ktJAQAAAAkGpwAAAAgGg1MAAAAEg8EpAAAAgtHQOqd8Wyo8xVxrs1TIm/CEnjfkTHjIGTRW6DkjkTchqpc3nDkFAABAMBicAgAAIBgMTgEAABAMBqcAAAAIBoNTAAAABIPBKQAAAILB4BQAAADBYHAKAACAYDA4BQAAQDAYnAIAACAYDE4BAAAQDAanAAAACEbrSncgn7vuussrT5061StfeOGFTWrXOeeV//KXvyTxSSed1KQ2AQAottdffz2Jb7vtNq9u3XXX9crnnHNOWfqEyjMzr9yvXz+vnB7n/PjHP/bqLr300tJ1rEg4cwoAAIBgMDgFAABAMBicAgAAIBiWnX+ZkbeyFKZPn57E2223nVf3xRdfFNzOBhtskMQffPCBV5f9nVdcccUkHjZsmFe39957F3zMMrGG71JxZc+bxrjuuuuSODv3Zt68eUnctWtXr+6JJ57wyp9++mkST5gwoeDjH3nkkV75f//3fwt+bDOEnjdB50wLRc5UwOTJk71y7969k3jatGle3c9+9jOvnH2NqoDQc0aqkbxZbjn/3GJ2Dmp6nJOtGzFihFfOzletgHp5w5lTAAAABIPBKQAAAILB4BQAAADBqPic02+++cYr77zzzkn8xhtveHWtWrXyykcccUQSp+flSNK2226bxOPHj/fqnn32Wa/co0ePJO7fv79Xt/baa+fse4Uwp6cBixcv9soDBgzwyvfdd1+T2k3PTZak7777LokXLVpUcDtbbbWVV37ooYeSuFu3bk3qWwFCz5sm5czs2bO98qxZs7xyhw4dknjNNdf06rJztlBPTeZMaLKvVwMHDvTKd955ZxJ37NjRq3v44Ye98k9/+tPidq7xQs8ZqUby5tZbb81bf8EFFyRx9nVxm2228cqvvvpq8TrWNMw5BQAAQLgYnAIAACAYFb+sn166R5JWWWWVnPft3r27V54yZUpJ+hQ4Lps0IDtVZOutt/bK77//fjm706D0pbl99923VIcJPW+alDPZy5hz5szxyr169UribB786le/asohW5KazJnQvPjii155xx139MrpHL/44ou9ul122aVk/Wqi0HNGqpG8acgJJ5yQxNltb7OvhVzWBwAAAPJgcAoAAIBgMDgFAABAMFpXugNAsbVv394rn3nmmV45vTTLxIkTvbp27dol8Y9+9KO8xznggAOSeJ111vHqsvMZv/3227xtoWmyS3i9+eabXnnzzTdP4hNPPNGrSy+vcs4555Sgd8CyzZ07N4kbyr2hQ4cm8VprrVWyPqF2Zb9blJ6LHyrOnAIAACAYDE4BAAAQjIovJTV//nyvvO666yZx+tKHxFJSMZbqKKLRo0d75fQuUOndypYlvUNUdtend999N+fjssu/DBs2LIm7dOmS95jNEHreNClnsrukZHfXyWeFFVZI4vSOcpJ0xx13eOX0a89///tfry69C1WNXXatyZwJQXr5uPT0IEk6+uijvfLtt9+exNldEgMUes5IVZw3jbHGGmskcXaHqLFjx3rlAC7zs5QUAAAAwsXgFAAAAMFgcAoAAIBgVHwpqZVWWskrp5fVOP/888vdHbQwe++9d8H3Xbp0qVe+5557kjjfHNOsq6++2iuXcJ5pzdt+++29cnZe+rRp03I+duHChUn83HPPeXX77LOPV951112TODvPtUePHknct29fr26PPfbwynvttVfO/jTGuHHjknjChAle3emnn16UY6B4st/tSOdedsm6wYMHe+XlluMcEhrvwAMPTOLsa1YAc0wbRNYDAAAgGAxOAQAAEAwGpwAAAAhGxeeclkp6jdQBAwZ4dc8884xX3mCDDZJ4xIgRXl12W0q0XNm1L4877riCH7vpppsmcdeuXYvWp5YuvT2pJD322GNe+aKLLkri+++/36vLziFOmzx5ct5y2ocffpjE1157rVeXXktVkpZffvkk7tevn1eXnXv4ySefJPGCBQu8usWLFyfxr3/965x9Q+Wk55nOmDHDqzv33HOTuHPnzl4dc0xRiJkzZ3rlK664wis/+OCDSbzJJpuUpU/FxP8CAAAABIPBKQAAAIJR8cv66SU1JH9bt6wlS5Z45fRp7dVWW82rS18+a93a/zWzW6a+9tprSXzIIYd4da+88krO/qC2ZS+b3HLLLQU/9vjjj/fKN910UxJn8xHFk700ft999yXxU0895dVdddVVSfzBBx94dV9//bVXzuZCoebNm+eVV1555STefffdvbqTTjrJK6dzKPualet+CEf6/Sp7WbV///5JzJKJyGXq1KleOT3Oufvuu726P/3pT165ffv2SZydylgNOHMKAACAYDA4BQAAQDAYnAIAACAYFZ/8ll1qZf/990/il19+2av79NNPvXJ6aZ/00hyS1KFDhyQ+44wzvLq2bdt65fS8tLffftur++c//+mVDzjgAKF2pZd8yc4/zm4TmbbZZpt55T/84Q9emXmmlZfdSjRbTstuRzty5Mgkzs5d/eyzz5L48MMPz9uHG2+8MYm/++47r6537955H4vqlZ17PGfOnCReb731yt0dVIntttvOK1933XVJfOWVV3p1ZuaVzzvvvCTOzsWvBpw5BQAAQDAYnAIAACAYlt7FYhnyVpZadnemadOm5bxvekcoSVpppZUKPs4WW2yRxG+99Vbe+w4dOjSJjzjiiIKPUUTW8F0qrqJ50xzpJZ9OO+20vPdt06ZNEn/00UdeXZcuXYraryIIPW+qJme++uorr5xeMii720/W448/nsR9+vRpch+OPfbYJL755pu9uiJOISFnmiG9W1n2fSW9s1mNTecIPWekwPMmPYUoveSYJG288cZJPGnSpJx1Uv2pSYGrlzecOQUAAEAwGJwCAAAgGAxOAQAAEIyg17fJLo2QLaddfvnlXjm7zEI+6W0ML7vsMq/uhRde8MojRoxI4grNOUURZZcO+8tf/pLzvuk5ppK/7WCAc0xRIh07dsxZl14iSJK+/fbbnPXZ17M11ljDK8+aNSuJs3NZTz/99CRmmbIwvfTSS0k8ceJEry69LWWNzTlFA7JzRR944AGvnB6PZF8jDjrooCR+5513vLqHHnrIKw8aNCiJL7jggqZ1toI4cwoAAIBgMDgFAABAMBicAgAAIBhBT1b69a9/7ZWz80EXL16cxOk5PJK/9mBDc7L22muvJN5hhx28ulVWWcUrp+cOZecRbbnllnmPg+ZZuHBhEs+ePbvJ7YwbNy6J0+tFStI333yT83HZPErPHTrssMOa3J98su3uu+++JTkOmu79999P4uz2xu+9917Ox7Vr184rn3TSSV75hhtuSOLrr7/eq9t0000b3U+U1ptvvumVL7nkkiTOrrud3YobtS09Pkl/V0GSHnzwQa+86667JnF2/ez0+8HXX3/t1W2yySZe+fe//30SZ9eMr4bvy3DmFAAAAMFgcAoAAIBgBH1ZP7v8QadOnbzyGWeckcTDhw/36jbaaKMkvvjii4vWp48//jiJhwwZ4tVxWb+40pffJemaa65J4kceeaTc3al3yX/YsGFNaqdVq1ZeOd+0k5/85CdNOgbKJ70UTL7L+FnZS/Xp1xbJX0oqn+xyd9ntVVmqqDyWLl1a8H1XWGGFEvYEoTnqqKOSOPu+tvrqq3vlP/7xj0ncvXt3r27VVVdN4uz7UXb70gMPPDCJs1Mi27dv75X79euXs++VwplTAAAABIPBKQAAAILB4BQAAADBMOdcvvq8leU2bdo0r7zuuuvmvG966YSnn37aq1t77bVzPm7evHleObuUVFp2rkh6Lsn666+f83HNlHsP13A0KW+yc+f69OnjlbNLZ1STU089NYm32GILr+6YY44pRxdCz5ugXmvy+cc//uGV03+/RYsWFdzOzTff7JU/+eQTrzx48OAkXm+99by6s846a5nHl/wl9qT8y6M1gJxphvTfLDufePz48Um8+eabl61PZRB6zkhlyJuZM2d65fRYIb1UlCSNHTu21N2pJzt2GTNmTBJvvfXW5e6OtIy84cwpAAAAgsHgFAAAAMFgcAoAAIBgBL3OadZqq63mlY877rgk/vvf/+7Vpbf9uvfee726//u//8t5DDN/6kPnzp298ty5c5P4iy++8OrS6x2ee+65OY+BZdt99929cnbuXClssMEGXvmEE05I4uzWps3RoUOHJF5uOT4TVpv0nKx33nnHq2vMPNO0E0880SvvtttuXjm9BfPzzz/v1aXLXbp08eoee+yxJvUHxTVjxowkzq5tnH4faUh62+Z0TkjSiiuu2MTeoZSyW5KmxxXp9Ucr5a677vLK7777bhJXaM5pPbxLAgAAIBgMTgEAABCMqrqsn93y7ZZbbkni++67z6ubP39+Eme3Qc1u89W3b98kXmmllby6c845xyuff/75jegxGmPDDTf0ygsWLPDK6a08Bw4c6NWlL5tlpwfkc//993vlzTbbrODHouVIX9YfOnRoUdrMvg7tueeeXnmnnXZK4vT2h1nZ176ePXsWoXdorh/96EdJ/Pbbb3t1jz/+eBLvsssuedtJ/+2z74HFykUUV3qb0Wz5b3/7m1fXrVs3r1yKrURHjhzplfv37++V09MOjjjiiKIfvyk4cwoAAIBgMDgFAABAMBicAgAAIBhVNec0n+uuu84rp5eZyvrlL3/plS+99NIkXnPNNb26N998swi9QyGyS+Ckl1CR/O0A03OKJemUU07J2W56K1tJOvzww5N4o402amw30QKdeeaZSfyXv/zFq0svDdamTRuvbt999/XKBxxwQBL36tXLq8u3rXI+v//975v0OJTWv/71ryQ++eSTvbohQ4YkcadOnby67PccdthhhyRefvnli9lFlEh23mh66/Xbb7/dqxswYIBXfu+995L4vPPOa3IfBg0alMRXXXWVV5ddMjP7vZwQcOYUAAAAwWBwCgAAgGCYcy5ffd7KkDz66KNeOb3k06effurVzZw50ytnT3Hnk15qaquttvLq0st6rLXWWgW32UiFd7ZySp43Dz/8sFdOLweWdckll3jlEC9hlEHoeVM1rzWjRo3yyunXl+OPP77c3SklcqYZli5dmsTZ15wRI0Yk8bx587y6vfbayys//fTTSbzjjjt6dcOHD292P4ss9JyRKpw3kyZN8sp77723Vx4/fnwSZ5ekyufII4/0yunpAbNmzfLqstMgS7F8VSPVyxvOnAIAACAYDE4BAAAQDAanAAAACEbNzDnN57nnnvPK77zzjldOzzm98847vbpXXnnFK991111JfNhhhxWph43CnB5Ju+22m1d+4YUXkvjYY4/16rJbnW6xxRYl61fAQs+bmnitqTHkTJFk32e//vrrJJ48ebJXN2XKFK98ww03JPEee+zh1V100UXF6mKxhJ4zUmB5kx2fpLc1zjfnNDt3dbvttvPK//d//5fE2bnwjZnLWibMOQUAAEC4GJwCAAAgGAxOAQAAEIwWMee0xjCnR/XnnH7yySdJ/MEHH5T68NUo9LzhtSY85AwaK/SckcibEDHnFAAAAOFicAoAAIBgcFm/+nDZBE0Ret6QM+EhZ9BYoeeMRN6EiMv6AAAACBeDUwAAAASDwSkAAACCweAUAAAAwWBwCgAAgGAwOAUAAEAwGJwCAAAgGAxOAQAAEAwGpwAAAAgGg1MAAAAEo6HtSwEAAICy4cwpAAAAgsHgFAAAAMFgcAoAAIBgMDgFAABAMBicAgAAIBgMTgEAABAMBqcAAAAIBoNTAAAABIPBKQAAAILB4BQAAADBYHAKAACAYFTF4NTM7jSzQXHcy8wml+m4zsx6lONYKD7yBo1FzqApyBs0FjmTX9EGp2b2kZktNLOvzOzz+InvWKz26zjnnnPObVRAf442s3HFPn6h4uchffvezG6sVH9CRd54x25rZoPNbKqZLTCziWa2dyX6EjJypt7xx5rZotRrTVne5KoNeVPv+Heb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lF4+6rrrrvPqnn/+ea/cmEvu6eWjunfv7tUFsMwUSig7De3YY49N4sWLF3t1//jHP7xy+r0sFJw5BQAAQDAYnAIAACAYDE4BAAAQjIrMOV20aFESF2uO6fbbb++VhwwZksRPPfWUV8ecU9TJztO5/PLLk/i5557L+9htttkmiXv27FncjgFlMG3atCReunSpV5fdghf5Zd9X0vNKs+9PL7zwQhJnl3zKJ7sE1PXXX++Vs3Nb09JbcTPntPZk//9++umnOe+b3UK7TZs2JelTc3DmFAAAAMFgcAoAAIBgMDgFAABAMCq+fWlWet3Tu+++O+99999//yQ+/PDDvbrOnTsn8T333FOk3qEWpOeZZrdxy26Rm5ad3/WrX/2quB1DML7//nuvPGnSpCTOzut75ZVXkvg///mPV5ct77333kl8ySWXeHWrrbZazv588cUXXnn8+PFJnJ1blu5Ptg/Z/qR/z969e3t1gwcPztmflurFF19M4rPOOsur++STT7zywQcfnMTZNVCb6uyzz/bK6XmtWdn1Ua+99tqi9AFhSq8fL0nPPvtsEmfnjzvnytGlZuHMKQAAAILB4BQAAADBqPhl/eylh6lTpyZxvqUQJGnFFVdM4g4dOuS83+jRo5vYO9SC7HJRJ554YhLfddddOR934IEHeuXsZfxOnToVoXcIQXbZsKOPPtor//e//03iDTfc0Kvbeeedk3ijjTby6rLlRx99NInfeOONnO1I0sSJE5M4vfSQJK200kpJvNdee3l17dq188rp32Xdddf16tLbFmYfh/rSl/KzS0D98Y9/LPkx813Gz0pvVyo1bskqVJ/sdJ609HQiqf6W7iHizCkAAACCweAUAAAAwWBwCgAAgGBUZM5p+/btk3jYsGFe3bfffpvEXbp0afIx7rjjjiTOLguD2vbNN9945fQcU6nweabpHJKYY1rLrr76aq+83nrreeWxY8cm8ZprrunVtWrVKonHjBnj1d1www1eecaMGUm88sore3WzZs3yyull9W677Tavbo011khi5oqWT3p5qGLN4UwvTyXVn1eaXcIun/Q8U+aYtiyXXnqpV+7YsWMSn3HGGeXuTrNx5hQAAADBYHAKAACAYFTksn56GYNSXXpIXxLL7gK0ZMmSnI/LTiW4/PLLi9sxlMSiRYuS+Pjjj/fq8u0Qll0uKn0pn8v4LUd6SSWp/m46jz/+eBJnL78/88wzSZzelUWSDj30UK+c3l1qyy239OrMrBE9Rjlkl4dK79CUXd4rn+wOUek8aMxl+6z0NANJOuSQQ5rcFqrLe++955Wzrx/pXMguf1cNOHMKAACAYDA4BQAAQDAYnAIAACAY5pzLV5+3MiRvvfWWV7744ouT+OGHH/bq8i0tlV0m5uOPP25+54qrGiamlTxv5s6d65W33377JJ48eXLex/bt2zeJhwwZ4tWlt4WsMaHnTUVfa9JzliVpq6228srZ+V1pf/n/9u48TKri6uP47wgCIltERVwAo6hggqggIYqo0WhE3DVqovga3MXEuEYTwPV1FzfcolGCShTRKCIaXCK+ajS4xLhvgCggoggILkC9f3RzrbpD9/TMdE9X93w/zzOP50x131vMHLtr7q2uuv76JB4yZEjQlm9b5QrQ5GsmPYfTX+bplFNOyfvcDTfcMIlHjRoVtPlL+6Q/d/HTn/604P6l571GsHxU7DUjVdC4pi7SS9PdfvvtSbzPPvs0cm/qrEbdcOUUAAAA0WBwCgAAgGgwOAUAAEA0yrLOaSnMmzcvyO+///4k3mmnnYI2fytCVI7vvvsuidNbkuabZ7r33nsH+ZgxY5K4bdu2RepdKD3POT1HNpcePXoEed++fYvWJ4T8etp5552DNn9LUkm6+eabk/i8884L2qZOnZrE//M//1PMLqLM/LnsUrg+6fjx4/M+1p+T+vvf/z7nOfK1paXnuUYwxxSNaNGiRUnsb1UrSfvvv3+QV8A807y4cgoAAIBoMDgFAABANKrmtn6LFi2C3F+qI32rNN9t/bPPPruo/ULxXHLJJUk8bty4nI+79NJLgzy9fW2+5X0effTRJP7oo4+CtvSyU+l23+zZs4P822+/zflYX3opq0GDBgX52LFjk3i11fjbsiF++9vfJvH06dODtvQ2pN27d0/ibbbZJmjzpwSkb+vnq1PEL33LvS634AtV23KF/nSB9HalaFreeOONJD766KODtnfffbexu1NSvLsBAAAgGgxOAQAAEA0GpwAAAIhG1Wxfmvab3/wmif/yl78U/LzHH388yNNLzESgyWwPl56n2bFjxyRevHhx0NapU6ck/uCDD4K29BZ/77zzThLfc889Qdu//vWvJE5vaRkD/2ey+uqr1+WpsddNo7/W+NtL+q8XknTuuecW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GJwCAAAgGtHNOfX99a9/DfL0nKwJEyYk8fLly4O2fNuF5lPbcfy5pOecc07O46TnGDZgjmkac3pWwV8C7Pbbbw/a0tsK+r/TQw45JGhLzwP0pZf++de//pXzsW3atAnyPn36JPGNN94YtHXv3j2JS7glXex1E/U8MF/6deixxx5L4pdeeiloO/XUU4N8v/32K13Hio+aKZIpU6YEub8kVb7PUkjh+8wFF1xQ3I4VX+w1I0VeN3vttVcST5o0qeDnDRw4MMiffPLJovWpETDnFAAAAPFicAoAAIBoMDgFAABANKKec5r25ZdfBvlnn32WxIMGDQra/Ll76TUC0/M/b7755iROzydLW3311ZO4S5cutfS4JJjTswr+723vvffO+1h/W8gTTjih4HMsWrQoyB9++OEkvvvuu4O2N954I8jff//9nMf15yH++te/ztnWQLHXTVSvNWmPP/54EqfnDPtzAtPrG2+44Yal7VhpUTNF8sknnwS5/x6Unqf8wx/+MMj/+c9/JnEF1FPsNSNFXjeffvppEg8ZMiRoe/TRR3M+r127dkF+1113JfGee+6Z95z+ZzZmzZoVtPnvbSeffHLQVsTtdJlzCgAAgHgxOAUAAEA0Kuq2PiRx20RSzdvm22+/fRKnp3/svPPOQe7fGmnevHkJelfz1sill16axOnbdv7tlx/96EdB24UXXhjkDdjGMva6ifq1ZsmSJUn8+eefB23+NsvpbYobcttr2rRpSexvZdqIqJkieeGFF4K8f//+SezfUpWkk046Kcivvfba0nWs+GKvGamC6ib9XuZP83rqqafyPnf33XdP4t69ewdt++yzT5Dfc889STxq1KigbYsttkjihx56KGjbZJNN8vahDritDwAAgHgxOAUAAEA0GJwCAAAgGsw5rTxNdk7P4sWLkzi9XJQ//6ZTp05B29tvvx3k6SU3mojY6ybq15p33nknidNb3PrzSlu0aBG0tW7dut7n/MMf/pDEo0ePDtrSc9FKhJopkhtuuCHI/SXsOnToELQ9++yzQd6jR4/Sdaz4Yq8ZqYLqJu3rr79O4vSSmP5yd2npcV56Lrx/3LSRI0cm8fDhwwvpZn0w5xQAAADxYnAKAACAaJRmHR2gBC666KIkTi+j4d8au/fee4O2JnobH0W02WabJfG4ceOCtgULFiRxeoeoXr16BXmbNm2S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\n",
"text/plain": [
"<Figure size 720x720 with 25 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "rE2rt48SzGCq",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment