{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":3649,"databundleVersionId":46718,"sourceType":"competition"}],"dockerImageVersionId":30646,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"For the Code in Tensorflow/Keras, please refer: https://www.kaggle.com/code/priyankdl/cifar10-with-transferlearning-flow-from-directory\n\nThe following code is written in PyTorch. If you like the notebook, please upvote it.","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19"}},{"cell_type":"code","source":"import numpy as np \nimport pandas as pd # for reading csv file\n\n#train and test images are .7z archives, we need to unpack them\n!pip install py7zr\n\nfrom py7zr import unpack_7zarchive\nimport shutil\n\n#Before using, we need to register unpack format\nshutil.register_unpack_format('7zip', ['.7z'], unpack_7zarchive)\n\n#unpack train images in /kaggle/working or /kaggle/temp\nshutil.unpack_archive('/kaggle/input/cifar-10/train.7z', '/kaggle/temp/')","metadata":{"execution":{"iopub.status.busy":"2024-02-05T12:24:31.070105Z","iopub.execute_input":"2024-02-05T12:24:31.07045Z","iopub.status.idle":"2024-02-05T12:25:42.481698Z","shell.execute_reply.started":"2024-02-05T12:24:31.070421Z","shell.execute_reply":"2024-02-05T12:25:42.480845Z"},"trusted":true},"execution_count":1,"outputs":[{"name":"stdout","text":"Collecting py7zr\n  Obtaining dependency information for py7zr from https://files.pythonhosted.org/packages/c0/39/71263be4c6081e1788f4da35e937fca1808914b0d98a04bd44255b948699/py7zr-0.20.8-py3-none-any.whl.metadata\n  Downloading py7zr-0.20.8-py3-none-any.whl.metadata (16 kB)\nRequirement already satisfied: texttable in /opt/conda/lib/python3.10/site-packages (from py7zr) (1.7.0)\nCollecting pycryptodomex>=3.16.0 (from py7zr)\n  Obtaining dependency information for pycryptodomex>=3.16.0 from https://files.pythonhosted.org/packages/20/7a/3162173af8597f0399b45c6aaa4939ccae908476fdf1b3a3cc30631fc9fb/pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata\n  Downloading pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.4 kB)\nCollecting pyzstd>=0.15.9 (from py7zr)\n  Obtaining dependency information for pyzstd>=0.15.9 from https://files.pythonhosted.org/packages/02/97/57de14ccb0d033464aabc5110eb2f9dc717c97e17f2ffc1235680a27e5de/pyzstd-0.15.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata\n  Downloading pyzstd-0.15.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (7.5 kB)\nCollecting pyppmd<1.2.0,>=1.1.0 (from py7zr)\n  Obtaining dependency information for pyppmd<1.2.0,>=1.1.0 from https://files.pythonhosted.org/packages/09/76/61db4268a439cfba8736b14130d928d199633fab2360a2c5043332a427d2/pyppmd-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata\n  Downloading pyppmd-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.7 kB)\nCollecting pybcj<1.1.0,>=1.0.0 (from py7zr)\n  Obtaining dependency information for pybcj<1.1.0,>=1.0.0 from https://files.pythonhosted.org/packages/09/70/8b6a6cc2a5721f67f629bdc17875c0d603d57f360a19b099a7b4de19383d/pybcj-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata\n  Downloading pybcj-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\nCollecting multivolumefile>=0.2.3 (from py7zr)\n  Downloading multivolumefile-0.2.3-py3-none-any.whl (17 kB)\nCollecting inflate64<1.1.0,>=1.0.0 (from py7zr)\n  Obtaining dependency information for inflate64<1.1.0,>=1.0.0 from https://files.pythonhosted.org/packages/b8/f4/e387a50f5027194eac4f9712d57b97e3e1a012402eaae98bcf1ebe8a97d1/inflate64-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata\n  Downloading inflate64-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB)\nCollecting brotli>=1.1.0 (from py7zr)\n  Obtaining dependency information for brotli>=1.1.0 from https://files.pythonhosted.org/packages/d5/00/40f760cc27007912b327fe15bf6bfd8eaecbe451687f72a8abc587d503b3/Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata\n  Downloading Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (5.5 kB)\nRequirement already satisfied: psutil in /opt/conda/lib/python3.10/site-packages (from py7zr) (5.9.3)\nDownloading py7zr-0.20.8-py3-none-any.whl (67 kB)\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m67.0/67.0 kB\u001b[0m \u001b[31m5.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[?25hDownloading Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.0 MB)\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m53.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m\n\u001b[?25hDownloading inflate64-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (93 kB)\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m93.1/93.1 kB\u001b[0m \u001b[31m9.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[?25hDownloading pybcj-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (49 kB)\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m49.7/49.7 kB\u001b[0m \u001b[31m4.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[?25hDownloading pycryptodomex-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m74.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[?25hDownloading pyppmd-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (138 kB)\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m138.9/138.9 kB\u001b[0m \u001b[31m14.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[?25hDownloading pyzstd-0.15.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (412 kB)\n\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m412.3/412.3 kB\u001b[0m \u001b[31m37.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n\u001b[?25hInstalling collected packages: brotli, pyzstd, pyppmd, pycryptodomex, pybcj, multivolumefile, inflate64, py7zr\nSuccessfully installed brotli-1.1.0 inflate64-1.0.0 multivolumefile-0.2.3 py7zr-0.20.8 pybcj-1.0.2 pycryptodomex-3.20.0 pyppmd-1.1.0 pyzstd-0.15.9\n","output_type":"stream"}]},{"cell_type":"code","source":"import torch\nif torch.cuda.is_available():\n    device=torch.device(type=\"cuda\", index=0)\nelse:\n    device=torch.device(type=\"cpu\", index=0)            ","metadata":{"execution":{"iopub.status.busy":"2024-02-05T12:25:42.483495Z","iopub.execute_input":"2024-02-05T12:25:42.483921Z","iopub.status.idle":"2024-02-05T12:25:45.799634Z","shell.execute_reply.started":"2024-02-05T12:25:42.483895Z","shell.execute_reply":"2024-02-05T12:25:45.79871Z"},"trusted":true},"execution_count":2,"outputs":[]},{"cell_type":"code","source":"#first fetching the class names from trainLabels.csv\n\ntrain_labels=pd.read_csv(\"/kaggle/input/cifar-10/trainLabels.csv\", header='infer')\n\n#unique labels\nclasses=train_labels['label'].unique()\n\n#confirming\nprint(classes)\n\n#classnames to classids\nname2num={}\ni=0\nfor name in classes:\n    name2num[name]=i\n    i=i+1\n\nnum2name={}\nfor i in range(len(classes)):\n    num2name[i]=classes[i]","metadata":{"execution":{"iopub.status.busy":"2024-02-05T12:25:45.800864Z","iopub.execute_input":"2024-02-05T12:25:45.801256Z","iopub.status.idle":"2024-02-05T12:25:45.856757Z","shell.execute_reply.started":"2024-02-05T12:25:45.801231Z","shell.execute_reply":"2024-02-05T12:25:45.855831Z"},"trusted":true},"execution_count":3,"outputs":[{"name":"stdout","text":"['frog' 'truck' 'deer' 'automobile' 'bird' 'horse' 'ship' 'cat' 'dog'\n 'airplane']\n","output_type":"stream"}]},{"cell_type":"code","source":"from torch.utils.data import Dataset\nfrom torch.utils.data import DataLoader\nimport os\nfrom torchvision.io import read_image\nfrom torchvision.transforms import ToTensor, Normalize, Resize, Compose\n\nclass TrainDataset(Dataset):\n    def __init__(self, imgpath, labelpath):\n        super().__init__()\n        self.imgpath=imgpath\n        self.labelpath=labelpath\n        self.labels=pd.read_csv(labelpath, header='infer')\n        self.transform=Compose([Resize((224,224), antialias=True), Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225])])\n        \n    def __len__(self):\n        return self.labels.shape[0]\n    \n    def __getitem__(self,idx):\n        finalpath=os.path.join(self.imgpath,str(idx+1))+'.png'\n        img=read_image(finalpath)/255\n        img=self.transform(img)\n        label=self.labels.iloc[idx,1]\n        label=name2num[label]\n        return img,label\n\ntraindataset=TrainDataset('/kaggle/temp/train','/kaggle/input/cifar-10/trainLabels.csv')        \n        \nbatch_size=64    \ntraindataloader=DataLoader(dataset=traindataset, batch_size=batch_size)","metadata":{"execution":{"iopub.status.busy":"2024-02-05T12:25:45.859325Z","iopub.execute_input":"2024-02-05T12:25:45.859994Z","iopub.status.idle":"2024-02-05T12:25:46.817515Z","shell.execute_reply.started":"2024-02-05T12:25:45.85996Z","shell.execute_reply":"2024-02-05T12:25:46.816622Z"},"trusted":true},"execution_count":4,"outputs":[]},{"cell_type":"code","source":"import torch.nn as nn\nfrom torchvision.models import , MobileNet_V3_Large_Weights\nclass Cifar10Net(nn.Module):\n    def __init__(self):\n        super().__init__()\n        self.pretrainednet=mobilenet_v3_large(weights=MobileNet_V3_Large_Weights.DEFAULT)\n        self.pretrainednet.classifier=nn.Sequential(\n            nn.Linear(in_features=960, out_features=1280, \n                   bias=True),nn.Hardswish(), \n            nn.Dropout(p=0.2, inplace=Trmobilenet_v3_largeue), \n            nn.Linear(in_features=1280, out_features=10, \n                      bias=True)\n        )\n        \n    def forward(self,x):\n        x=self.pretrainednet(x)\n        return x","metadata":{"execution":{"iopub.status.busy":"2024-02-05T12:25:46.818618Z","iopub.execute_input":"2024-02-05T12:25:46.818914Z","iopub.status.idle":"2024-02-05T12:25:46.825498Z","shell.execute_reply.started":"2024-02-05T12:25:46.818888Z","shell.execute_reply":"2024-02-05T12:25:46.82462Z"},"trusted":true},"execution_count":5,"outputs":[]},{"cell_type":"code","source":"def train_one_epoch(dataloader, model,loss_fn, optimizer):\n    model.train()\n    track_loss=0\n    num_correct=0\n    num_param=0\n    \n    for i, (imgs, labels) in enumerate(dataloader):\n        imgs=imgs.to(device)\n        labels=labels.to(device)\n        pred=model(imgs)\n                    \n        loss=loss_fn(pred,labels)\n        track_loss+=loss.item()\n        num_correct+=(torch.argmax(pred,dim=1)==labels).type(torch.float).sum().item()\n        \n        running_loss=round(track_loss/(i+(imgs.shape[0]/batch_size)),2)\n        running_acc=round((num_correct/((i*batch_size+imgs.shape[0])))*100,2)\n        \n        loss.backward()\n        optimizer.step()\n        optimizer.zero_grad()\n\n        if i%100==0:\n            print(\"Batch:\", i+1, \"/\",len(dataloader), \"Running Loss:\",running_loss, \"Running Accuracy:\",running_acc)\n            \n    epoch_loss=running_loss\n    epoch_acc=running_acc\n    return epoch_loss, epoch_acc","metadata":{"execution":{"iopub.status.busy":"2024-02-05T12:29:25.87742Z","iopub.execute_input":"2024-02-05T12:29:25.877781Z","iopub.status.idle":"2024-02-05T12:29:25.887412Z","shell.execute_reply.started":"2024-02-05T12:29:25.87775Z","shell.execute_reply":"2024-02-05T12:29:25.886474Z"},"trusted":true},"execution_count":8,"outputs":[]},{"cell_type":"code","source":"model=Cifar10Net()\nmodel=model.to(device)\n\nfor param in model.pretrainednet.features.parameters():\n    param.requires_grad=False\n\nloss_fn=nn.CrossEntropyLoss()\nlr=0.001\n#optimizer=torch.optim.SGD(params=model.parameters(), lr=lr)\noptimizer=torch.optim.Adam(params=model.parameters(), lr=lr)\nn_epochs=30\n\nfor i in range(n_epochs):\n    print(\"Epoch No:\",i+1)\n    train_epoch_loss, train_epoch_acc=train_one_epoch(traindataloader,model,loss_fn,optimizer)\n    print(\"Training:\", \"Epoch Loss:\", train_epoch_loss, \"Epoch Accuracy:\", train_epoch_acc)\n    print(\"--------------------------------------------------\")\n\nfor param in model.pretrainednet.features.parameters():\n    param.requires_grad=True\n\nfor i in range(n_epochs):\n    print(\"Epoch No:\",i+1)\n    train_epoch_loss, train_epoch_acc=train_one_epoch(traindataloader,model,loss_fn,optimizer)\n    print(\"Training:\", \"Epoch Loss:\", train_epoch_loss, \"Epoch Accuracy:\", train_epoch_acc)\n    print(\"--------------------------------------------------\")","metadata":{"execution":{"iopub.status.busy":"2024-02-05T12:29:25.889041Z","iopub.execute_input":"2024-02-05T12:29:25.889342Z","iopub.status.idle":"2024-02-05T14:03:55.326162Z","shell.execute_reply.started":"2024-02-05T12:29:25.889318Z","shell.execute_reply":"2024-02-05T14:03:55.325235Z"},"trusted":true},"execution_count":9,"outputs":[{"name":"stdout","text":"Epoch No: 1\nBatch: 1 / 782 Running Loss: 2.31 Running Accuracy: 10.94\nBatch: 101 / 782 Running Loss: 1.06 Running Accuracy: 64.09\nBatch: 201 / 782 Running Loss: 0.92 Running Accuracy: 68.03\nBatch: 301 / 782 Running Loss: 0.87 Running Accuracy: 69.77\nBatch: 401 / 782 Running Loss: 0.83 Running Accuracy: 71.01\nBatch: 501 / 782 Running Loss: 0.81 Running Accuracy: 71.59\nBatch: 601 / 782 Running Loss: 0.8 Running Accuracy: 72.01\nBatch: 701 / 782 Running Loss: 0.79 Running Accuracy: 72.43\nTraining: Epoch Loss: 0.78 Epoch Accuracy: 72.83\n--------------------------------------------------\nEpoch No: 2\nBatch: 1 / 782 Running Loss: 0.59 Running Accuracy: 78.12\nBatch: 101 / 782 Running Loss: 0.67 Running Accuracy: 76.56\nBatch: 201 / 782 Running Loss: 0.64 Running Accuracy: 77.14\nBatch: 301 / 782 Running Loss: 0.64 Running Accuracy: 77.43\nBatch: 401 / 782 Running Loss: 0.64 Running Accuracy: 77.64\nBatch: 501 / 782 Running Loss: 0.64 Running Accuracy: 77.64\nBatch: 601 / 782 Running Loss: 0.64 Running Accuracy: 77.67\nBatch: 701 / 782 Running Loss: 0.63 Running Accuracy: 77.75\nTraining: Epoch Loss: 0.63 Epoch Accuracy: 77.89\n--------------------------------------------------\nEpoch No: 3\nBatch: 1 / 782 Running Loss: 0.55 Running Accuracy: 79.69\nBatch: 101 / 782 Running Loss: 0.59 Running Accuracy: 79.01\nBatch: 201 / 782 Running Loss: 0.57 Running Accuracy: 79.45\nBatch: 301 / 782 Running Loss: 0.57 Running Accuracy: 79.86\nBatch: 401 / 782 Running Loss: 0.56 Running Accuracy: 80.01\nBatch: 501 / 782 Running Loss: 0.56 Running Accuracy: 80.11\nBatch: 601 / 782 Running Loss: 0.56 Running Accuracy: 80.08\nBatch: 701 / 782 Running Loss: 0.56 Running Accuracy: 80.18\nTraining: Epoch Loss: 0.55 Epoch Accuracy: 80.39\n--------------------------------------------------\nEpoch No: 4\nBatch: 1 / 782 Running Loss: 0.47 Running Accuracy: 79.69\nBatch: 101 / 782 Running Loss: 0.51 Running Accuracy: 82.04\nBatch: 201 / 782 Running Loss: 0.49 Running Accuracy: 82.52\nBatch: 301 / 782 Running Loss: 0.49 Running Accuracy: 82.77\nBatch: 401 / 782 Running Loss: 0.49 Running Accuracy: 82.85\nBatch: 501 / 782 Running Loss: 0.48 Running Accuracy: 83.01\nBatch: 601 / 782 Running Loss: 0.48 Running Accuracy: 83.04\nBatch: 701 / 782 Running Loss: 0.48 Running Accuracy: 83.2\nTraining: Epoch Loss: 0.47 Epoch Accuracy: 83.4\n--------------------------------------------------\nEpoch No: 5\nBatch: 1 / 782 Running Loss: 0.4 Running Accuracy: 84.38\nBatch: 101 / 782 Running Loss: 0.42 Running Accuracy: 85.49\nBatch: 201 / 782 Running Loss: 0.41 Running Accuracy: 85.76\nBatch: 301 / 782 Running Loss: 0.4 Running Accuracy: 85.84\nBatch: 401 / 782 Running Loss: 0.4 Running Accuracy: 85.89\nBatch: 501 / 782 Running Loss: 0.4 Running Accuracy: 86.07\nBatch: 601 / 782 Running Loss: 0.4 Running Accuracy: 86.16\nBatch: 701 / 782 Running Loss: 0.39 Running Accuracy: 86.33\nTraining: Epoch Loss: 0.39 Epoch Accuracy: 86.47\n--------------------------------------------------\nEpoch No: 6\nBatch: 1 / 782 Running Loss: 0.32 Running Accuracy: 84.38\nBatch: 101 / 782 Running Loss: 0.33 Running Accuracy: 88.2\nBatch: 201 / 782 Running Loss: 0.32 Running Accuracy: 88.38\nBatch: 301 / 782 Running Loss: 0.32 Running Accuracy: 88.66\nBatch: 401 / 782 Running Loss: 0.32 Running Accuracy: 88.75\nBatch: 501 / 782 Running Loss: 0.31 Running Accuracy: 88.94\nBatch: 601 / 782 Running Loss: 0.31 Running Accuracy: 89.08\nBatch: 701 / 782 Running Loss: 0.31 Running Accuracy: 89.2\nTraining: Epoch Loss: 0.3 Epoch Accuracy: 89.35\n--------------------------------------------------\nEpoch No: 7\nBatch: 1 / 782 Running Loss: 0.27 Running Accuracy: 93.75\nBatch: 101 / 782 Running Loss: 0.25 Running Accuracy: 91.34\nBatch: 201 / 782 Running Loss: 0.25 Running Accuracy: 91.3\nBatch: 301 / 782 Running Loss: 0.24 Running Accuracy: 91.67\nBatch: 401 / 782 Running Loss: 0.24 Running Accuracy: 91.71\nBatch: 501 / 782 Running Loss: 0.24 Running Accuracy: 91.73\nBatch: 601 / 782 Running Loss: 0.23 Running Accuracy: 91.85\nBatch: 701 / 782 Running Loss: 0.23 Running Accuracy: 91.98\nTraining: Epoch Loss: 0.23 Epoch Accuracy: 92.09\n--------------------------------------------------\nEpoch No: 8\nBatch: 1 / 782 Running Loss: 0.19 Running Accuracy: 95.31\nBatch: 101 / 782 Running Loss: 0.19 Running Accuracy: 93.56\nBatch: 201 / 782 Running Loss: 0.19 Running Accuracy: 93.52\nBatch: 301 / 782 Running Loss: 0.18 Running Accuracy: 93.57\nBatch: 401 / 782 Running Loss: 0.18 Running Accuracy: 93.62\nBatch: 501 / 782 Running Loss: 0.18 Running Accuracy: 93.54\nBatch: 601 / 782 Running Loss: 0.18 Running Accuracy: 93.69\nBatch: 701 / 782 Running Loss: 0.18 Running Accuracy: 93.79\nTraining: Epoch Loss: 0.18 Epoch Accuracy: 93.77\n--------------------------------------------------\nEpoch No: 9\nBatch: 1 / 782 Running Loss: 0.17 Running Accuracy: 95.31\nBatch: 101 / 782 Running Loss: 0.15 Running Accuracy: 94.79\nBatch: 201 / 782 Running Loss: 0.15 Running Accuracy: 94.78\nBatch: 301 / 782 Running Loss: 0.14 Running Accuracy: 94.88\nBatch: 401 / 782 Running Loss: 0.14 Running Accuracy: 94.99\nBatch: 501 / 782 Running Loss: 0.14 Running Accuracy: 94.93\nBatch: 601 / 782 Running Loss: 0.14 Running Accuracy: 95.05\nBatch: 701 / 782 Running Loss: 0.14 Running Accuracy: 95.04\nTraining: Epoch Loss: 0.14 Epoch Accuracy: 95.04\n--------------------------------------------------\nEpoch No: 10\nBatch: 1 / 782 Running Loss: 0.08 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.12 Running Accuracy: 95.71\nBatch: 201 / 782 Running Loss: 0.12 Running Accuracy: 95.66\nBatch: 301 / 782 Running Loss: 0.12 Running Accuracy: 95.61\nBatch: 401 / 782 Running Loss: 0.12 Running Accuracy: 95.85\nBatch: 501 / 782 Running Loss: 0.12 Running Accuracy: 95.82\nBatch: 601 / 782 Running Loss: 0.12 Running Accuracy: 95.91\nBatch: 701 / 782 Running Loss: 0.11 Running Accuracy: 95.98\nTraining: Epoch Loss: 0.11 Epoch Accuracy: 95.97\n--------------------------------------------------\nEpoch No: 11\nBatch: 1 / 782 Running Loss: 0.11 Running Accuracy: 93.75\nBatch: 101 / 782 Running Loss: 0.1 Running Accuracy: 96.52\nBatch: 201 / 782 Running Loss: 0.1 Running Accuracy: 96.27\nBatch: 301 / 782 Running Loss: 0.11 Running Accuracy: 96.25\nBatch: 401 / 782 Running Loss: 0.1 Running Accuracy: 96.45\nBatch: 501 / 782 Running Loss: 0.1 Running Accuracy: 96.4\nBatch: 601 / 782 Running Loss: 0.1 Running Accuracy: 96.49\nBatch: 701 / 782 Running Loss: 0.1 Running Accuracy: 96.53\nTraining: Epoch Loss: 0.1 Epoch Accuracy: 96.52\n--------------------------------------------------\nEpoch No: 12\nBatch: 1 / 782 Running Loss: 0.05 Running Accuracy: 96.88\nBatch: 101 / 782 Running Loss: 0.08 Running Accuracy: 97.06\nBatch: 201 / 782 Running Loss: 0.09 Running Accuracy: 96.93\nBatch: 301 / 782 Running Loss: 0.09 Running Accuracy: 96.94\nBatch: 401 / 782 Running Loss: 0.08 Running Accuracy: 97.03\nBatch: 501 / 782 Running Loss: 0.08 Running Accuracy: 97.18\nBatch: 601 / 782 Running Loss: 0.08 Running Accuracy: 97.19\nBatch: 701 / 782 Running Loss: 0.08 Running Accuracy: 97.18\nTraining: Epoch Loss: 0.08 Epoch Accuracy: 97.1\n--------------------------------------------------\nEpoch No: 13\nBatch: 1 / 782 Running Loss: 0.18 Running Accuracy: 95.31\nBatch: 101 / 782 Running Loss: 0.08 Running Accuracy: 97.35\nBatch: 201 / 782 Running Loss: 0.07 Running Accuracy: 97.31\nBatch: 301 / 782 Running Loss: 0.08 Running Accuracy: 97.33\nBatch: 401 / 782 Running Loss: 0.08 Running Accuracy: 97.3\nBatch: 501 / 782 Running Loss: 0.08 Running Accuracy: 97.25\nBatch: 601 / 782 Running Loss: 0.08 Running Accuracy: 97.25\nBatch: 701 / 782 Running Loss: 0.08 Running Accuracy: 97.26\nTraining: Epoch Loss: 0.08 Epoch Accuracy: 97.23\n--------------------------------------------------\nEpoch No: 14\nBatch: 1 / 782 Running Loss: 0.1 Running Accuracy: 95.31\nBatch: 101 / 782 Running Loss: 0.08 Running Accuracy: 97.09\nBatch: 201 / 782 Running Loss: 0.07 Running Accuracy: 97.32\nBatch: 301 / 782 Running Loss: 0.07 Running Accuracy: 97.32\nBatch: 401 / 782 Running Loss: 0.07 Running Accuracy: 97.35\nBatch: 501 / 782 Running Loss: 0.07 Running Accuracy: 97.46\nBatch: 601 / 782 Running Loss: 0.07 Running Accuracy: 97.55\nBatch: 701 / 782 Running Loss: 0.07 Running Accuracy: 97.52\nTraining: Epoch Loss: 0.07 Epoch Accuracy: 97.54\n--------------------------------------------------\nEpoch No: 15\nBatch: 1 / 782 Running Loss: 0.09 Running Accuracy: 96.88\nBatch: 101 / 782 Running Loss: 0.06 Running Accuracy: 97.73\nBatch: 201 / 782 Running Loss: 0.07 Running Accuracy: 97.6\nBatch: 301 / 782 Running Loss: 0.07 Running Accuracy: 97.48\nBatch: 401 / 782 Running Loss: 0.07 Running Accuracy: 97.57\nBatch: 501 / 782 Running Loss: 0.07 Running Accuracy: 97.68\nBatch: 601 / 782 Running Loss: 0.07 Running Accuracy: 97.68\nBatch: 701 / 782 Running Loss: 0.06 Running Accuracy: 97.69\nTraining: Epoch Loss: 0.06 Epoch Accuracy: 97.72\n--------------------------------------------------\nEpoch No: 16\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.07 Running Accuracy: 97.57\nBatch: 201 / 782 Running Loss: 0.07 Running Accuracy: 97.64\nBatch: 301 / 782 Running Loss: 0.06 Running Accuracy: 97.76\nBatch: 401 / 782 Running Loss: 0.06 Running Accuracy: 97.84\nBatch: 501 / 782 Running Loss: 0.06 Running Accuracy: 97.89\nBatch: 601 / 782 Running Loss: 0.06 Running Accuracy: 97.94\nBatch: 701 / 782 Running Loss: 0.06 Running Accuracy: 98.0\nTraining: Epoch Loss: 0.06 Epoch Accuracy: 98.05\n--------------------------------------------------\nEpoch No: 17\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.21\nBatch: 201 / 782 Running Loss: 0.06 Running Accuracy: 98.01\nBatch: 301 / 782 Running Loss: 0.06 Running Accuracy: 98.01\nBatch: 401 / 782 Running Loss: 0.06 Running Accuracy: 98.04\nBatch: 501 / 782 Running Loss: 0.06 Running Accuracy: 98.12\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.18\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.17\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.2\n--------------------------------------------------\nEpoch No: 18\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.06 Running Accuracy: 98.05\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.05\nBatch: 301 / 782 Running Loss: 0.06 Running Accuracy: 98.0\nBatch: 401 / 782 Running Loss: 0.06 Running Accuracy: 98.0\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.06\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.04\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.05\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.07\n--------------------------------------------------\nEpoch No: 19\nBatch: 1 / 782 Running Loss: 0.01 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.34\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.13\nBatch: 301 / 782 Running Loss: 0.05 Running Accuracy: 98.17\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.09\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.06\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.02\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.08\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.11\n--------------------------------------------------\nEpoch No: 20\nBatch: 1 / 782 Running Loss: 0.04 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.06 Running Accuracy: 97.91\nBatch: 201 / 782 Running Loss: 0.06 Running Accuracy: 97.85\nBatch: 301 / 782 Running Loss: 0.06 Running Accuracy: 97.93\nBatch: 401 / 782 Running Loss: 0.06 Running Accuracy: 98.02\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.09\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.1\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.15\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.17\n--------------------------------------------------\nEpoch No: 21\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.48\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.52\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.56\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.54\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.51\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.5\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.48\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.41\n--------------------------------------------------\nEpoch No: 22\nBatch: 1 / 782 Running Loss: 0.02 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.14\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.13\nBatch: 301 / 782 Running Loss: 0.05 Running Accuracy: 98.24\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.38\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.34\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.36\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.37\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.35\n--------------------------------------------------\nEpoch No: 23\nBatch: 1 / 782 Running Loss: 0.02 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.31\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.38\nBatch: 301 / 782 Running Loss: 0.05 Running Accuracy: 98.44\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.42\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.42\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.4\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.37\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.35\n--------------------------------------------------\nEpoch No: 24\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.24\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.15\nBatch: 301 / 782 Running Loss: 0.05 Running Accuracy: 98.16\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.23\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.22\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.26\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.22\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.23\n--------------------------------------------------\nEpoch No: 25\nBatch: 1 / 782 Running Loss: 0.12 Running Accuracy: 95.31\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.3\nBatch: 201 / 782 Running Loss: 0.04 Running Accuracy: 98.45\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.44\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.48\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.49\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.43\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.37\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.37\n--------------------------------------------------\nEpoch No: 26\nBatch: 1 / 782 Running Loss: 0.02 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.04 Running Accuracy: 98.56\nBatch: 201 / 782 Running Loss: 0.04 Running Accuracy: 98.57\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.6\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.57\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.59\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.6\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.61\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.58\n--------------------------------------------------\nEpoch No: 27\nBatch: 1 / 782 Running Loss: 0.0 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.04 Running Accuracy: 98.59\nBatch: 201 / 782 Running Loss: 0.04 Running Accuracy: 98.62\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.72\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.64\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.6\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.61\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.63\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.65\n--------------------------------------------------\nEpoch No: 28\nBatch: 1 / 782 Running Loss: 0.01 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.04 Running Accuracy: 98.58\nBatch: 201 / 782 Running Loss: 0.04 Running Accuracy: 98.67\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.65\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.61\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.56\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.58\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.59\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.57\n--------------------------------------------------\nEpoch No: 29\nBatch: 1 / 782 Running Loss: 0.02 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.04 Running Accuracy: 98.62\nBatch: 201 / 782 Running Loss: 0.04 Running Accuracy: 98.7\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.61\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.55\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.51\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.52\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.56\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.59\n--------------------------------------------------\nEpoch No: 30\nBatch: 1 / 782 Running Loss: 0.02 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.04 Running Accuracy: 98.75\nBatch: 201 / 782 Running Loss: 0.04 Running Accuracy: 98.66\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.6\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.57\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.6\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.64\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.64\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.64\n--------------------------------------------------\nEpoch No: 1\nBatch: 1 / 782 Running Loss: 0.04 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 1.21 Running Accuracy: 74.88\nBatch: 201 / 782 Running Loss: 0.99 Running Accuracy: 77.22\nBatch: 301 / 782 Running Loss: 0.86 Running Accuracy: 79.11\nBatch: 401 / 782 Running Loss: 0.78 Running Accuracy: 80.46\nBatch: 501 / 782 Running Loss: 0.71 Running Accuracy: 81.59\nBatch: 601 / 782 Running Loss: 0.67 Running Accuracy: 82.4\nBatch: 701 / 782 Running Loss: 0.63 Running Accuracy: 83.17\nTraining: Epoch Loss: 0.61 Epoch Accuracy: 83.66\n--------------------------------------------------\nEpoch No: 2\nBatch: 1 / 782 Running Loss: 0.24 Running Accuracy: 92.19\nBatch: 101 / 782 Running Loss: 0.3 Running Accuracy: 90.35\nBatch: 201 / 782 Running Loss: 0.3 Running Accuracy: 90.59\nBatch: 301 / 782 Running Loss: 0.28 Running Accuracy: 91.01\nBatch: 401 / 782 Running Loss: 0.27 Running Accuracy: 91.24\nBatch: 501 / 782 Running Loss: 0.27 Running Accuracy: 91.5\nBatch: 601 / 782 Running Loss: 0.26 Running Accuracy: 91.71\nBatch: 701 / 782 Running Loss: 0.25 Running Accuracy: 91.85\nTraining: Epoch Loss: 0.25 Epoch Accuracy: 91.97\n--------------------------------------------------\nEpoch No: 3\nBatch: 1 / 782 Running Loss: 0.18 Running Accuracy: 92.19\nBatch: 101 / 782 Running Loss: 0.19 Running Accuracy: 93.63\nBatch: 201 / 782 Running Loss: 0.19 Running Accuracy: 93.62\nBatch: 301 / 782 Running Loss: 0.19 Running Accuracy: 93.7\nBatch: 401 / 782 Running Loss: 0.19 Running Accuracy: 93.87\nBatch: 501 / 782 Running Loss: 0.18 Running Accuracy: 93.97\nBatch: 601 / 782 Running Loss: 0.18 Running Accuracy: 93.92\nBatch: 701 / 782 Running Loss: 0.18 Running Accuracy: 93.92\nTraining: Epoch Loss: 0.18 Epoch Accuracy: 93.87\n--------------------------------------------------\nEpoch No: 4\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.18 Running Accuracy: 94.25\nBatch: 201 / 782 Running Loss: 0.17 Running Accuracy: 94.44\nBatch: 301 / 782 Running Loss: 0.17 Running Accuracy: 94.58\nBatch: 401 / 782 Running Loss: 0.16 Running Accuracy: 94.78\nBatch: 501 / 782 Running Loss: 0.16 Running Accuracy: 94.88\nBatch: 601 / 782 Running Loss: 0.16 Running Accuracy: 94.91\nBatch: 701 / 782 Running Loss: 0.15 Running Accuracy: 95.0\nTraining: Epoch Loss: 0.15 Epoch Accuracy: 95.03\n--------------------------------------------------\nEpoch No: 5\nBatch: 1 / 782 Running Loss: 0.1 Running Accuracy: 96.88\nBatch: 101 / 782 Running Loss: 0.14 Running Accuracy: 95.48\nBatch: 201 / 782 Running Loss: 0.14 Running Accuracy: 95.31\nBatch: 301 / 782 Running Loss: 0.14 Running Accuracy: 95.28\nBatch: 401 / 782 Running Loss: 0.15 Running Accuracy: 95.07\nBatch: 501 / 782 Running Loss: 0.15 Running Accuracy: 94.98\nBatch: 601 / 782 Running Loss: 0.15 Running Accuracy: 94.98\nBatch: 701 / 782 Running Loss: 0.15 Running Accuracy: 94.98\nTraining: Epoch Loss: 0.15 Epoch Accuracy: 95.01\n--------------------------------------------------\nEpoch No: 6\nBatch: 1 / 782 Running Loss: 0.14 Running Accuracy: 93.75\nBatch: 101 / 782 Running Loss: 0.11 Running Accuracy: 96.09\nBatch: 201 / 782 Running Loss: 0.12 Running Accuracy: 95.86\nBatch: 301 / 782 Running Loss: 0.13 Running Accuracy: 95.63\nBatch: 401 / 782 Running Loss: 0.12 Running Accuracy: 95.86\nBatch: 501 / 782 Running Loss: 0.12 Running Accuracy: 95.85\nBatch: 601 / 782 Running Loss: 0.12 Running Accuracy: 95.83\nBatch: 701 / 782 Running Loss: 0.12 Running Accuracy: 95.85\nTraining: Epoch Loss: 0.12 Epoch Accuracy: 95.91\n--------------------------------------------------\nEpoch No: 7\nBatch: 1 / 782 Running Loss: 0.12 Running Accuracy: 95.31\nBatch: 101 / 782 Running Loss: 0.12 Running Accuracy: 96.13\nBatch: 201 / 782 Running Loss: 0.12 Running Accuracy: 96.07\nBatch: 301 / 782 Running Loss: 0.11 Running Accuracy: 96.31\nBatch: 401 / 782 Running Loss: 0.11 Running Accuracy: 96.35\nBatch: 501 / 782 Running Loss: 0.11 Running Accuracy: 96.34\nBatch: 601 / 782 Running Loss: 0.11 Running Accuracy: 96.28\nBatch: 701 / 782 Running Loss: 0.11 Running Accuracy: 96.34\nTraining: Epoch Loss: 0.11 Epoch Accuracy: 96.36\n--------------------------------------------------\nEpoch No: 8\nBatch: 1 / 782 Running Loss: 0.06 Running Accuracy: 95.31\nBatch: 101 / 782 Running Loss: 0.1 Running Accuracy: 96.7\nBatch: 201 / 782 Running Loss: 0.1 Running Accuracy: 96.56\nBatch: 301 / 782 Running Loss: 0.1 Running Accuracy: 96.58\nBatch: 401 / 782 Running Loss: 0.1 Running Accuracy: 96.52\nBatch: 501 / 782 Running Loss: 0.11 Running Accuracy: 96.5\nBatch: 601 / 782 Running Loss: 0.1 Running Accuracy: 96.53\nBatch: 701 / 782 Running Loss: 0.1 Running Accuracy: 96.57\nTraining: Epoch Loss: 0.1 Epoch Accuracy: 96.57\n--------------------------------------------------\nEpoch No: 9\nBatch: 1 / 782 Running Loss: 0.13 Running Accuracy: 95.31\nBatch: 101 / 782 Running Loss: 0.09 Running Accuracy: 97.08\nBatch: 201 / 782 Running Loss: 0.09 Running Accuracy: 97.01\nBatch: 301 / 782 Running Loss: 0.1 Running Accuracy: 96.86\nBatch: 401 / 782 Running Loss: 0.1 Running Accuracy: 96.84\nBatch: 501 / 782 Running Loss: 0.09 Running Accuracy: 96.99\nBatch: 601 / 782 Running Loss: 0.09 Running Accuracy: 96.92\nBatch: 701 / 782 Running Loss: 0.09 Running Accuracy: 96.94\nTraining: Epoch Loss: 0.09 Epoch Accuracy: 96.96\n--------------------------------------------------\nEpoch No: 10\nBatch: 1 / 782 Running Loss: 0.01 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.08 Running Accuracy: 97.22\nBatch: 201 / 782 Running Loss: 0.08 Running Accuracy: 97.05\nBatch: 301 / 782 Running Loss: 0.09 Running Accuracy: 96.99\nBatch: 401 / 782 Running Loss: 0.08 Running Accuracy: 97.17\nBatch: 501 / 782 Running Loss: 0.08 Running Accuracy: 97.25\nBatch: 601 / 782 Running Loss: 0.08 Running Accuracy: 97.2\nBatch: 701 / 782 Running Loss: 0.08 Running Accuracy: 97.2\nTraining: Epoch Loss: 0.08 Epoch Accuracy: 97.25\n--------------------------------------------------\nEpoch No: 11\nBatch: 1 / 782 Running Loss: 0.04 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.09 Running Accuracy: 96.74\nBatch: 201 / 782 Running Loss: 0.09 Running Accuracy: 97.01\nBatch: 301 / 782 Running Loss: 0.08 Running Accuracy: 97.29\nBatch: 401 / 782 Running Loss: 0.08 Running Accuracy: 97.39\nBatch: 501 / 782 Running Loss: 0.08 Running Accuracy: 97.45\nBatch: 601 / 782 Running Loss: 0.08 Running Accuracy: 97.41\nBatch: 701 / 782 Running Loss: 0.08 Running Accuracy: 97.44\nTraining: Epoch Loss: 0.08 Epoch Accuracy: 97.45\n--------------------------------------------------\nEpoch No: 12\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.08 Running Accuracy: 97.25\nBatch: 201 / 782 Running Loss: 0.08 Running Accuracy: 97.36\nBatch: 301 / 782 Running Loss: 0.08 Running Accuracy: 97.45\nBatch: 401 / 782 Running Loss: 0.08 Running Accuracy: 97.44\nBatch: 501 / 782 Running Loss: 0.07 Running Accuracy: 97.56\nBatch: 601 / 782 Running Loss: 0.07 Running Accuracy: 97.5\nBatch: 701 / 782 Running Loss: 0.08 Running Accuracy: 97.47\nTraining: Epoch Loss: 0.07 Epoch Accuracy: 97.51\n--------------------------------------------------\nEpoch No: 13\nBatch: 1 / 782 Running Loss: 0.0 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.31\nBatch: 201 / 782 Running Loss: 0.06 Running Accuracy: 98.24\nBatch: 301 / 782 Running Loss: 0.07 Running Accuracy: 97.72\nBatch: 401 / 782 Running Loss: 0.07 Running Accuracy: 97.72\nBatch: 501 / 782 Running Loss: 0.07 Running Accuracy: 97.75\nBatch: 601 / 782 Running Loss: 0.07 Running Accuracy: 97.7\nBatch: 701 / 782 Running Loss: 0.07 Running Accuracy: 97.72\nTraining: Epoch Loss: 0.07 Epoch Accuracy: 97.65\n--------------------------------------------------\nEpoch No: 14\nBatch: 1 / 782 Running Loss: 0.05 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.08 Running Accuracy: 97.69\nBatch: 201 / 782 Running Loss: 0.08 Running Accuracy: 97.66\nBatch: 301 / 782 Running Loss: 0.07 Running Accuracy: 97.85\nBatch: 401 / 782 Running Loss: 0.07 Running Accuracy: 97.85\nBatch: 501 / 782 Running Loss: 0.07 Running Accuracy: 97.89\nBatch: 601 / 782 Running Loss: 0.07 Running Accuracy: 97.87\nBatch: 701 / 782 Running Loss: 0.07 Running Accuracy: 97.87\nTraining: Epoch Loss: 0.06 Epoch Accuracy: 97.92\n--------------------------------------------------\nEpoch No: 15\nBatch: 1 / 782 Running Loss: 0.1 Running Accuracy: 96.88\nBatch: 101 / 782 Running Loss: 0.06 Running Accuracy: 98.17\nBatch: 201 / 782 Running Loss: 0.06 Running Accuracy: 98.06\nBatch: 301 / 782 Running Loss: 0.06 Running Accuracy: 98.16\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.2\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.21\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.19\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.2\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.21\n--------------------------------------------------\nEpoch No: 16\nBatch: 1 / 782 Running Loss: 0.0 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.07 Running Accuracy: 97.74\nBatch: 201 / 782 Running Loss: 0.07 Running Accuracy: 97.73\nBatch: 301 / 782 Running Loss: 0.06 Running Accuracy: 97.94\nBatch: 401 / 782 Running Loss: 0.06 Running Accuracy: 97.97\nBatch: 501 / 782 Running Loss: 0.06 Running Accuracy: 98.1\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.14\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.19\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.24\n--------------------------------------------------\nEpoch No: 17\nBatch: 1 / 782 Running Loss: 0.08 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.04 Running Accuracy: 98.5\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.23\nBatch: 301 / 782 Running Loss: 0.06 Running Accuracy: 98.11\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.21\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.25\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.23\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.27\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.26\n--------------------------------------------------\nEpoch No: 18\nBatch: 1 / 782 Running Loss: 0.06 Running Accuracy: 96.88\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.59\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.41\nBatch: 301 / 782 Running Loss: 0.05 Running Accuracy: 98.36\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.32\nBatch: 501 / 782 Running Loss: 0.06 Running Accuracy: 98.24\nBatch: 601 / 782 Running Loss: 0.06 Running Accuracy: 98.12\nBatch: 701 / 782 Running Loss: 0.06 Running Accuracy: 98.12\nTraining: Epoch Loss: 0.06 Epoch Accuracy: 98.15\n--------------------------------------------------\nEpoch No: 19\nBatch: 1 / 782 Running Loss: 0.02 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.04 Running Accuracy: 98.61\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.51\nBatch: 301 / 782 Running Loss: 0.05 Running Accuracy: 98.44\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.48\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.54\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.49\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.49\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.51\n--------------------------------------------------\nEpoch No: 20\nBatch: 1 / 782 Running Loss: 0.01 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.64\nBatch: 201 / 782 Running Loss: 0.06 Running Accuracy: 98.26\nBatch: 301 / 782 Running Loss: 0.05 Running Accuracy: 98.5\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.59\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.54\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.56\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.6\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.6\n--------------------------------------------------\nEpoch No: 21\nBatch: 1 / 782 Running Loss: 0.07 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.06 Running Accuracy: 98.21\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.37\nBatch: 301 / 782 Running Loss: 0.05 Running Accuracy: 98.43\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.43\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.41\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.3\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.31\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.33\n--------------------------------------------------\nEpoch No: 22\nBatch: 1 / 782 Running Loss: 0.0 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.72\nBatch: 201 / 782 Running Loss: 0.05 Running Accuracy: 98.65\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.79\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.79\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.85\nBatch: 601 / 782 Running Loss: 0.03 Running Accuracy: 98.87\nBatch: 701 / 782 Running Loss: 0.03 Running Accuracy: 98.87\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.82\n--------------------------------------------------\nEpoch No: 23\nBatch: 1 / 782 Running Loss: 0.15 Running Accuracy: 93.75\nBatch: 101 / 782 Running Loss: 0.07 Running Accuracy: 97.87\nBatch: 201 / 782 Running Loss: 0.07 Running Accuracy: 97.96\nBatch: 301 / 782 Running Loss: 0.06 Running Accuracy: 98.18\nBatch: 401 / 782 Running Loss: 0.05 Running Accuracy: 98.3\nBatch: 501 / 782 Running Loss: 0.05 Running Accuracy: 98.38\nBatch: 601 / 782 Running Loss: 0.05 Running Accuracy: 98.5\nBatch: 701 / 782 Running Loss: 0.05 Running Accuracy: 98.54\nTraining: Epoch Loss: 0.05 Epoch Accuracy: 98.56\n--------------------------------------------------\nEpoch No: 24\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.03 Running Accuracy: 98.81\nBatch: 201 / 782 Running Loss: 0.03 Running Accuracy: 98.83\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.79\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.75\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.73\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.73\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.75\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.74\n--------------------------------------------------\nEpoch No: 25\nBatch: 1 / 782 Running Loss: 0.0 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.04 Running Accuracy: 98.55\nBatch: 201 / 782 Running Loss: 0.04 Running Accuracy: 98.66\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.63\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.63\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.61\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.66\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.71\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.72\n--------------------------------------------------\nEpoch No: 26\nBatch: 1 / 782 Running Loss: 0.01 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.03 Running Accuracy: 99.07\nBatch: 201 / 782 Running Loss: 0.03 Running Accuracy: 99.0\nBatch: 301 / 782 Running Loss: 0.03 Running Accuracy: 98.94\nBatch: 401 / 782 Running Loss: 0.03 Running Accuracy: 98.9\nBatch: 501 / 782 Running Loss: 0.03 Running Accuracy: 98.97\nBatch: 601 / 782 Running Loss: 0.03 Running Accuracy: 98.9\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.85\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.78\n--------------------------------------------------\nEpoch No: 27\nBatch: 1 / 782 Running Loss: 0.03 Running Accuracy: 98.44\nBatch: 101 / 782 Running Loss: 0.05 Running Accuracy: 98.78\nBatch: 201 / 782 Running Loss: 0.04 Running Accuracy: 98.76\nBatch: 301 / 782 Running Loss: 0.04 Running Accuracy: 98.79\nBatch: 401 / 782 Running Loss: 0.04 Running Accuracy: 98.84\nBatch: 501 / 782 Running Loss: 0.04 Running Accuracy: 98.84\nBatch: 601 / 782 Running Loss: 0.04 Running Accuracy: 98.85\nBatch: 701 / 782 Running Loss: 0.04 Running Accuracy: 98.86\nTraining: Epoch Loss: 0.04 Epoch Accuracy: 98.86\n--------------------------------------------------\nEpoch No: 28\nBatch: 1 / 782 Running Loss: 0.0 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.03 Running Accuracy: 98.96\nBatch: 201 / 782 Running Loss: 0.03 Running Accuracy: 98.94\nBatch: 301 / 782 Running Loss: 0.03 Running Accuracy: 98.92\nBatch: 401 / 782 Running Loss: 0.03 Running Accuracy: 98.92\nBatch: 501 / 782 Running Loss: 0.03 Running Accuracy: 98.93\nBatch: 601 / 782 Running Loss: 0.03 Running Accuracy: 98.98\nBatch: 701 / 782 Running Loss: 0.03 Running Accuracy: 99.01\nTraining: Epoch Loss: 0.03 Epoch Accuracy: 98.99\n--------------------------------------------------\nEpoch No: 29\nBatch: 1 / 782 Running Loss: 0.01 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.03 Running Accuracy: 99.18\nBatch: 201 / 782 Running Loss: 0.03 Running Accuracy: 99.11\nBatch: 301 / 782 Running Loss: 0.03 Running Accuracy: 99.03\nBatch: 401 / 782 Running Loss: 0.03 Running Accuracy: 98.97\nBatch: 501 / 782 Running Loss: 0.03 Running Accuracy: 98.93\nBatch: 601 / 782 Running Loss: 0.03 Running Accuracy: 98.93\nBatch: 701 / 782 Running Loss: 0.03 Running Accuracy: 98.91\nTraining: Epoch Loss: 0.03 Epoch Accuracy: 98.89\n--------------------------------------------------\nEpoch No: 30\nBatch: 1 / 782 Running Loss: 0.0 Running Accuracy: 100.0\nBatch: 101 / 782 Running Loss: 0.03 Running Accuracy: 99.01\nBatch: 201 / 782 Running Loss: 0.03 Running Accuracy: 99.07\nBatch: 301 / 782 Running Loss: 0.03 Running Accuracy: 99.08\nBatch: 401 / 782 Running Loss: 0.03 Running Accuracy: 99.14\nBatch: 501 / 782 Running Loss: 0.02 Running Accuracy: 99.18\nBatch: 601 / 782 Running Loss: 0.03 Running Accuracy: 99.14\nBatch: 701 / 782 Running Loss: 0.03 Running Accuracy: 99.12\nTraining: Epoch Loss: 0.03 Epoch Accuracy: 99.12\n--------------------------------------------------\n","output_type":"stream"}]},{"cell_type":"code","source":"#unpacking test images, there are 3 lacs images. This will take some time\nshutil.unpack_archive('/kaggle/input/cifar-10/test.7z', '/kaggle/temp/')\n\n#unregister unpack format, we are done with it\nshutil.unregister_unpack_format('7zip')#, ['.7z'], unpack_7zarchive)","metadata":{"execution":{"iopub.status.busy":"2024-02-05T14:03:55.327458Z","iopub.execute_input":"2024-02-05T14:03:55.327841Z","iopub.status.idle":"2024-02-05T14:22:39.397305Z","shell.execute_reply.started":"2024-02-05T14:03:55.327807Z","shell.execute_reply":"2024-02-05T14:22:39.396295Z"},"trusted":true},"execution_count":10,"outputs":[]},{"cell_type":"code","source":"class TestDataset(Dataset):\n    def __init__(self, imgpath):\n        super().__init__()\n        self.imgpath=imgpath\n        _,_,self.files=next(os.walk(self.imgpath))\n        self.length=len(self.files)\n        self.transform=Compose([Resize((224,224), antialias=True), Normalize(mean=[0.485, 0.456, 0.406],std=[0.229, 0.224, 0.225])])        \n    \n    def __len__(self):\n        return self.length\n    \n    def __getitem__(self,idx):\n        finalpath=os.path.join(self.imgpath,str(idx+1))+'.png'\n        img=read_image(finalpath)/255.0\n        img=self.transform(img)\n        return img\n\ntestdataset=TestDataset('/kaggle/temp/test/')\ntestdataloader=DataLoader(dataset=testdataset, batch_size=batch_size)","metadata":{"execution":{"iopub.status.busy":"2024-02-05T14:22:39.399512Z","iopub.execute_input":"2024-02-05T14:22:39.399891Z","iopub.status.idle":"2024-02-05T14:22:39.783328Z","shell.execute_reply.started":"2024-02-05T14:22:39.399859Z","shell.execute_reply":"2024-02-05T14:22:39.782247Z"},"trusted":true},"execution_count":11,"outputs":[]},{"cell_type":"code","source":"def eval(dataloader, model,loss_fn, path):\n    model.eval()\n    data=pd.read_csv(path)\n    with torch.no_grad():\n        for i, imgs in enumerate(dataloader):\n            finalbatchpred=np.zeros(imgs.shape[0],dtype='object')\n            imgs=imgs.to(device)\n            pred=model(imgs)\n            \n            pred=torch.argmax(pred,dim=1).type(torch.int).cpu()\n            for j,p in enumerate(pred):\n                finalbatchpred[j]=num2name[p.item()]\n            data.iloc[i*batch_size:i*batch_size+batch_size ,1]=finalbatchpred\n    \n    data.to_csv('submission.csv', index=False)\n    data.head()","metadata":{"execution":{"iopub.status.busy":"2024-02-05T14:22:39.784704Z","iopub.execute_input":"2024-02-05T14:22:39.785432Z","iopub.status.idle":"2024-02-05T14:22:39.799667Z","shell.execute_reply.started":"2024-02-05T14:22:39.785389Z","shell.execute_reply":"2024-02-05T14:22:39.794612Z"},"trusted":true},"execution_count":12,"outputs":[]},{"cell_type":"code","source":"eval(testdataloader, model,loss_fn, '/kaggle/input/cifar-10/sampleSubmission.csv')","metadata":{"execution":{"iopub.status.busy":"2024-02-05T14:22:39.801469Z","iopub.execute_input":"2024-02-05T14:22:39.803187Z","iopub.status.idle":"2024-02-05T14:30:29.187507Z","shell.execute_reply.started":"2024-02-05T14:22:39.802738Z","shell.execute_reply":"2024-02-05T14:30:29.186723Z"},"trusted":true},"execution_count":13,"outputs":[]},{"cell_type":"markdown","source":"If you liked the notebook, please upvote it.","metadata":{}}]}