{ "cells": [ { "cell_type": "markdown", "id": "c6fb63ad96f4741b", "metadata": { "collapsed": false, "id": "c6fb63ad96f4741b" }, "source": [ "# TP1: Pytorch Basics\n", "\n", "## Goals\n", "- Understand implementation of a classification task\n", " - Data formatting and manipulation\n", " - Architecture implementation\n", " - Training/evaluation\n", " - Load/save models\n", "\n", "- Adapt an architecture to a new dataset (transfer learning / fine-tuning)\n", "\n", "\n", "In a first part, implementation code is given for the training of a LeNet-like architecture used for a classification task using the [MNIST dataset](http://yann.lecun.com/exdb/mnist/) (only digits 0 to 4 are considered).\n", "In a second part, you have to adapt this implementation for two use cases: transfer learning and fine-tuning. The goal is to adapt to a new set of classes: from digits 0 to 4, to digits 0 to 10." ] }, { "cell_type": "markdown", "id": "15c6f7a3b17034a7", "metadata": { "collapsed": false, "id": "15c6f7a3b17034a7" }, "source": [ "## I - Formatting the dataset" ] }, { "cell_type": "code", "execution_count": 8, "id": "c7b16500a4c84b8a", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:32.067578435Z", "start_time": "2023-11-24T13:52:29.267918465Z" }, "id": "c7b16500a4c84b8a" }, "outputs": [], "source": [ "import torch\n", "from torchvision.datasets import MNIST\n", "from torch.utils.data import DataLoader, Dataset" ] }, { "cell_type": "markdown", "id": "a97837b2b8e5d5a", "metadata": { "collapsed": false, "id": "a97837b2b8e5d5a" }, "source": [ "Documentation on [Datasets and DataLoader](https://pytorch.org/tutorials/beginner/basics/data_tutorial.html)\n", "First, we create a custom Dataset class to handle the MNIST dataset.\n", "A Dataset object must include two functions:\n", "```__len__()```: which gives the number of samples in the dataset\n", "```__getitem__(i)```: which return necessary information about the ith sample (generally input and expected output)\n", "\n", "The original training set (60,000 images) is split into a new training set (50,000 images) and a validation set (10,000 images)\n", "\n", "**Question 1**: Why do we add a validation split, in addition to the test set?\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "b5c0427ce3485002", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:32.087864944Z", "start_time": "2023-11-24T13:52:32.073559560Z" }, "id": "b5c0427ce3485002" }, "outputs": [], "source": [ "class MNISTDataset(Dataset):\n", " def __init__(self, set_name, labels=(0, 1, 2, 3, 4, 5, 6, 7, 8, 9), num_samples_per_label=None):\n", " self.set_name = set_name\n", " self.labels = labels\n", " self.mnist = MNIST(root=\"./cache\", train=set_name in (\"train\", \"val\"), download=True)\n", " self.samples = self.format_samples(num_samples_per_label)\n", "\n", " def format_samples(self, num_samples_per_label=None):\n", " samples = list()\n", " match self.set_name:\n", " case \"train\":\n", " indices = list(range(5000, 55000))\n", " case \"val\":\n", " indices = list(range(0, 5000)) + list(range(55000, 60000))\n", " case \"test\":\n", " indices = list(range(0, 10000))\n", "\n", " num_samples_per_label_dict = dict()\n", " for label in self.labels:\n", " num_samples_per_label_dict[label] = 0\n", "\n", " for i in indices:\n", " label = int(self.mnist.targets[i])\n", " if label not in self.labels:\n", " continue\n", " if num_samples_per_label is not None and num_samples_per_label_dict[label] >= num_samples_per_label:\n", " continue\n", " image = self.mnist.data[i].to(torch.float).unsqueeze(0)\n", " samples.append({\n", " \"image\": image,\n", " \"label\": self.mnist.targets[i]\n", " })\n", " num_samples_per_label_dict[label] += 1\n", " return samples\n", "\n", " def __len__(self):\n", " return len(self.samples)\n", "\n", " def __getitem__(self, idx):\n", " return self.samples[idx][\"image\"], self.samples[idx][\"label\"]" ] }, { "cell_type": "code", "execution_count": 10, "id": "82443ce0eac82a4e", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:34.447965003Z", "start_time": "2023-11-24T13:52:32.096928610Z" }, "id": "82443ce0eac82a4e" }, "outputs": [], "source": [ "labels = (0, 1, 2, 3, 4)\n", "\n", "# Dataset instantiations\n", "train_dataset = MNISTDataset(set_name=\"train\", labels=labels)\n", "val_dataset = MNISTDataset(set_name=\"val\", labels=labels)\n", "test_dataset = MNISTDataset(set_name=\"test\", labels=labels)" ] }, { "cell_type": "code", "execution_count": 11, "id": "410a8b3734fee5b5", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:34.462954409Z", "start_time": "2023-11-24T13:52:34.453489710Z" }, "colab": { "base_uri": "https://localhost:8080/" }, "id": "410a8b3734fee5b5", "outputId": "fa37dc77-61a1-40d2-ebcf-97240e4e5d35" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# samples for training: 25518\n", "# samples for validation: 5078\n", "# samples for test: 5139\n" ] } ], "source": [ "# len(dataset) is a shortcut for dataset.__len__()\n", "print(f\"# samples for training: {len(train_dataset)}\")\n", "print(f\"# samples for validation: {len(val_dataset)}\")\n", "print(f\"# samples for test: {len(test_dataset)}\")" ] }, { "cell_type": "code", "execution_count": 12, "id": "77612143075a6224", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.599969743Z", "start_time": "2023-11-24T13:52:34.465658816Z" }, "colab": { "base_uri": "https://localhost:8080/", "height": 504 }, "id": "77612143075a6224", "outputId": "916bfa72-19fb-479e-9a3c-271bac36d1c9" }, "outputs": [ { "data": { "image/png": "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+C+m91Q/++yz0f7KlSuj/ZMnT0b7y5cvj/ar1Wq0h5Pk0psqAEREFQAiogoAEVEFgIioAkBEVAEgIqoAEBFVAIiIKgBERBUAIqIKABFRBYCIqAJARFQBICKqABBxT/WM2NnZGe2Pj4+jJ+G8+vHHH0f7N998c7S/cePGaP/FF1+M9uCeKgCcIlEFgIioAkBEVAEgIqoAEBFVAIiIKgBERBUAIqIKABFRBYCIqAJARFQBICKqABARVQCIiCoARLY2/QDnxcHBwWj/+eefj/ZHR0ej/WKxWLz77rvj78HZdfv27dH+jTfeGO339vZGezgN3lQBICKqABARVQCIiCoAREQVACKiCgARUQWAiKgCQERUASAiqgAQEVUAiIgqAEREFQAiogoAEVEFgIh7qie0s7Mz2n/11Vej/V9//TXau4XKhQsXRvuvv/56tF8ul6M9nAXeVAEgIqoAEBFVAIiIKgBERBUAIqIKABFRBYCIqAJARFQBICKqABARVQCIiCoAREQVACKiCgARUQWAiHuqJ3T16tXRfm9vb7R/+PDhaM/Zt7+/P9p/9913o/30Z3i9Xo/2R0dHoz2cBm+qABARVQCIiCoAREQVACKiCgARUQWAiKgCQERUASAiqgAQEVUAiIgqAEREFQAiogoAEVEFgIioAkDEPdUTevTo0Wj/3HOzf78cHByM9u+8885ov1gsFoeHh6P9r7/+On6Gid3d3dH+tddeG+2nN3mvXLky2i+Xy9F+eg/17t27G93DafCmCgARUQWAiKgCQERUASAiqgAQEVUAiIgqAEREFQAiogoAEVEFgIioAkBEVAEgIqoAEBFVAIiIKgBERBUAIsv1CS8PTw8cn3f3798f7Td9oHqxmB+pfvLkyfgZJl544YXR/uLFi6P9po+ETz//9u3bo/29e/dG+9VqNdrD1El+B72pAkBEVAEgIqoAEBFVAIiIKgBERBUAIqIKABFRBYCIqAJARFQBICKqABARVQCIiCoAREQVACKiCgAR91RPyc7Ozmj/ww8/jPavvPLKaL9YLBbPnj0b7c/6PdHp5//999+j/dHR0Wh/586d0f7BgwejPZx17qkCwCkSVQCIiCoAREQVACKiCgARUQWAiKgCQERUASAiqgAQEVUAiIgqAEREFQAiogoAEVEFgIioAkDEPdUzYnt7e7S/detW9CT/3LVr10b777//frRfrVaj/dTdu3dH++k9VWDGPVUAOEWiCgARUQWAiKgCQERUASAiqgAQEVUAiIgqAEREFQAiogoAEVEFgIioAkBEVAEgIqoAEBFVAIi4pwoAJ+CeKgCcIlEFgIioAkBEVAEgIqoAEBFVAIiIKgBERBUAIqIKABFRBYCIqAJARFQBICKqABARVQCIiCoAREQVACKiCgARUQWAiKgCQERUASAiqgAQEVUAiIgqAEREFQAiogoAEVEFgIioAkBEVAEgIqoAEBFVAIiIKgBERBUAIqIKABFRBYCIqAJARFQBICKqABARVQCIiCoAREQVACKiCgARUQWAiKgCQERUASAiqgAQEVUAiIgqAES2TvqF6/X633wOADjzvKkCQERUASAiqgAQEVUAiIgqAEREFQAiogoAEVEFgIioAkDkP+gUgyzxaplgAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Target class: 3\n" ] } ], "source": [ "# One can use matplotlib package to show the first training sample\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "# dataset[i] is a shortcut for dataset.__getitem__(i)\n", "image, label = train_dataset[0]\n", "plt.figure()\n", "plt.axis('off')\n", "# Permutation required to go from Pytorch format (C, H, W) to matplotlib format (H, W, C)\n", "plt.imshow(image.permute(1, 2, 0), cmap=\"gray\")\n", "plt.tight_layout()\n", "plt.show()\n", "print(f\"Target class: {label}\")" ] }, { "cell_type": "markdown", "id": "9ee35f67e3fca870", "metadata": { "collapsed": false, "id": "9ee35f67e3fca870" }, "source": [ "## II - Architecture implementation\n", "\n", "We will use a modified version of LeNet-5 architecture, which takes as input grayscaled images of size (1, 28, 28).\n", "Documentation for [Layers and Losses](https://pytorch.org/docs/stable/nn.html)" ] }, { "cell_type": "code", "execution_count": 13, "id": "2c379364452ee2ef", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.600467826Z", "start_time": "2023-11-24T13:52:35.510568015Z" }, "id": "2c379364452ee2ef" }, "outputs": [], "source": [ "from torch import nn\n", "\n", "class LeNet(nn.Module):\n", " def __init__(self):\n", " super(LeNet, self).__init__()\n", " self.conv1 = nn.Conv2d(in_channels=1, out_channels=6, kernel_size=3, stride=1, padding=1)\n", " self.conv2 = nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5, stride=1, padding=0)\n", " self.fc1 = nn.Linear(in_features=400, out_features=1024)\n", " self.fc2 = nn.Linear(in_features=1024, out_features=84)\n", " self.fc3 = nn.Linear(in_features=84, out_features=5)\n", "\n", " self.max_pool = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)\n", "\n", " @property\n", " def device(self):\n", " return next(self.parameters()).device\n", "\n", " def forward(self, x):\n", " out = torch.tanh(self.conv1(x))\n", " out = self.max_pool(out)\n", " out = torch.tanh(self.conv2(out))\n", " out = self.max_pool(out)\n", " out = out.reshape(out.size(0), -1) # flatten the representation (from 2D image to 1D vector)\n", " out = torch.tanh(self.fc1(out))\n", " out = torch.tanh(self.fc2(out))\n", " out = self.fc3(out)\n", " return out" ] }, { "cell_type": "markdown", "id": "c3269f47075c9ab1", "metadata": { "collapsed": false, "id": "c3269f47075c9ab1" }, "source": [ "**Question 2**: How many kernels are used in conv1 and conv2?\n", "\n", "**Question 3**: What is the decision layer?" ] }, { "cell_type": "code", "execution_count": 14, "id": "de2ffbb7ae1d968a", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.771675069Z", "start_time": "2023-11-24T13:52:35.534803810Z" }, "colab": { "base_uri": "https://localhost:8080/" }, "id": "de2ffbb7ae1d968a", "outputId": "fec445c1-70ea-470e-b0f6-a36b7e51bac8" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "----------------------------------------------------------------\n", " Layer (type) Output Shape Param #\n", "================================================================\n", " Conv2d-1 [-1, 6, 28, 28] 60\n", " MaxPool2d-2 [-1, 6, 14, 14] 0\n", " Conv2d-3 [-1, 16, 10, 10] 2,416\n", " MaxPool2d-4 [-1, 16, 5, 5] 0\n", " Linear-5 [-1, 1024] 410,624\n", " Linear-6 [-1, 84] 86,100\n", " Linear-7 [-1, 5] 425\n", "================================================================\n", "Total params: 499,625\n", "Trainable params: 499,625\n", "Non-trainable params: 0\n", "----------------------------------------------------------------\n", "Input size (MB): 0.00\n", "Forward/backward pass size (MB): 0.07\n", "Params size (MB): 1.91\n", "Estimated Total Size (MB): 1.98\n", "----------------------------------------------------------------\n" ] } ], "source": [ "# Check if GPU available\n", "device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n", "\n", "# Instantiation of the model\n", "net = LeNet().to(device=device)\n", "\n", "from torchsummary import summary\n", "summary(net, (1, 28, 28))" ] }, { "cell_type": "markdown", "id": "229715ffa0e0ee13", "metadata": { "collapsed": false, "id": "229715ffa0e0ee13" }, "source": [ "**Question 4**: What is the meaning of the \"-1\" value in the output shape?\n", "\n", "**Question 5**: Which layers are parametric?" ] }, { "cell_type": "code", "execution_count": 15, "id": "bbf9b346b264aa61", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "bbf9b346b264aa61", "outputId": "e2ae8dd0-9ece-4bbf-9401-4c7f4ccc4d55" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[('weight', Parameter containing:\n", "tensor([[[[ 0.1470, -0.2819, -0.0723],\n", " [ 0.1397, -0.1095, 0.2530],\n", " [ 0.1165, -0.0165, 0.3124]]],\n", "\n", "\n", " [[[ 0.2396, 0.1615, 0.2251],\n", " [-0.2259, 0.0406, -0.0988],\n", " [ 0.0806, 0.0127, -0.0019]]],\n", "\n", "\n", " [[[ 0.0012, -0.0970, -0.1125],\n", " [ 0.2799, 0.2754, -0.1335],\n", " [-0.0840, -0.1759, -0.1832]]],\n", "\n", "\n", " [[[ 0.1168, -0.1933, -0.3047],\n", " [ 0.1888, -0.1808, 0.0678],\n", " [ 0.1974, -0.1259, -0.0531]]],\n", "\n", "\n", " [[[ 0.0322, 0.0996, 0.1217],\n", " [-0.0124, 0.0167, 0.1242],\n", " [ 0.2516, 0.0950, 0.2244]]],\n", "\n", "\n", " [[[-0.1420, -0.0579, 0.2578],\n", " [ 0.2182, -0.3049, -0.2354],\n", " [ 0.1652, -0.1991, -0.2535]]]], requires_grad=True)), ('bias', Parameter containing:\n", "tensor([ 0.2779, 0.2775, -0.1734, -0.1640, 0.0295, -0.0106],\n", " requires_grad=True))]\n" ] } ], "source": [ "print(list(net.conv1.named_parameters()))" ] }, { "cell_type": "markdown", "id": "d8ee95d8df3a756f", "metadata": { "collapsed": false, "id": "d8ee95d8df3a756f" }, "source": [ "**Question 6**: How many tensors of weights are stored for the conv1 layer?" ] }, { "cell_type": "code", "execution_count": 16, "id": "d7fe143a4260442", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.833794827Z", "start_time": "2023-11-24T13:52:35.627599072Z" }, "colab": { "base_uri": "https://localhost:8080/" }, "id": "d7fe143a4260442", "outputId": "43a11093-d97e-43f8-f9b9-4ed9cf55bddc" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([[-0.1764, 0.0900, -0.1037, -0.0767, -0.0951]]) torch.Size([1, 5])\n", "tensor([[0.1795, 0.2343, 0.1931, 0.1984, 0.1947]]) torch.Size([1, 5])\n" ] } ], "source": [ "image, label = test_dataset[0]\n", "image = image.to(device)\n", "\n", "# inference (forward pass)\n", "net.eval()\n", "with torch.inference_mode():\n", " output = net(image.unsqueeze(0))\n", "print(output, output.size())\n", "\n", "output = torch.softmax(output, dim=1)\n", "print(output, output.size())" ] }, { "cell_type": "markdown", "id": "168cc2392cbcbba2", "metadata": { "collapsed": false, "id": "168cc2392cbcbba2" }, "source": [ "**Question 7**: What is the goal of the softmax function?\n", "\n", "**Question 8**: What is the meaning of the obtained values?\n", "\n", "**Question 9**: What would be the predicted class?" ] }, { "cell_type": "markdown", "id": "747076a30e87d564", "metadata": { "collapsed": false, "id": "747076a30e87d564" }, "source": [ "## III - Training\n", "\n", "Training consists in iteratively training on the training set and evaluating on the validation set to see the evolution of the performance on unseen data. One must define appropriate function for training and evaluation. The main difference lies in the computation of loss, gradients and backpropagation, which is only performed at training time." ] }, { "cell_type": "code", "execution_count": 17, "id": "17f0e584b965ba7d", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.845697537Z", "start_time": "2023-11-24T13:52:35.719718743Z" }, "id": "17f0e584b965ba7d" }, "outputs": [], "source": [ "import numpy as np\n", "from tqdm import tqdm\n", "\n", "# Training hyperparameters\n", "num_epochs = 25\n", "batch_size = 1000\n", "learning_rate = 0.01\n", "optimizer = torch.optim.SGD(net.parameters(), lr=learning_rate)\n", "\n", "# Loss\n", "loss_fn = torch.nn.CrossEntropyLoss()\n", "\n", "# A dataloader is an iterator over the dataset. It is useful to perform an epoch.\n", "train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)\n", "val_loader = DataLoader(val_dataset, batch_size=batch_size, shuffle=False)\n", "test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False)" ] }, { "cell_type": "code", "execution_count": 18, "id": "dc6ce40acf07e239", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.846104175Z", "start_time": "2023-11-24T13:52:35.767729175Z" }, "id": "dc6ce40acf07e239" }, "outputs": [], "source": [ "# function to compute Top-1 accuracy metric\n", "def compute_top1_acc(prediction, ground_truth):\n", " # prediction (B, N), ground_truth (B)\n", " best_prediction = torch.argmax(prediction, dim=1)\n", " return torch.mean(torch.eq(best_prediction, ground_truth), dtype=torch.float)" ] }, { "cell_type": "code", "execution_count": 19, "id": "5debe32bd5b5df6c", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.970044871Z", "start_time": "2023-11-24T13:52:35.829766235Z" }, "id": "5debe32bd5b5df6c" }, "outputs": [], "source": [ "# function to perform batch-gradient descent\n", "def train_batch(x, y, net, optimizer, loss_function):\n", " x, y = x.to(net.device), y.to(net.device) # put model weights and inputs on the same device (CPU/GPU)\n", " optimizer.zero_grad() # zero the gradient buffers\n", " output = net(x) # inference (forward-pass)\n", " loss = loss_function(output, y) # compute loss\n", " loss.backward() # compute gradients (backward-pass)\n", " optimizer.step() # apply gradients (backward-pass)\n", " top1_acc = compute_top1_acc(output, y) # compute metric\n", " return loss.item(), top1_acc.item()" ] }, { "cell_type": "code", "execution_count": 20, "id": "af667fe421895cbd", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.970583198Z", "start_time": "2023-11-24T13:52:35.830045423Z" }, "id": "af667fe421895cbd" }, "outputs": [], "source": [ "# function to train over all the training samples through batch gradient descent\n", "def train_epoch(dataloader, net, optimizer, loss_fn):\n", " epoch_loss = list()\n", " epoch_top1_acc = list()\n", " net.train()\n", " progress_bar = tqdm(dataloader)\n", " for x, y in progress_bar:\n", " progress_bar.set_description(\"Training\")\n", " batch_loss, batch_top1_acc = train_batch(x, y, net, optimizer, loss_fn)\n", " epoch_loss.append(batch_loss)\n", " epoch_top1_acc.append(batch_top1_acc)\n", " current_loss = np.mean(epoch_loss)\n", " current_top1_acc = 100 * np.mean(epoch_top1_acc)\n", " return current_loss, current_top1_acc" ] }, { "cell_type": "code", "execution_count": 21, "id": "98cb4ed04cb2e55d", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.971963294Z", "start_time": "2023-11-24T13:52:35.830146632Z" }, "id": "98cb4ed04cb2e55d" }, "outputs": [], "source": [ "# function to evaluate performance over a batch (forward pass only)\n", "def eval_batch(x, y, net):\n", " x, y = x.to(net.device), y.to(net.device)\n", " output = net(x)\n", " top1_acc = compute_top1_acc(output, y)\n", " return top1_acc.item()" ] }, { "cell_type": "code", "execution_count": 22, "id": "3d0cf9b951e5f578", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:35.972279192Z", "start_time": "2023-11-24T13:52:35.830216694Z" }, "id": "3d0cf9b951e5f578" }, "outputs": [], "source": [ "# function to evaluate performance over a whole set (forward pass only)\n", "def eval(dataloader, net):\n", " top1_acc = list()\n", " net.eval()\n", " with torch.inference_mode(): # prevent tracking gradient-related operation\n", " for x, y in dataloader:\n", " batch_top1_acc = eval_batch(x, y, net)\n", " top1_acc.append(batch_top1_acc)\n", " return 100 * np.mean(top1_acc)" ] }, { "cell_type": "code", "execution_count": 23, "id": "9265b4ffb0d44b92", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:52:37.621184433Z", "start_time": "2023-11-24T13:52:35.889130024Z" }, "colab": { "base_uri": "https://localhost:8080/" }, "id": "9265b4ffb0d44b92", "outputId": "d5a1acc9-2040-4ee1-e87e-68ba08e3a00a" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "top-1 accuracy: 21.29%\n" ] } ], "source": [ "val_acc = eval(val_loader, net)\n", "print(f\"top-1 accuracy: {val_acc:.2f}%\")" ] }, { "cell_type": "markdown", "id": "b1c976db3fa2ece7", "metadata": { "collapsed": false, "id": "b1c976db3fa2ece7" }, "source": [ "**Question 10**: Explain the obtained result. Was it expected?" ] }, { "cell_type": "code", "execution_count": 24, "id": "61459923e64fe852", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:58:48.254280802Z", "start_time": "2023-11-24T13:52:37.604801637Z" }, "colab": { "base_uri": "https://localhost:8080/" }, "id": "61459923e64fe852", "outputId": "212544cb-3cc4-4c03-f442-52398053cf42" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 20.94it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 1: loss: 1.5763 ; top-1 accuracy: 39.06%\n", "Eval epoch 1: top-1 accuracy: 61.88%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 21.07it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 2: loss: 1.5018 ; top-1 accuracy: 68.98%\n", "Eval epoch 2: top-1 accuracy: 75.96%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 21.98it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 3: loss: 1.4062 ; top-1 accuracy: 77.53%\n", "Eval epoch 3: top-1 accuracy: 83.96%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 21.85it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 4: loss: 1.2746 ; top-1 accuracy: 81.98%\n", "Eval epoch 4: top-1 accuracy: 86.09%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 22.11it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 5: loss: 1.1115 ; top-1 accuracy: 83.77%\n", "Eval epoch 5: top-1 accuracy: 87.86%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 16.46it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 6: loss: 0.9421 ; top-1 accuracy: 85.76%\n", "Eval epoch 6: top-1 accuracy: 89.96%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 15.27it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 7: loss: 0.7863 ; top-1 accuracy: 88.48%\n", "Eval epoch 7: top-1 accuracy: 92.14%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 15.26it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 8: loss: 0.6522 ; top-1 accuracy: 90.54%\n", "Eval epoch 8: top-1 accuracy: 93.01%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 15.25it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 9: loss: 0.5413 ; top-1 accuracy: 92.04%\n", "Eval epoch 9: top-1 accuracy: 93.61%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 17.20it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 10: loss: 0.4549 ; top-1 accuracy: 92.86%\n", "Eval epoch 10: top-1 accuracy: 94.36%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 20.31it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 11: loss: 0.3884 ; top-1 accuracy: 93.59%\n", "Eval epoch 11: top-1 accuracy: 94.86%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 20.63it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 12: loss: 0.3395 ; top-1 accuracy: 93.91%\n", "Eval epoch 12: top-1 accuracy: 95.23%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 17.40it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 13: loss: 0.3009 ; top-1 accuracy: 94.26%\n", "Eval epoch 13: top-1 accuracy: 95.72%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 17.49it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 14: loss: 0.2718 ; top-1 accuracy: 94.53%\n", "Eval epoch 14: top-1 accuracy: 95.81%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 16.92it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 15: loss: 0.2496 ; top-1 accuracy: 94.70%\n", "Eval epoch 15: top-1 accuracy: 95.97%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 17.06it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 16: loss: 0.2312 ; top-1 accuracy: 94.93%\n", "Eval epoch 16: top-1 accuracy: 96.09%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 16.63it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 17: loss: 0.2162 ; top-1 accuracy: 95.08%\n", "Eval epoch 17: top-1 accuracy: 96.24%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 23.43it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 18: loss: 0.2037 ; top-1 accuracy: 95.24%\n", "Eval epoch 18: top-1 accuracy: 96.42%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 21.75it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 19: loss: 0.1935 ; top-1 accuracy: 95.33%\n", "Eval epoch 19: top-1 accuracy: 96.49%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 19.87it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 20: loss: 0.1842 ; top-1 accuracy: 95.48%\n", "Eval epoch 20: top-1 accuracy: 96.66%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 22.56it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 21: loss: 0.1758 ; top-1 accuracy: 95.62%\n", "Eval epoch 21: top-1 accuracy: 96.77%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 21.48it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 22: loss: 0.1684 ; top-1 accuracy: 95.74%\n", "Eval epoch 22: top-1 accuracy: 96.86%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 22.27it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 23: loss: 0.1619 ; top-1 accuracy: 95.87%\n", "Eval epoch 23: top-1 accuracy: 96.92%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 20.42it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 24: loss: 0.1567 ; top-1 accuracy: 95.91%\n", "Eval epoch 24: top-1 accuracy: 96.97%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 26/26 [00:01<00:00, 23.30it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 25: loss: 0.1509 ; top-1 accuracy: 96.08%\n", "Eval epoch 25: top-1 accuracy: 97.02%\n" ] } ], "source": [ "# Weights are constantly updated through the training process\n", "# At some point, performance on the validation set may decrease due to over-fitting\n", "# That is why it is important to regularly evaluate the model on the validation set and to save the associated weights\n", "# If it is computationally affordable, this can be done between each epoch\n", "\n", "metrics = {\n", " \"train_loss\": list(),\n", " \"train_accuracy\": list(),\n", " \"val_accuracy\": list()\n", "}\n", "for epoch in range(num_epochs):\n", " train_loss, train_acc = train_epoch(train_loader, net, optimizer, loss_fn)\n", " metrics[\"train_loss\"].append(train_loss)\n", " metrics[\"train_accuracy\"].append(train_acc)\n", " print(f\"Train epoch {epoch+1}: loss: {train_loss:.4f} ; top-1 accuracy: {train_acc:.2f}%\")\n", "\n", " val_acc = eval(val_loader, net)\n", " if epoch == 0 or max(metrics[\"val_accuracy\"]) < val_acc:\n", " torch.save(net.state_dict(), \"best_model_weights.pth\")\n", " metrics[\"val_accuracy\"].append(val_acc)\n", " print(f\"Eval epoch {epoch+1}: top-1 accuracy: {val_acc:.2f}%\")\n" ] }, { "cell_type": "markdown", "id": "8debb01bf3dc6d12", "metadata": { "collapsed": false, "id": "8debb01bf3dc6d12" }, "source": [ "**Question 11**: How many back-propagations are performed per epoch? Why?" ] }, { "cell_type": "code", "execution_count": 25, "id": "29dd277f02742cfd", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:58:49.385584609Z", "start_time": "2023-11-24T13:58:48.258573734Z" }, "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "29dd277f02742cfd", "outputId": "2d31c28f-d6c6-4456-ebf3-b72cc173dee9" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+UElEQVR4nO3de3yT9d3/8XeaJukxLS09IodSkCKIB1QsKnhLBZknhG0epyiKU9QB88RuEfGEsv3U4RSmc6AOvCeoONzAKRMcExDBE1ORcyu05dimx7RNrt8fbQKFIk1Jc7XN6/l45JHkuq6kn1xG8/Z7uiyGYRgCAAAIkQizCwAAAOGF8AEAAEKK8AEAAEKK8AEAAEKK8AEAAEKK8AEAAEKK8AEAAEKK8AEAAEKK8AEAAEKK8AG0U2PHjlWPHj1a9NpHHnlEFosluAUBQDMRPoAgs1gszbqtWLHC7FIBwBQWru0CBNdf/vKXRs9fe+01ffDBB3r99dcbbb/44ouVlpbW4r9TW1srr9crh8MR8Gvr6upUV1enqKioFv99AGgpwgfQyu666y698MILOt6/apWVlYqJiQlRVWgOwzBUXV2t6Ohos0sBOhS6XQATXHjhherfv7/Wr1+vIUOGKCYmRr/5zW8kSe+++64uvfRSZWZmyuFwKDs7W4899pg8Hk+j9zhyzMeOHTtksVj0u9/9Ti+99JKys7PlcDh09tlna926dY1e29SYD4vForvuukuLFy9W//795XA41K9fPy1btuyo+lesWKGzzjpLUVFRys7O1h//+MdmjyP597//rZ/97Gfq1q2bHA6HunbtqkmTJqmqquqoY7/77jv9/Oc/V0pKiqKjo9WnTx/97//+b6Njdu3apXHjxvnPV1ZWlu644w7V1NQc87NK0rx582SxWLRjxw7/th49euiyyy7T+++/r7POOkvR0dH64x//KEmaO3euLrroIqWmpsrhcOiUU07R7Nmzm/yMS5cu1dChQxUfHy+n06mzzz5bCxYskCRNmzZNNptNe/fuPep148ePV2Jioqqrq497HoH2LNLsAoBwtX//fo0cOVLXXHONbrjhBn8XzLx58xQXF6fJkycrLi5O//rXv/Twww/L5XLpt7/97XHfd8GCBSorK9Ptt98ui8WimTNnavTo0dq2bZtsNtuPvnbVqlV6++23deeddyo+Pl6zZs3SmDFjlJ+fr+TkZEnS559/rksuuUQZGRmaPn26PB6PHn30UaWkpDTrcy9cuFCVlZW64447lJycrE8//VTPP/+8fvjhBy1cuNB/3FdffaULLrhANptN48ePV48ePbR161YtWbJETzzxhCRp9+7dOuecc1RSUqLx48crJydHu3bt0qJFi1RZWSm73d6smg63adMmXXvttbr99tt12223qU+fPpKk2bNnq1+/frriiisUGRmpJUuW6M4775TX69WECRP8r583b55uueUW9evXT1OmTFFiYqI+//xzLVu2TNddd51+8Ytf6NFHH9Vf//pX3XXXXf7X1dTUaNGiRRozZgzdYej4DACtasKECcaR/6oNHTrUkGTMmTPnqOMrKyuP2nb77bcbMTExRnV1tX/bTTfdZHTv3t3/fPv27YYkIzk52Thw4IB/+7vvvmtIMpYsWeLfNm3atKNqkmTY7XZjy5Yt/m1ffvmlIcl4/vnn/dsuv/xyIyYmxti1a5d/2+bNm43IyMij3rMpTX2+GTNmGBaLxdi5c6d/25AhQ4z4+PhG2wzDMLxer//xjTfeaERERBjr1q076j19xzX1WQ3DMObOnWtIMrZv3+7f1r17d0OSsWzZsmbVPWLECKNnz57+5yUlJUZ8fLwxaNAgo6qq6ph15+bmGoMGDWq0/+233zYkGR999NFRfwfoaOh2AUzicDh08803H7X98PEFZWVl2rdvny644AJVVlbqu+++O+77Xn311erUqZP/+QUXXCBJ2rZt23Ffm5eXp+zsbP/zAQMGyOl0+l/r8Xj04YcfatSoUcrMzPQf16tXL40cOfK47y81/nwVFRXat2+fBg8eLMMw9Pnnn0uS9u7dq48//li33HKLunXr1uj1vi4Ur9erxYsX6/LLL9dZZ5111N9p6VTirKwsjRgx4kfrLi0t1b59+zR06FBt27ZNpaWlkqQPPvhAZWVlevDBB49qvTi8nhtvvFFr167V1q1b/dvmz5+vrl27aujQoS2qG2hPCB+ASbp06dJkt8B///tfXXXVVUpISJDT6VRKSopuuOEGSfL/yP2YI3+sfUHk4MGDAb/W93rfa/fs2aOqqir16tXrqOOa2taU/Px8jR07VklJSYqLi1NKSor/B9f3+Xxhp3///sd8n71798rlcv3oMS2RlZXV5Pb//Oc/ysvLU2xsrBITE5WSkuIfp+Or2xcmjlfT1VdfLYfDofnz5/tf/9577+n6669n/RWEBcZ8ACZpagZFSUmJhg4dKqfTqUcffVTZ2dmKiorShg0b9MADD8jr9R73fa1Wa5PbjWZMbDuR1zaHx+PRxRdfrAMHDuiBBx5QTk6OYmNjtWvXLo0dO7ZZny9Qx/oxP3IAr09T/1y2bt2qYcOGKScnR88884y6du0qu92uf/zjH3r22WcDrrtTp0667LLLNH/+fD388MNatGiR3G63P2QCHR3hA2hDVqxYof379+vtt9/WkCFD/Nu3b99uYlWHpKamKioqSlu2bDlqX1PbjvT111/r+++/16uvvqobb7zRv/2DDz5odFzPnj0lSRs3bjzme6WkpMjpdP7oMdKhlp+SkhIlJib6t+/cufO49fosWbJEbrdbf/vb3xq1Dn300UeNjvN1WW3cuPG4LUE33nijrrzySq1bt07z58/XGWecoX79+jW7JqA9o9sFaEN8LQ+HtzTU1NToxRdfNKukRqxWq/Ly8rR48WLt3r3bv33Lli1aunRps14vNf58hmHo97//faPjUlJSNGTIEP35z39Wfn5+o32+10ZERGjUqFFasmSJPvvss6P+lu84XyD4+OOP/fsqKir06quvHrfeH6u7tLRUc+fObXTc8OHDFR8frxkzZhw1XfbI1qORI0eqc+fOevrpp7Vy5UpaPRBWaPkA2pDBgwerU6dOuummm3TPPffIYrHo9ddfD1q3RzA88sgj+uc//6nzzjtPd9xxhzwej/7whz+of//++uKLL370tTk5OcrOzta9996rXbt2yel06q233mpyPMqsWbN0/vnn68wzz9T48eOVlZWlHTt26O9//7v/7zz55JP65z//qaFDh2r8+PHq27evCgsLtXDhQq1atUqJiYkaPny4unXrpnHjxum+++6T1WrVn//8Z6WkpBwVbI5l+PDhstvtuvzyy3X77bervLxcL7/8slJTU1VYWOg/zul06tlnn9Wtt96qs88+W9ddd506deqkL7/8UpWVlY0Cj81m0zXXXKM//OEPslqtuvbaa5tVC9AR0PIBtCHJycl67733lJGRoYceeki/+93vdPHFF2vmzJlml+Y3cOBALV26VJ06ddLUqVP1yiuv6NFHH9WwYcOOuz6FzWbTkiVLdPrpp2vGjBmaPn26evfurddee+2oY0877TStWbNG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jxdeeEE9evRQVFSUBg0apE8//dTskjq0Rx55RBaLpdEtJyfH7LI6nI8//liXX365MjMzZbFYtHjx4kb7DcPQww8/rIyMDEVHRysvL0+bN282p9gO5HjnfezYsUd9/y+55BJziu0gZsyYobPPPlvx8fFKTU3VqFGjtGnTpkbHVFdXa8KECUpOTlZcXJzGjBmj4uJikyruGJpz3i+88MKjvu+//OUvQ1Jfmw4ff/3rXzV58mRNmzZNGzZs0GmnnaYRI0Zoz549ZpfWofXr10+FhYX+26pVq8wuqcOpqKjQaaedphdeeKHJ/TNnztSsWbM0Z84crV27VrGxsRoxYoSqq6tDXGnHcrzzLkmXXHJJo+//G2+8EcIKO56VK1dqwoQJWrNmjT744APV1tZq+PDhqqio8B8zadIkLVmyRAsXLtTKlSu1e/dujR492sSq27/mnHdJuu222xp932fOnBmaAo027JxzzjEmTJjgf+7xeIzMzExjxowZJlbVsU2bNs047bTTzC4jrEgy3nnnHf9zr9drpKenG7/97W/920pKSgyHw2G88cYbJlTYMR153g3DMG666SbjyiuvNKWecLFnzx5DkrFy5UrDMOq/2zabzVi4cKH/mG+//daQZKxevdqsMjucI8+7YRjG0KFDjV/96lem1NNmWz5qamq0fv165eXl+bdFREQoLy9Pq1evNrGyjm/z5s3KzMxUz549df311ys/P9/sksLK9u3bVVRU1Oi7n5CQoEGDBvHdD4EVK1YoNTVVffr00R133KH9+/ebXVKHUlpaKklKSkqSJK1fv161tbWNvu85OTnq1q0b3/cgOvK8+8yfP1+dO3dW//79NWXKFFVWVoaknjZ3VVufffv2yePxKC0trdH2tLQ0fffddyZV1fENGjRI8+bNU58+fVRYWKjp06frggsu0MaNGxUfH292eWGhqKhIkpr87vv2oXVccsklGj16tLKysrR161b95je/0ciRI7V69WpZrVazy2v3vF6vJk6cqPPOO0/9+/eXVP99t9vtSkxMbHQs3/fgaeq8S9J1112n7t27KzMzU1999ZUeeOABbdq0SW+//Xar19RmwwfMMXLkSP/jAQMGaNCgQerevbvefPNNjRs3zsTKgNZ3zTXX+B+feuqpGjBggLKzs7VixQoNGzbMxMo6hgkTJmjjxo2MIwuxY5338ePH+x+feuqpysjI0LBhw7R161ZlZ2e3ak1tttulc+fOslqtR414Li4uVnp6uklVhZ/ExESdfPLJ2rJli9mlhA3f95vvvvl69uypzp078/0PgrvuukvvvfeePvroI5100kn+7enp6aqpqVFJSUmj4/m+B8exzntTBg0aJEkh+b632fBht9s1cOBALV++3L/N6/Vq+fLlys3NNbGy8FJeXq6tW7cqIyPD7FLCRlZWltLT0xt9910ul9auXct3P8R++OEH7d+/n+//CTAMQ3fddZfeeecd/etf/1JWVlaj/QMHDpTNZmv0fd+0aZPy8/P5vp+A4533pnzxxReSFJLve5vudpk8ebJuuukmnXXWWTrnnHP03HPPqaKiQjfffLPZpXVY9957ry6//HJ1795du3fv1rRp02S1WnXttdeaXVqHUl5e3uj/LrZv364vvvhCSUlJ6tatmyZOnKjHH39cvXv3VlZWlqZOnarMzEyNGjXKvKI7gB8770lJSZo+fbrGjBmj9PR0bd26Vffff7969eqlESNGmFh1+zZhwgQtWLBA7777ruLj4/3jOBISEhQdHa2EhASNGzdOkydPVlJSkpxOp+6++27l5ubq3HPPNbn69ut4533r1q1asGCBfvKTnyg5OVlfffWVJk2apCFDhmjAgAGtX6Apc2wC8PzzzxvdunUz7Ha7cc455xhr1qwxu6QO7eqrrzYyMjIMu91udOnSxbj66quNLVu2mF1Wh/PRRx8Zko663XTTTYZh1E+3nTp1qpGWlmY4HA5j2LBhxqZNm8wtugP4sfNeWVlpDB8+3EhJSTFsNpvRvXt347bbbjOKiorMLrtda+p8SzLmzp3rP6aqqsq48847jU6dOhkxMTHGVVddZRQWFppXdAdwvPOen59vDBkyxEhKSjIcDofRq1cv47777jNKS0tDUp+loUgAAICQaLNjPgAAQMdE+AAAACFF+AAAACFF+AAAACFF+AAAACFF+AAAACFF+AAAACFF+AAAACFF+AAAACFF+AAAACFF+AAAACH1/wGQ5Aj4FQXk3wAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDBklEQVR4nO3deXhU9d3+8XsyyUz2QBayQAhJQBAEtWyCCipUoIpYKSqirNYNi0urLf4KQl2odLNYt/oooCwtWJXa56kIqKg1rIoUUYSELUBYsk32TGbO748kAyEsmZDMSTLv13XNlcw5Z2Y+cxycO9/zOd9jMQzDEAAAgI8EmF0AAADwL4QPAADgU4QPAADgU4QPAADgU4QPAADgU4QPAADgU4QPAADgU4QPAADgU4QPAADgU4QPwGT79u2TxWLRokWLPMvmzJkji8XSoMdbLBbNmTOnSWu65pprdM011zTpcwJALcIH4IWbbrpJoaGhKioqOus2EyZMkM1mU25urg8r897OnTs1Z84c7du3z+xSAPgZwgfghQkTJqisrEzvvvvuGdeXlpZq1apVGjlypGJiYhr9Or/+9a9VVlbW6Mc3xM6dOzV37twzho8PP/xQH374YbO+PgD/RfgAvHDTTTcpIiJCy5YtO+P6VatWqaSkRBMmTLig1wkMDFRwcPAFPceFsNlsstlspr1+a1FSUmJ2CUCrRPgAvBASEqJbbrlF69at07Fjx+qtX7ZsmSIiInTTTTcpLy9Pv/jFL9S7d2+Fh4crMjJSo0aN0tdff33e1zlTz0dFRYUeeeQRxcXFeV4jOzu73mP379+vBx54QN27d1dISIhiYmI0bty4OiMcixYt0rhx4yRJ1157rSwWiywWiz755BNJZ+75OHbsmKZNm6b4+HgFBwfr0ksv1eLFi+tsU9u/8vvf/15//etflZ6eLrvdrv79+2vz5s3nfd/e7LPy8nLNmTNHF110kYKDg5WYmKhbbrlFmZmZnm3cbrf+/Oc/q3fv3goODlZcXJxGjhypLVu21Kn31H6bWqf30tT+N9m5c6fuuOMOtW/fXldddZUkafv27Zo8ebLS0tIUHByshIQETZ069YyH3g4dOqRp06YpKSlJdrtdqampuv/++1VZWamsrCxZLBb96U9/qve4L774QhaLRcuXLz/vfgRaukCzCwBamwkTJmjx4sVasWKFHnzwQc/yvLw8rV69WuPHj1dISIi++eYbvffeexo3bpxSU1N19OhRvfrqqxo6dKh27typpKQkr1737rvv1pIlS3THHXdo8ODB+uijj3TDDTfU227z5s364osvdPvtt6tTp07at2+fXn75ZV1zzTXauXOnQkNDNWTIEM2YMUMLFizQE088oYsvvliSPD9PV1ZWpmuuuUZ79uzRgw8+qNTUVK1cuVKTJ09WQUGBHnrooTrbL1u2TEVFRbr33ntlsVg0f/583XLLLcrKylJQUNBZ32NWVlaD9pnL5dKNN96odevW6fbbb9dDDz2koqIirVmzRjt27FB6erokadq0aVq0aJFGjRqlu+++W1VVVfrss8+0YcMG9evXz6v9X2vcuHHq1q2bnn32WRmGIUlas2aNsrKyNGXKFCUkJOibb77RX//6V33zzTfasGGDJ0gePnxYAwYMUEFBge655x716NFDhw4d0ttvv63S0lKlpaXpyiuv1NKlS/XII4/Ued2lS5cqIiJCY8aMaVTdQItiAPBKVVWVkZiYaAwaNKjO8ldeecWQZKxevdowDMMoLy83XC5XnW327t1r2O124ze/+U2dZZKMhQsXepY9+eSTxqn/PLdt22ZIMh544IE6z3fHHXcYkownn3zSs6y0tLRezRkZGYYk48033/QsW7lypSHJ+Pjjj+ttP3ToUGPo0KGe+88//7whyViyZIlnWWVlpTFo0CAjPDzccDgcdd5LTEyMkZeX59l21apVhiTj/fffr/dap2roPnvjjTcMScYf//jHes/hdrsNwzCMjz76yJBkzJgx46zbnGnf1zp9v9b+Nxk/fny9bc+0z5cvX25IMj799FPPsokTJxoBAQHG5s2bz1rTq6++akgyvv32W8+6yspKIzY21pg0aVK9xwGtEYddAC9ZrVbdfvvtysjIqHMoY9myZYqPj9ewYcMkSXa7XQEB1f/EXC6XcnNzFR4eru7du+vLL7/06jX/7//+T5I0Y8aMOssffvjhetuGhIR4fnc6ncrNzVXXrl3Vrl07r1/31NdPSEjQ+PHjPcuCgoI0Y8YMFRcXa/369XW2v+2229S+fXvP/auvvlpS9cjGuTR0n/3jH/9QbGysfvazn9V7jtpRhn/84x+yWCx68sknz7pNY9x33331lp26z8vLy3XixAldccUVkuSp2+1267333tPo0aPPOOpSW9Ott96q4OBgLV261LNu9erVOnHihO68885G1w20JIQPoBFqG0prG0+zs7P12Wef6fbbb5fVapVU/WXzpz/9Sd26dZPdbldsbKzi4uK0fft2FRYWevV6+/fvV0BAgOdwQq3u3bvX27asrEyzZ89WcnJyndctKCjw+nVPff1u3bp5gkGt2sM0+/fvr7O8c+fOde7XBpH8/Pxzvk5D91lmZqa6d++uwMCzHznOzMxUUlKSoqOjz/8GvZCamlpvWV5enh566CHFx8crJCREcXFxnu1q6z5+/LgcDocuueSScz5/u3btNHr06DpNzUuXLlXHjh113XXXNeE7AcxD+AAaoW/fvurRo4en+W/58uUyDKPOWS7PPvusHn30UQ0ZMkRLlizR6tWrtWbNGvXq1Utut7vZavvZz36mZ555RrfeeqtWrFihDz/8UGvWrFFMTEyzvu6pagPY6YyaHomz8fU+O9sIiMvlOutjTh3lqHXrrbfqtdde03333ad33nlHH374oT744ANJalTdEydOVFZWlr744gsVFRXpn//8p8aPH18v/AGtFQ2nQCNNmDBBs2bN0vbt27Vs2TJ169ZN/fv396x/++23de211+r111+v87iCggLFxsZ69VopKSlyu92ev/hr7dq1q962b7/9tiZNmqQ//OEPnmXl5eUqKCios503hx5SUlK0fft2ud3uOl+A3333nWd9U2joPktPT9fGjRvldDrP2sCanp6u1atXKy8v76yjH7UjMqfvm9NHcs4lPz9f69at09y5czV79mzP8t27d9fZLi4uTpGRkdqxY8d5n3PkyJGKi4vT0qVLNXDgQJWWluquu+5qcE1AS0eMBhqpdpRj9uzZ2rZtW725PaxWa72/9FeuXKlDhw55/VqjRo2SJC1YsKDO8ueff77etmd63RdeeKHeX/NhYWGS6n/xnsmPfvQj5eTk6O9//7tnWVVVlV544QWFh4dr6NChDXkb59XQfTZ27FidOHFCf/nLX+o9R+3jx44dK8MwNHfu3LNuExkZqdjYWH366ad11r/00kte1Xzqc9Y6/b9NQECAbr75Zr3//vueU33PVJNUPc/L+PHjtWLFCi1atEi9e/dWnz59GlwT0NIx8gE0UmpqqgYPHqxVq1ZJUr3wceONN+o3v/mNpkyZosGDB+u///2vli5dqrS0NK9f67LLLtP4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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Drawing training curves\n", "def plot_curve(title, metric):\n", " plt.figure()\n", " plt.title(title)\n", " plt.plot(np.arange(len(metric))+1, metric)\n", " plt.show()\n", "\n", "plot_curve(\"Training loss\", metrics[\"train_loss\"])\n", "plot_curve(\"Training accuracy\", metrics[\"train_accuracy\"])\n", "plot_curve(\"Validation accuracy\", metrics[\"val_accuracy\"])" ] }, { "cell_type": "code", "execution_count": 26, "id": "89c2e9a94fdc2437", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T13:58:51.292245450Z", "start_time": "2023-11-24T13:58:49.262325270Z" }, "colab": { "base_uri": "https://localhost:8080/" }, "id": "89c2e9a94fdc2437", "outputId": "a7028cc2-fe78-4235-a751-eaee2c0d3fed" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_4730/2346019943.py:2: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " checkpoint = torch.load(\"best_model_weights.pth\")\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "top-1 accuracy: 96.21%\n" ] } ], "source": [ "# Retrieve the best weights\n", "checkpoint = torch.load(\"best_model_weights.pth\")\n", "net.load_state_dict(checkpoint)\n", "\n", "# Evaluate on the test set\n", "test_acc = eval(test_loader, net)\n", "print(f\"top-1 accuracy: {test_acc:.2f}%\")" ] }, { "cell_type": "markdown", "id": "30e6376b1b26cbc9", "metadata": { "collapsed": false }, "source": [ "## Answers to questions\n", "\n", "**Question 1**: Why do we add a validation split, in addition to the test set?\n", "\n", "Performance is evaluated on the validation set through the epochs during training. \n", "We select the weights that lead to the best results on the validation set. There is a selection bias; so we evaluate on a test set to have more relevant results on unseen data.\n", "\n", "**Question 2**: How many kernels are used in conv1 and conv2? \n", "\n", "Number of kernels = number of output feature maps \n", "Conv1: 6 kernels \n", "conv2: 16 kernels \n", "\n", "\n", "**Question 3**: What is the decision layer? \n", "\n", "The decision layer is the last one = the layer that generate one score per class (fc3). \n", "\n", "\n", "**Question 4**: What is the meaning of the \"-1\" value in the output shape? \n", "\n", "The first value corresponds to the mini-batch size (not known in advance so -1 with a joker meaning)\n", "\n", "\n", "**Question 5**: Which layers are parametric? \n", "\n", "Convolutions and fully-connected layers are the parametrics ones. \n", "No parameter is required for a pooling or activation layer.\n", "\n", "**Question 6**: How many tensors of weights are stored for the conv1 layer? \n", "\n", "Two tensors : one for the weights, one for the biases \n", "\n", "**Question 7**: What is the goal of the softmax function? \n", "\n", "Normalizing the score values to have a probability distribution. \n", "\n", "\n", "**Question 8**: What is the meaning of the obtained values? \n", "\n", "Each value is a probability of a class (from digit 0 to digit 4). \n", "\n", "\n", "**Question 9**: What would be the predicted class? \n", "\n", "The predicted class is the one with highest probability (depends on the execution) \n", "\n", "\n", "**Question 10**: Explain the obtained result. Was it expected? \n", "Regarding question 8: all values must be close (near 20%). \n", "Indeed, the model predicts random scores before training and there is 5 classes (1/5=20%)\n", "\n", "\n", "**Question 11**: How many back-propagations are performed per epoch? Why?\n", "\n", "There are 26 steps in the training progress bars, which correspond to the number of back propagations per epoch. \n", "Indeed, there are 25,518 training samples, and the mini-batch size is 1,000. So 26 mini-batch gradient descents are required to perform an epoch." ] }, { "cell_type": "markdown", "id": "4f4fdf497f0923e", "metadata": { "collapsed": false, "id": "4f4fdf497f0923e" }, "source": [ "# Your turn\n", "\n", "## Exercise on transfer learning and fine-tuning\n", "\n", "We will use the pre-trained model weights on digit 0 to 4, to initialize a new model which will perform classification over all the 10 digits.\n", "\n", "- Generate new datasets with all the digits\n", "- Adapt the architecture\n", "- Compare performance when training\n", " - from scratch\n", " - from pre-trained weights (fine-tuning)\n", " - from pre-trained weights with conv layers frozen (transfer learning)\n", "\n", "One can freeze a layer by switching to False the \"requires_grad\" attribute for all its parameters:\n", "```param.requires_grad = False```" ] }, { "cell_type": "code", "execution_count": 27, "id": "add197ec283b9b6", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T14:28:10.160018864Z", "start_time": "2023-11-24T14:28:05.576095087Z" }, "id": "add197ec283b9b6" }, "outputs": [], "source": [ "labels = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) # Only modif HERE\n", "train_dataset_all = MNISTDataset(set_name=\"train\", labels=labels)\n", "val_dataset_all = MNISTDataset(set_name=\"val\", labels=labels)\n", "test_dataset_all = MNISTDataset(set_name=\"test\", labels=labels)\n", "\n", "train_loader_all = DataLoader(train_dataset_all, batch_size=batch_size, shuffle=True)\n", "val_loader_all = DataLoader(val_dataset_all, batch_size=batch_size, shuffle=False)\n", "test_loader_all = DataLoader(test_dataset_all, batch_size=batch_size, shuffle=False)\n", "\n", "class LeNet2(nn.Module):\n", " def __init__(self):\n", " super(LeNet2, self).__init__()\n", " self.conv1 = nn.Conv2d(in_channels=1, out_channels=6, kernel_size=3, stride=1, padding=1)\n", " self.conv2 = nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5, stride=1, padding=0)\n", " self.fc1 = nn.Linear(in_features=400, out_features=1024)\n", " self.fc2 = nn.Linear(in_features=1024, out_features=84)\n", " self.fc3_new = nn.Linear(in_features=84, out_features=10) # Only modif HERE (must modify name for load_state_dict)\n", "\n", " self.max_pool = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)\n", "\n", " @property\n", " def device(self):\n", " return next(self.parameters()).device\n", "\n", " def forward(self, x):\n", " out = torch.tanh(self.conv1(x))\n", " out = self.max_pool(out)\n", " out = torch.tanh(self.conv2(out))\n", " out = self.max_pool(out)\n", " out = out.reshape(out.size(0), -1)\n", " out = torch.tanh(self.fc1(out))\n", " out = torch.tanh(self.fc2(out))\n", " out = self.fc3_new(out) # Only modif HERE\n", " return out" ] }, { "cell_type": "code", "execution_count": 28, "id": "cfbcdea6507b3360", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T14:10:32.923936652Z", "start_time": "2023-11-24T14:05:05.391585292Z" }, "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "cfbcdea6507b3360", "outputId": "63632995-382e-4104-ba16-206400e11bf0" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 19.49it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 1: loss: 2.2860 ; top-1 accuracy: 16.37%\n", "Eval epoch 1: top-1 accuracy: 28.06%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 24.36it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 2: loss: 2.2444 ; top-1 accuracy: 38.46%\n", "Eval epoch 2: top-1 accuracy: 50.75%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 20.44it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 3: loss: 2.1897 ; top-1 accuracy: 55.46%\n", "Eval epoch 3: top-1 accuracy: 62.35%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 19.15it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 4: loss: 2.1028 ; top-1 accuracy: 63.01%\n", "Eval epoch 4: top-1 accuracy: 65.59%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.93it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 5: loss: 1.9591 ; top-1 accuracy: 64.54%\n", "Eval epoch 5: top-1 accuracy: 65.95%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 19.23it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 6: loss: 1.7468 ; top-1 accuracy: 64.90%\n", "Eval epoch 6: top-1 accuracy: 67.49%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.84it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 7: loss: 1.5013 ; top-1 accuracy: 67.34%\n", "Eval epoch 7: top-1 accuracy: 70.30%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.93it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 8: loss: 1.2849 ; top-1 accuracy: 70.32%\n", "Eval epoch 8: top-1 accuracy: 73.84%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.10it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 9: loss: 1.1159 ; top-1 accuracy: 73.16%\n", "Eval epoch 9: top-1 accuracy: 76.62%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.62it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 10: loss: 0.9883 ; top-1 accuracy: 75.45%\n", "Eval epoch 10: top-1 accuracy: 79.00%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 17.60it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 11: loss: 0.8905 ; top-1 accuracy: 77.49%\n", "Eval epoch 11: top-1 accuracy: 80.81%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 16.99it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 12: loss: 0.8137 ; top-1 accuracy: 79.30%\n", "Eval epoch 12: top-1 accuracy: 82.42%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 16.85it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 13: loss: 0.7515 ; top-1 accuracy: 80.71%\n", "Eval epoch 13: top-1 accuracy: 83.73%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.08it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 14: loss: 0.6994 ; top-1 accuracy: 81.97%\n", "Eval epoch 14: top-1 accuracy: 84.98%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 17.90it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 15: loss: 0.6549 ; top-1 accuracy: 83.15%\n", "Eval epoch 15: top-1 accuracy: 85.98%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.84it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 16: loss: 0.6156 ; top-1 accuracy: 84.06%\n", "Eval epoch 16: top-1 accuracy: 87.03%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 17.65it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 17: loss: 0.5807 ; top-1 accuracy: 84.90%\n", "Eval epoch 17: top-1 accuracy: 87.83%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.50it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 18: loss: 0.5497 ; top-1 accuracy: 85.77%\n", "Eval epoch 18: top-1 accuracy: 88.57%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.74it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 19: loss: 0.5212 ; top-1 accuracy: 86.53%\n", "Eval epoch 19: top-1 accuracy: 89.19%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.77it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 20: loss: 0.4956 ; top-1 accuracy: 87.19%\n", "Eval epoch 20: top-1 accuracy: 89.84%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 17.48it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 21: loss: 0.4721 ; top-1 accuracy: 87.82%\n", "Eval epoch 21: top-1 accuracy: 90.15%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.21it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 22: loss: 0.4506 ; top-1 accuracy: 88.40%\n", "Eval epoch 22: top-1 accuracy: 90.64%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.38it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 23: loss: 0.4303 ; top-1 accuracy: 88.83%\n", "Eval epoch 23: top-1 accuracy: 90.89%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.10it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 24: loss: 0.4122 ; top-1 accuracy: 89.29%\n", "Eval epoch 24: top-1 accuracy: 91.24%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 20.03it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 25: loss: 0.3955 ; top-1 accuracy: 89.76%\n", "Eval epoch 25: top-1 accuracy: 91.72%\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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a9euxZNPPomPPvoIo0ePts8WK5PJsGHDBsTFxWHRokVYvnw5/vCHPzSZY+NmevTogS+++AISiQRPP/00Vq5cidmzZ+Opp566Zt9Zs2bh22+/hUqlwiuvvILnnnsO+/fvb/ZuoMaup7FjxyI8PLzF9RC1d5xenYicYvLkyTh27BhOnz4tdintxqFDh9C/f3989NFH+P3vfy92OUQuw5YPInLY1VOhnz59Gv/5z38wevRocQpqpz744AMEBARgypQpYpdC5FIc80FEDouNjcXMmTMRGxuL8+fPY8WKFZDL5Xj22WfFLq1dyMjIwPHjx/H+++9j7ty58Pf3F7skIpditwsROezhhx/Gtm3boNfroVAokJSUhNdffx0DBw4Uu7R2oUuXLiguLkZKSgo+/vhjKJVKsUsicimGDyIiInIpjvkgIiIil2L4ICIiIpdyuwGnNpsNhYWFUCqVfMASERFROyEIAioqKqDT6SCV3rhtw+3CR2FhISIjI8Uug4iIiFohLy8PERERN9zH7cJH46jvvLw8qFQqkashIiKiljCZTIiMjGzR3VtuFz4au1pUKhXDBxERUTvTkiETHHBKRERELsXwQURERC7F8EFEREQuxfBBRERELsXwQURERC7F8EFEREQuxfBBRERELsXwQURERC7F8EFEREQu5XD4qKiowLx58xAdHQ1fX18MGzYMe/futW8XBAEvvvgiwsPD4evri+TkZJw+fdqpRRMREVH75XD4+MMf/oAtW7bg448/xpEjRzB+/HgkJyejoKAAALB06VIsX74cK1euxJ49e+Dv74+UlBSYzWanF09ERETtj0QQBKGlO9fU1ECpVOKbb77BxIkT7esHDRqECRMm4JVXXoFOp8Of/vQnPP300wAAo9EIjUaDNWvWYNq0adec02KxwGKx2F83PpjGaDTy2S5ERETthMlkglqtbtH3t0MPlquvr4fVaoWPj0+T9b6+vti5cydycnKg1+uRnJxs36ZWq5GYmIhdu3Y1Gz7S09OxZMkSR8ogIiKiFhAEAeVVtSgymFForEGRoQZFRjMCFN54Ymw30epyKHwolUokJSXhlVdeQUJCAjQaDf79739j165d6Nq1K/R6PQBAo9E0OU6j0di3XW3hwoVYsGCB/XVjywcRERFdnyAIMJnrUWSssYeLQsPln4uMZhQZzaitt11zbEwn//YT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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABF90lEQVR4nO3deXxU9b3/8fdkm+wTspAFkhDWILsIGFFRpEWqKIWiIFZElKqIArW29BYRq1L1Vi1e958FlKUVqyK9tyKCotaAGEREZAtL2JJAIJmsk2XO748kU0ICZLLMyfJ6Ph7zIDnnzJnPHEbnzfd8F4thGIYAAAA8xMvsAgAAQPtC+AAAAB5F+AAAAB5F+AAAAB5F+AAAAB5F+AAAAB5F+AAAAB5F+AAAAB5F+AAAAB5F+ABMdujQIVksFi1dutS17bHHHpPFYqnX8y0Wix577LEmremaa67RNddc06TnBIBqhA/ADTfddJMCAwOVn59/3mOmTJkiPz8/5eTkeLAy9+3atUuPPfaYDh06ZHYpANoZwgfghilTpqi4uFjvv/9+nfuLioq0Zs0aXX/99YqIiGjw6/zhD39QcXFxg59fH7t27dLChQvrDB8ff/yxPv7442Z9fQDtF+EDcMNNN92kkJAQrVy5ss79a9asUWFhoaZMmdKo1/Hx8ZG/v3+jztEYfn5+8vPzM+31W4vCwkKzSwBaJcIH4IaAgACNHz9eGzZsUHZ2dq39K1euVEhIiG666SadPn1aDz/8sPr166fg4GCFhoZqzJgx+u677y76OnX1+XA4HJozZ46ioqJcr3H06NFazz18+LDuv/9+9erVSwEBAYqIiNDEiRNrtHAsXbpUEydOlCRde+21slgsslgs+uyzzyTV3ecjOztb06dPV3R0tPz9/TVgwAAtW7asxjHV/Vf++7//W6+//rq6desmq9WqIUOGaOvWrRd93+5cs5KSEj322GPq2bOn/P39FRsbq/Hjxys9Pd11jNPp1F/+8hf169dP/v7+ioqK0vXXX69vvvmmRr1n97epdm5fmuq/k127dum2225Thw4ddOWVV0qSduzYoTvvvFNdu3aVv7+/YmJidNddd9V56+3YsWOaPn264uLiZLValZSUpPvuu0+lpaU6cOCALBaLnn/++VrP++qrr2SxWLRq1aqLXkegpfMxuwCgtZkyZYqWLVumd955Rw888IBr++nTp7Vu3TpNnjxZAQEB+uGHH/TBBx9o4sSJSkpKUlZWll577TWNGDFCu3btUlxcnFuve/fdd2v58uW67bbbdMUVV2jjxo264YYbah23detWffXVV5o0aZI6d+6sQ4cO6ZVXXtE111yjXbt2KTAwUFdffbUefPBBLV68WL///e/Vu3dvSXL9ea7i4mJdc8012r9/vx544AElJSVp9erVuvPOO5Wbm6uHHnqoxvErV65Ufn6+fvWrX8liseiZZ57R+PHjdeDAAfn6+p73PR44cKBe16yiokI33nijNmzYoEmTJumhhx5Sfn6+1q9fr507d6pbt26SpOnTp2vp0qUaM2aM7r77bpWXl+uLL77Q5s2bddlll7l1/atNnDhRPXr00FNPPSXDMCRJ69ev14EDBzRt2jTFxMTohx9+0Ouvv64ffvhBmzdvdgXJ48ePa+jQocrNzdWMGTOUnJysY8eO6d1331VRUZG6du2q4cOHa8WKFZozZ06N112xYoVCQkJ08803N6huoEUxALilvLzciI2NNVJSUmpsf/XVVw1Jxrp16wzDMIySkhKjoqKixjEHDx40rFar8fjjj9fYJslYsmSJa9uCBQuMs//z3L59uyHJuP/++2uc77bbbjMkGQsWLHBtKyoqqlVzamqqIcl46623XNtWr15tSDI+/fTTWsePGDHCGDFihOv3F154wZBkLF++3LWttLTUSElJMYKDgw273V7jvURERBinT592HbtmzRpDkrF27dpar3W2+l6zv/71r4Yk47nnnqt1DqfTaRiGYWzcuNGQZDz44IPnPaaua1/t3Ota/XcyefLkWsfWdc1XrVplSDI+//xz17Y77rjD8PLyMrZu3Xreml577TVDkvHjjz+69pWWlhqRkZHG1KlTaz0PaI247QK4ydvbW5MmTVJqamqNWxkrV65UdHS0rrvuOkmS1WqVl1flf2IVFRXKyclRcHCwevXqpW3btrn1mv/3f/8nSXrwwQdrbJ89e3atYwMCAlw/l5WVKScnR927d1dYWJjbr3v268fExGjy5Mmubb6+vnrwwQdVUFCgTZs21Tj+1ltvVYcOHVy/X3XVVZIqWzYupL7X7B//+IciIyM1a9asWueobmX4xz/+IYvFogULFpz3mIa49957a207+5qXlJTo1KlTuvzyyyXJVbfT6dQHH3ygsWPH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dP3+97/XmDFjlJqaKm9vb7PLa/WcTqdmz56t4cOHq2/fvpIqP+9+fn4KCwurcSyf96ZT13WXpNtuu02JiYmKi4vTjh079Nvf/lZ79uzRe++91+w1tdjwAXOMGTPG9XP//v01bNgwJSYm6p133tH06dNNrAxofpMmTXL93K9fP/Xv31/dunXTZ599puuuu87EytqGmTNnaufOnfQj87DzXfcZM2a4fu7Xr59iY2N13XXXKT09Xd26dWvWmlrsbZfIyEh5e3vX6vGclZWlmJgYk6pqf8LCwtSzZ0/t37/f7FLajerPN59983Xt2lWRkZF8/pvAAw88oH/+85/69NNP1blzZ9f2mJgYlZaWKjc3t8bxfN6bxvmue12GDRsmSR75vLfY8OHn56fBgwdrw4YNrm1Op1MbNmxQSkqKiZW1LwUFBUpPT1dsbKzZpbQbSUlJiomJqfHZt9vt2rJlC599Dzt69KhycnL4/DeCYRh64IEH9P7772vjxo1KSkqqsX/w4MHy9fWt8Xnfs2ePMjIy+Lw3wsWue122b98uSR75vLfo2y5z587V1KlTddlll2no0KF64YUXVFhYqGnTppldWpv18MMPa+zYsUpMTNTx48e1YMECeXt7a/LkyWaX1qYUFBTU+NfFwYMHtX37doWHhyshIUGzZ8/WE088oR49eigpKUnz589XXFycxo0bZ17RbcCFrnt4eLgWLlyoCRMmKCYmRunp6XrkkUfUvXt3jR492sSqW7eZM2dq5cqVWrNmjUJCQlz9OGw2mwICAmSz2TR9+nTNnTtX4eHhCg0N1axZs5SSkqLLL7/c5Opbr4td9/T0dK1cuVI/+9nPFBERoR07dmjOnDm6+uqr1b9//+Yv0JQxNm548cUXjYSEBMPPz88YOnSosXnzZrNLatNuvfVWIzY21vDz8zM6depk3Hrrrcb+/fvNLqvN+fTTTw1JtR5Tp041DKNyuO38+fON6Ohow2q1Gtddd52xZ88ec4tuAy503YuKioyf/vSnRlRUlOHr62skJiYa99xzj5GZmWl22a1aXddbkrFkyRLXMcXFxcb9999vdOjQwQgMDDR+/vOfGydOnDCv6DbgYtc9IyPDuPrqq43w8HDDarUa3bt3N37zm98YeXl5HqnPUlUkAACAR7TYPh8AAKBtInwAAACPInwAAACPInwAAACPInwAAACPInwAAACPInwAAACPInwAAACPInwAAACPInwAAACPInwAAACP+v9xCG6KxyJxeQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "top-1 accuracy: 91.48%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_4730/2889421472.py:24: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " checkpoint = torch.load(\"best_model_weights_scratch.pth\")\n" ] } ], "source": [ "# FROM SCRATCH\n", "net_scratch = LeNet2().to(device)\n", "optimizer = torch.optim.SGD(net_scratch.parameters(), lr=learning_rate)\n", "metrics = {\n", " \"train_loss\": list(),\n", " \"train_accuracy\": list(),\n", " \"val_accuracy\": list()\n", "}\n", "for epoch in range(num_epochs):\n", " train_loss, train_acc = train_epoch(train_loader_all, net_scratch, optimizer, loss_fn)\n", " metrics[\"train_loss\"].append(train_loss)\n", " metrics[\"train_accuracy\"].append(train_acc)\n", " print(f\"Train epoch {epoch+1}: loss: {train_loss:.4f} ; top-1 accuracy: {train_acc:.2f}%\")\n", "\n", " val_acc = eval(val_loader_all, net_scratch)\n", " if epoch == 0 or max(metrics[\"val_accuracy\"]) < val_acc:\n", " torch.save(net_scratch.state_dict(), \"best_model_weights_scratch.pth\")\n", " metrics[\"val_accuracy\"].append(val_acc)\n", " print(f\"Eval epoch {epoch+1}: top-1 accuracy: {val_acc:.2f}%\")\n", "\n", "plot_curve(\"Training loss\", metrics[\"train_loss\"])\n", "plot_curve(\"Training accuracy\", metrics[\"train_accuracy\"])\n", "plot_curve(\"Validation accuracy\", metrics[\"val_accuracy\"])\n", "checkpoint = torch.load(\"best_model_weights_scratch.pth\")\n", "net_scratch.load_state_dict(checkpoint)\n", "test_acc = eval(test_loader, net_scratch)\n", "print(f\"top-1 accuracy: {test_acc:.2f}%\")" ] }, { "cell_type": "code", "execution_count": 29, "id": "793f032e0fca22b2", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "793f032e0fca22b2", "outputId": "9dbe2bb9-d164-41b0-8e5a-04e32a5564a5" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_4730/3958351834.py:3: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " weights5digits = torch.load(\"best_model_weights.pth\")\n", "Training: 100%|██████████| 50/50 [00:02<00:00, 18.90it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 1: loss: 1.9660 ; top-1 accuracy: 43.01%\n", "Eval epoch 1: top-1 accuracy: 63.62%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.71it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 2: loss: 1.4863 ; top-1 accuracy: 66.13%\n", "Eval epoch 2: top-1 accuracy: 71.10%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.71it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 3: loss: 1.1983 ; top-1 accuracy: 71.84%\n", "Eval epoch 3: top-1 accuracy: 76.70%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.20it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 4: loss: 1.0051 ; top-1 accuracy: 76.75%\n", "Eval epoch 4: top-1 accuracy: 81.13%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.65it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 5: loss: 0.8648 ; top-1 accuracy: 80.46%\n", "Eval epoch 5: top-1 accuracy: 84.43%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.73it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 6: loss: 0.7592 ; top-1 accuracy: 82.90%\n", "Eval epoch 6: top-1 accuracy: 86.02%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.53it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 7: loss: 0.6774 ; top-1 accuracy: 84.73%\n", "Eval epoch 7: top-1 accuracy: 87.71%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 19.09it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 8: loss: 0.6128 ; top-1 accuracy: 85.97%\n", "Eval epoch 8: top-1 accuracy: 88.62%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.91it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 9: loss: 0.5605 ; top-1 accuracy: 87.07%\n", "Eval epoch 9: top-1 accuracy: 89.36%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 19.08it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 10: loss: 0.5172 ; top-1 accuracy: 87.89%\n", "Eval epoch 10: top-1 accuracy: 90.11%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 19.37it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 11: loss: 0.4812 ; top-1 accuracy: 88.52%\n", "Eval epoch 11: top-1 accuracy: 90.65%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 17.55it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 12: loss: 0.4503 ; top-1 accuracy: 89.11%\n", "Eval epoch 12: top-1 accuracy: 91.12%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:03<00:00, 15.24it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 13: loss: 0.4239 ; top-1 accuracy: 89.69%\n", "Eval epoch 13: top-1 accuracy: 91.67%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 17.61it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 14: loss: 0.4010 ; top-1 accuracy: 90.17%\n", "Eval epoch 14: top-1 accuracy: 92.04%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 19.47it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 15: loss: 0.3814 ; top-1 accuracy: 90.61%\n", "Eval epoch 15: top-1 accuracy: 92.41%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 19.09it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 16: loss: 0.3639 ; top-1 accuracy: 90.92%\n", "Eval epoch 16: top-1 accuracy: 92.62%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.38it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 17: loss: 0.3487 ; top-1 accuracy: 91.26%\n", "Eval epoch 17: top-1 accuracy: 92.89%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.00it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 18: loss: 0.3348 ; top-1 accuracy: 91.51%\n", "Eval epoch 18: top-1 accuracy: 93.12%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 17.97it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 19: loss: 0.3222 ; top-1 accuracy: 91.78%\n", "Eval epoch 19: top-1 accuracy: 93.28%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.23it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 20: loss: 0.3111 ; top-1 accuracy: 91.97%\n", "Eval epoch 20: top-1 accuracy: 93.50%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.36it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 21: loss: 0.3010 ; top-1 accuracy: 92.17%\n", "Eval epoch 21: top-1 accuracy: 93.67%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.86it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 22: loss: 0.2916 ; top-1 accuracy: 92.41%\n", "Eval epoch 22: top-1 accuracy: 93.78%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.82it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 23: loss: 0.2831 ; top-1 accuracy: 92.58%\n", "Eval epoch 23: top-1 accuracy: 93.81%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.78it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 24: loss: 0.2754 ; top-1 accuracy: 92.75%\n", "Eval epoch 24: top-1 accuracy: 93.88%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:02<00:00, 18.88it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 25: loss: 0.2680 ; top-1 accuracy: 92.90%\n", "Eval epoch 25: top-1 accuracy: 94.08%\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+GUlEQVR4nO3deXhU5f3+8XuSTCbrTELICgmEsARBUBARRbAQRaoohbauFZWKVdAqdSn9irhTaX/V4oLVWlArtmIVi61YRcTSshUV3NgjITtLMpN9mTm/P5IMhDUJkzlJ5v26rrmSOXPO5JPjaG6f83meYzEMwxAAAICfBJldAAAACCyEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeED6CTuvHGG9W7d+82HfvQQw/JYrH4tiAAaCHCB+BjFoulRY9PPvnE7FIBwBQW7u0C+Naf//znZs9fffVVffjhh3rttdeabb/44ouVmJjY5p9TV1cnj8cjm83W6mPr6+tVX1+vsLCwNv98AGgrwgfQzmbNmqXnnntOp/pXrbKyUhEREX6qCi1hGIaqq6sVHh5udilAl8JlF8AEF110kQYPHqzNmzdrzJgxioiI0K9+9StJ0rvvvqvLLrtMKSkpstlsysjI0KOPPiq3293sPY7u+fjuu+9ksVj029/+Vi+++KIyMjJks9k0YsQIbdq0qdmxx+v5sFgsmjVrlpYvX67BgwfLZrNp0KBBWrly5TH1f/LJJzrnnHMUFhamjIwM/eEPf2hxH8m///1v/ehHP1JaWppsNptSU1N19913q6qq6ph9t23bph//+MeKj49XeHi4BgwYoP/7v/9rtk9eXp6mT5/uPV/p6em67bbbVFtbe8LfVZKWLFkii8Wi7777zrutd+/euvzyy/XBBx/onHPOUXh4uP7whz9IkhYvXqxx48YpISFBNptNZ5xxhhYtWnTc3/H999/X2LFjFR0dLbvdrhEjRmjp0qWSpHnz5slqtWr//v3HHDdjxgzFxMSourr6lOcR6MxCzC4ACFQHDx7UxIkTdfXVV+v666/3XoJZsmSJoqKiNHv2bEVFRenjjz/Wgw8+KJfLpd/85jenfN+lS5eqrKxMt956qywWixYsWKApU6Zoz549slqtJz127dq1evvtt3X77bcrOjpaCxcu1NSpU5WTk6O4uDhJ0ueff65LL71UycnJevjhh+V2u/XII48oPj6+Rb/3smXLVFlZqdtuu01xcXHauHGjnnnmGeXm5mrZsmXe/bZu3aoLL7xQVqtVM2bMUO/evbV7926tWLFCjz/+uCQpPz9f5557rkpLSzVjxgxlZmYqLy9Pb731liorKxUaGtqimo60fft2XXPNNbr11lt1yy23aMCAAZKkRYsWadCgQbriiisUEhKiFStW6Pbbb5fH49HMmTO9xy9ZskQ333yzBg0apDlz5igmJkaff/65Vq5cqWuvvVY/+clP9Mgjj+ivf/2rZs2a5T2utrZWb731lqZOncrlMHR9BoB2NXPmTOPof9XGjh1rSDJeeOGFY/avrKw8Ztutt95qREREGNXV1d5t06ZNM3r16uV9np2dbUgy4uLijEOHDnm3v/vuu4YkY8WKFd5t8+bNO6YmSUZoaKixa9cu77YtW7YYkoxnnnnGu23SpElGRESEkZeX5922c+dOIyQk5Jj3PJ7j/X7z5883LBaLsXfvXu+2MWPGGNHR0c22GYZheDwe7/c33HCDERQUZGzatOmY92za73i/q2EYxuLFiw1JRnZ2tndbr169DEnGypUrW1T3hAkTjD59+nifl5aWGtHR0cbIkSONqqqqE9Y9atQoY+TIkc1ef/vttw1JxurVq4/5OUBXw2UXwCQ2m0033XTTMduP7C8oKyvTgQMHdOGFF6qyslLbtm075fteddVVio2N9T6/8MILJUl79uw55bFZWVnKyMjwPh8yZIjsdrv3WLfbrY8++kiTJ09WSkqKd7++fftq4sSJp3x/qfnvV1FRoQMHDuj888+XYRj6/PPPJUn79+/Xp59+qptvvllpaWnNjm+6hOLxeLR8+XJNmjRJ55xzzjE/p61TidPT0zVhwoST1u10OnXgwAGNHTtWe/bskdPplCR9+OGHKisr0y9/+ctjRi+OrOeGG27Qhg0btHv3bu+2119/XampqRo7dmyb6gY6E8IHYJIePXoc97LA119/rR/84AdyOByy2+2Kj4/X9ddfL0neP3Inc/Qf66YgUlJS0upjm45vOra4uFhVVVXq27fvMfsdb9vx5OTk6MYbb1S3bt0UFRWl+Ph47x/cpt+vKewMHjz4hO+zf/9+uVyuk+7TFunp6cfd/p///EdZWVmKjIxUTEyM4uPjvX06TXU3hYlT1XTVVVfJZrPp9ddf9x7/3nvv6brrrmP9FQQEej4AkxxvBkVpaanGjh0ru92uRx55RBkZGQoLC9Nnn32m+++/Xx6P55TvGxwcfNztRgsmtp3OsS3hdrt18cUX69ChQ7r//vuVmZmpyMhI5eXl6cYbb2zR79daJ/pjfnQDb5Pj/XPZvXu3xo8fr8zMTP3ud79TamqqQkND9c9//lNPPfVUq+uOjY3V5Zdfrtdff10PPvig3nrrLdXU1HhDJtDVET6ADuSTTz7RwYMH9fbbb2vMmDHe7dnZ2SZWdVhCQoLCwsK0a9euY1473rajffnll9qxY4deeeUV3XDDDd7tH374YbP9+vTpI0n66quvTvhe8fHxstvtJ91HOjzyU1paqpiYGO/2vXv3nrLeJitWrFBNTY3+/ve/NxsdWr16dbP9mi5ZffXVV6ccCbrhhht05ZVXatOmTXr99dd19tlna9CgQS2uCejMuOwCdCBNIw9HjjTU1tbq+eefN6ukZoKDg5WVlaXly5crPz/fu33Xrl16//33W3S81Pz3MwxDv//975vtFx8frzFjxuhPf/qTcnJymr3WdGxQUJAmT56sFStW6H//+98xP6tpv6ZA8Omnn3pfq6io0CuvvHLKek9Wt9Pp1OLFi5vtd8kllyg6Olrz588/Zrrs0aNHEydOVPfu3fXkk09qzZo1jHogoDDyAXQg559/vmJjYzVt2jTdeeedslgseu2113x22cMXHnroIf3rX//SBRdcoNtuu01ut1vPPvusBg8erC+++OKkx2ZmZiojI0P33HOP8vLyZLfb9be//e24/SgLFy7U6NGjNWzYMM2YMUPp6en67rvv9I9//MP7c5544gn961//0tixYzVjxgwNHDhQBQUFWrZsmdauXauYmBhdcsklSktL0/Tp03XvvfcqODhYf/rTnxQfH39MsDmRSy65RKGhoZo0aZJuvfVWlZeX66WXXlJCQoIKCgq8+9ntdj311FP66U9/qhEjRujaa69VbGystmzZosrKymaBx2q16uqrr9azzz6r4OBgXXPNNS2qBegKGPkAOpC4uDi99957Sk5O1gMPPKDf/va3uvjii7VgwQKzS/MaPny43n//fcXGxmru3Ll6+eWX9cgjj2j8+PGnXJ/CarVqxYoVOuusszR//nw9/PDD6tevn1599dVj9h06dKjWr1+v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8uXLm71uGIYefPBBJScnKzw8XFlZWdq5c6c5xXYhpzrvN9544zGf/0svvdScYruI+fPna8SIEYqOjlZCQoImT56s7du3N9unurpaM2fOVFxcnKKiojR16lQVFRWZVHHX0JLzftFFFx3zef/Zz37ml/o6dPj461//qtmzZ2vevHn67LPPNHToUE2YMEHFxcVml9alDRo0SAUFBd7H2rVrzS6py6moqNDQoUP13HPPHff1BQsWaOHChXrhhRe0YcMGRUZGasKECaqurvZzpV3Lqc67JF166aXNPv9vvPGGHyvsetasWaOZM2dq/fr1+vDDD1VXV6dLLrlEFRUV3n3uvvturVixQsuWLdOaNWuUn5+vKVOmmFh159eS8y5Jt9xyS7PP+4IFC/xToNGBnXvuucbMmTO9z91ut5GSkmLMnz/fxKq6tnnz5hlDhw41u4yAIsl45513vM89Ho+RlJRk/OY3v/FuKy0tNWw2m/HGG2+YUGHXdPR5NwzDmDZtmnHllVeaUk+gKC4uNiQZa9asMQyj4bNttVqNZcuWeff59ttvDUnGunXrzCqzyzn6vBuGYYwdO9b4+c9/bko9HXbko7a2Vps3b1ZWVpZ3W1BQkLKysrRu3ToTK+v6du7cqZSUFPXp00fXXXedcnJyzC4poGRnZ6uwsLDZZ9/hcGjkyJF89v3gk08+UUJCggYMGKDbbrtNBw8eNLukLsXpdEqSunXrJknavHmz6urqmn3eMzMzlZaWxufdh44+701ef/11de/eXYMHD9acOXNUWVnpl3o63F1tmxw4cEBut1uJiYnNticmJmrbtm0mVdX1jRw5UkuWLNGAAQNUUFCghx9+WBdeeKG++uorRUdHm11eQCgsLJSk4372m15D+7j00ks1ZcoUpaena/fu3frVr36liRMnat26dQoODja7vE7P4/Horrvu0gUXXKDBgwdLavi8h4aGKiYmptm+fN5953jnXZKuvfZa9erVSykpKdq6davuv/9+bd++XW+//Xa719RhwwfMMXHiRO/3Q4YM0ciRI9WrVy+9+eabmj59uomVAe3v6quv9n5/5plnasiQIcrIyNAnn3yi8ePHm1hZ1zBz5kx99dVX9JH52YnO+4wZM7zfn3nmmUpOTtb48eO1e/duZWRktGtNHfayS/fu3RUcHHxMx3NRUZGSkpJMqirwxMTEqH///tq1a5fZpQSMps83n33z9enTR927d+fz7wOzZs3Se++9p9WrV6tnz57e7UlJSaqtrVVpaWmz/fm8+8aJzvvxjBw5UpL88nnvsOEjNDRUw4cP16pVq7zbPB6PVq1apVGjRplYWWApLy/X7t27lZycbHYpASM9PV1JSUnNPvsul0sbNmzgs+9nubm5OnjwIJ//02AYhmbNmqV33nlHH3/8sdLT05u9Pnz4cFmt1maf9+3btysnJ4fP+2k41Xk/ni+++EKS/PJ579CXXWbPnq1p06bpnHPO0bnnnqunn35aFRUVuummm8wurcu65557NGnSJPXq1Uv5+fmaN2+egoODdc0115hdWpdSXl7e7P8usrOz9cUXX6hbt25KS0vTXXfdpccee0z9+vVTenq65s6dq5SUFE2ePNm8oruAk533bt266eGHH9bUqVOVlJSk3bt367777lPfvn01YcIEE6vu3GbOnKmlS5fq3XffVXR0tLePw+FwKDw8XA6HQ9OnT9fs2bPVrVs32e123XHHHRo1apTOO+88k6vvvE513nfv3q2lS5fq+9//vuLi4rR161bdfffdGjNmjIYMGdL+BZoyx6YVnnnmGSMtLc0IDQ01zj33XGP9+vVml9SlXXXVVUZycrIRGhpq9OjRw7jqqquMXbt2mV1Wl7N69WpD0jGPadOmGYbRMN127ty5RmJiomGz2Yzx48cb27dvN7foLuBk572ystK45JJLjPj4eMNqtRq9evUybrnlFqOwsNDssju1451vScbixYu9+1RVVRm33367ERsba0RERBg/+MEPjIKCAvOK7gJOdd5zcnKMMWPGGN26dTNsNpvRt29f49577zWcTqdf6rM0FgkAAOAXHbbnAwAAdE2EDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4FeEDwAA4Ff/H2rdcSEQgncqAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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+1JTU1FWVoYnn3yy03UT2RKGD6JOaO1Q2trxtKCgAPv27cO0adMgk8kAGL9s3nvvPcTFxUGhUMDf3x8BAQE4deoUNBqNRa+Xm5sLqVRqupzQKj4+vs2x9fX1eP311xEeHm72ulVVVRa/7vWvHxcXZwoGrVov0+Tm5pptj4iIMLvfGkQqKytv+TodPWfZ2dmIj4+Hi8vNrxxnZ2cjNDQUvr6+t3+DFoiKimqzraKiAi+99BKCgoKgVCoREBBgOq617tLSUmi1WvTt2/eWz+/t7Y2JEyeadWretGkTwsLCcP/993fhOyESD8MHUScMHjwYCQkJps5/W7ZsgSAIZqNc3n77bSxevBijR4/Gxo0bkZqaip07d6JPnz4wGAzdVtuLL76It956C4899hi2bt2KHTt2YOfOnfDz8+vW171eawC7kdDSR+JmrH3ObtYCotfrb/qY61s5Wj322GP49NNP8dxzz+Hbb7/Fjh078OOPPwJAp+p++umnkZOTgwMHDqC6uhr//Oc/MX369Dbhj8hescMpUSfNmDEDS5cuxalTp7B582bExcVh6NChpv1ff/01xo0bh88++8zscVVVVfD397fotSIjI2EwGEz/42914cKFNsd+/fXXmDlzJv7617+atjU0NKCqqsrsOEsuPURGRuLUqVMwGAxmX4Dnz5837e8KHT1nMTExOHToEJqamm7agTUmJgapqamoqKi4aetHa4vMjefmxpacW6msrER6ejqWL1+O119/3bT90qVLZscFBARApVLh9OnTt33O5ORkBAQEYNOmTRg+fDjq6urw1FNPdbgmIlvHGE3USa2tHK+//jpOnDjRZm4PmUzW5n/627Ztw9WrVy1+rZSUFADAmjVrzLavXr26zbHtve7777/f5n/zHh4eANp+8bbnoYceQlFREb766ivTtubmZrz//vvw9PTEmDFjOvI2bquj52zKlCkoKyvD3//+9zbP0fr4KVOmQBAELF++/KbHqFQq+Pv7Y+/evWb7P/zwQ4tqvv45W934ZyOVSvHoo4/ihx9+MA31ba8mwDjPy/Tp07F161asX78e/fr1Q//+/TtcE5GtY8sHUSdFRUVh5MiR+P777wGgTfh4+OGH8cc//hGzZ8/GyJEj8d///hebNm1CdHS0xa81cOBATJ8+HR9++CE0Gg1GjhyJ9PR0ZGVltTn24Ycfxpdf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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_4730/3958351834.py:28: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " checkpoint = torch.load(\"best_model_weights_finetuning.pth\")\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "top-1 accuracy: 94.52%\n" ] } ], "source": [ "# FINE-TUNING\n", "net_finetuning = LeNet2().to(device)\n", "weights5digits = torch.load(\"best_model_weights.pth\")\n", "net_finetuning.load_state_dict(weights5digits, strict=False)\n", "\n", "optimizer = torch.optim.SGD(net_finetuning.parameters(), lr=learning_rate)\n", "\n", "metrics = {\n", " \"train_loss\": list(),\n", " \"train_accuracy\": list(),\n", " \"val_accuracy\": list()\n", "}\n", "for epoch in range(num_epochs):\n", " train_loss, train_acc = train_epoch(train_loader_all, net_finetuning, optimizer, loss_fn)\n", " metrics[\"train_loss\"].append(train_loss)\n", " metrics[\"train_accuracy\"].append(train_acc)\n", " print(f\"Train epoch {epoch+1}: loss: {train_loss:.4f} ; top-1 accuracy: {train_acc:.2f}%\")\n", "\n", " val_acc = eval(val_loader_all, net_finetuning)\n", " if epoch == 0 or max(metrics[\"val_accuracy\"]) < val_acc:\n", " torch.save(net_finetuning.state_dict(), \"best_model_weights_finetuning.pth\")\n", " metrics[\"val_accuracy\"].append(val_acc)\n", " print(f\"Eval epoch {epoch+1}: top-1 accuracy: {val_acc:.2f}%\")\n", "\n", "plot_curve(\"Training loss\", metrics[\"train_loss\"])\n", "plot_curve(\"Training accuracy\", metrics[\"train_accuracy\"])\n", "plot_curve(\"Validation accuracy\", metrics[\"val_accuracy\"])\n", "checkpoint = torch.load(\"best_model_weights_finetuning.pth\")\n", "net_finetuning.load_state_dict(checkpoint)\n", "test_acc = eval(test_loader, net_finetuning)\n", "print(f\"top-1 accuracy: {test_acc:.2f}%\")" ] }, { "cell_type": "code", "execution_count": 30, "id": "4e9058c4bae1b136", "metadata": { "ExecuteTime": { "end_time": "2023-11-24T14:28:20.783808896Z", "start_time": "2023-11-24T14:28:10.396475406Z" }, "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "4e9058c4bae1b136", "outputId": "c6db2bae-72c7-451e-b42c-c74739a50c7d" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_4730/1496020607.py:3: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " weights5digits = torch.load(\"best_model_weights.pth\")\n", "Training: 100%|██████████| 50/50 [00:01<00:00, 33.22it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 1: loss: 2.0168 ; top-1 accuracy: 39.42%\n", "Eval epoch 1: top-1 accuracy: 60.03%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 32.45it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 2: loss: 1.5294 ; top-1 accuracy: 66.40%\n", "Eval epoch 2: top-1 accuracy: 72.10%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 31.81it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 3: loss: 1.2581 ; top-1 accuracy: 71.88%\n", "Eval epoch 3: top-1 accuracy: 75.88%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 31.27it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 4: loss: 1.0829 ; top-1 accuracy: 75.28%\n", "Eval epoch 4: top-1 accuracy: 79.10%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 30.85it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 5: loss: 0.9539 ; top-1 accuracy: 78.55%\n", "Eval epoch 5: top-1 accuracy: 82.16%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.66it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 6: loss: 0.8538 ; top-1 accuracy: 81.17%\n", "Eval epoch 6: top-1 accuracy: 84.19%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.66it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 7: loss: 0.7741 ; top-1 accuracy: 82.77%\n", "Eval epoch 7: top-1 accuracy: 85.83%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 31.68it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 8: loss: 0.7098 ; top-1 accuracy: 84.14%\n", "Eval epoch 8: top-1 accuracy: 86.88%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 30.24it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 9: loss: 0.6572 ; top-1 accuracy: 85.10%\n", "Eval epoch 9: top-1 accuracy: 87.82%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.04it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 10: loss: 0.6133 ; top-1 accuracy: 85.91%\n", "Eval epoch 10: top-1 accuracy: 88.36%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 34.06it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 11: loss: 0.5764 ; top-1 accuracy: 86.56%\n", "Eval epoch 11: top-1 accuracy: 89.02%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.49it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 12: loss: 0.5450 ; top-1 accuracy: 87.05%\n", "Eval epoch 12: top-1 accuracy: 89.52%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.62it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 13: loss: 0.5179 ; top-1 accuracy: 87.57%\n", "Eval epoch 13: top-1 accuracy: 89.99%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 32.38it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 14: loss: 0.4943 ; top-1 accuracy: 87.99%\n", "Eval epoch 14: top-1 accuracy: 90.29%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.28it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 15: loss: 0.4736 ; top-1 accuracy: 88.36%\n", "Eval epoch 15: top-1 accuracy: 90.50%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.91it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 16: loss: 0.4553 ; top-1 accuracy: 88.66%\n", "Eval epoch 16: top-1 accuracy: 90.81%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.80it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 17: loss: 0.4390 ; top-1 accuracy: 88.89%\n", "Eval epoch 17: top-1 accuracy: 91.05%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.69it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 18: loss: 0.4245 ; top-1 accuracy: 89.13%\n", "Eval epoch 18: top-1 accuracy: 91.30%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.08it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 19: loss: 0.4114 ; top-1 accuracy: 89.34%\n", "Eval epoch 19: top-1 accuracy: 91.40%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 32.88it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 20: loss: 0.3996 ; top-1 accuracy: 89.60%\n", "Eval epoch 20: top-1 accuracy: 91.61%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 32.68it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 21: loss: 0.3889 ; top-1 accuracy: 89.80%\n", "Eval epoch 21: top-1 accuracy: 91.80%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 32.14it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 22: loss: 0.3791 ; top-1 accuracy: 89.98%\n", "Eval epoch 22: top-1 accuracy: 91.96%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 30.73it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 23: loss: 0.3702 ; top-1 accuracy: 90.16%\n", "Eval epoch 23: top-1 accuracy: 92.09%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 32.04it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 24: loss: 0.3620 ; top-1 accuracy: 90.33%\n", "Eval epoch 24: top-1 accuracy: 92.21%\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Training: 100%|██████████| 50/50 [00:01<00:00, 33.09it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Train epoch 25: loss: 0.3544 ; top-1 accuracy: 90.46%\n", "Eval epoch 25: top-1 accuracy: 92.28%\n" ] }, { "data": { "image/png": "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0+TZZ5/F999/jxEjRmDevHnWsNGvXz9kZmbafbwpU6ZgzJgx+L//+z+cPXsWiYmJ+P777/HFF19g0aJF1kHAzz//PHbv3o1JkyYhJiYGJSUlePvttxEVFYWRI0cCAMaPHw+NRoMRI0YgPDwcp06dwltvvYVJkyY1GyNDRK3DwEJEzQQHB2PLli1YvHgx/va3vyEwMBD33Xcfxo4di9TUVKnLAwAMHjwY3377LZ544gk888wziI6OxvPPP49Tp061ahbTlWQyGb788kssXboUn3zyCT744AN069YNr7zyChYvXmzt9/vf/x5nz57FmjVrUFZWhpCQENx666147rnnoFarAQAPP/ww/vvf/+K1116DwWBAVFQUFi5ciL/97W/t9vqJ3A3vJURELmXq1Kk4ceIEsrOzpS6FiNoRx7AQUadVXV1t8zg7OxvffPMNRo8eLU1BROQwPMNCRJ1WREQEZs+ejdjYWJw7dw7vvPMOTCYTjhw5gp49e0pdHhG1I45hIaJOa8KECVi/fj20Wi2USiWSk5Px0ksvMawQuSCeYSEiIiKnxzEsRERE5PQYWIiIiMjpucQYFovFgsLCQvj7+0MQBKnLISIiolYQRRGVlZWIjIyETHbtcyguEVgKCwsRHR0tdRlERETUBufPn0dUVNQ1+7hEYGla6vr8+fNQqVQSV0NEREStodfrER0d3apbVrhEYGm6DKRSqRhYiIiIOpnWDOfgoFsiIiJyegwsRERE5PQYWIiIiMjpMbAQERGR02NgISIiIqfHwEJEREROj4GFiIiInB4DCxERETk9BhYiIiJyegwsRERE5PQYWIiIiMjpMbAQERGR02NguQZddR3eSM/Gk5uOSl0KERGRW7MrsCxfvhxDhw6Fv78/wsLCMHXqVGRlZV13v02bNqF3797w8vJC//798c0339g8L4oili5dioiICHh7eyMlJQXZ2dn2vRIHkMsEvP7Dr9h0qABlBpPU5RAREbktuwLLrl27MH/+fOzbtw/btm1DXV0dxo8fD6PReNV99u7dixkzZmDu3Lk4cuQIpk6diqlTp+L48ePWPitWrMAbb7yB1atXY//+/fD19UVqaipqamra/sragZ/SA92CfQEAJwv1ktZCRETkzgRRFMW27lxaWoqwsDDs2rULo0aNarHPtGnTYDQasWXLFmvbzTffjIEDB2L16tUQ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/cElEQVR4nO3deXhU1f3H8c8kmUzWyUZWTCCEJQiisohxASoRpEqlUusuCIpV3KC40BZxp1KrFheo/iiggm2xLsVWXFCwtIAI7kvYSVgS1sxk3+b+/kgyEAiQSSZzk8z79Tz3YXLm3sl3rgPz8Zxzz7UYhmEIAADARwLMLgAAAPgXwgcAAPApwgcAAPApwgcAAPApwgcAAPApwgcAAPApwgcAAPApwgcAAPApwgcAAPApwgfQTo0fP15du3Zt1rEPPfSQLBaLdwsCgCYifABeZrFYmrStXLnS7FIBwBQW7u0CeNdrr73W4OdXXnlFH374oV599dUG7RdffLESExOb/Xuqqqrkcrlks9k8Pra6ulrV1dUKCQlp9u8HgOYifACt7I477tALL7ygU/1VKy0tVVhYmI+qQlMYhqHy8nKFhoaaXQrQoTDsAphg2LBh6tu3rzZs2KAhQ4YoLCxMv/nNbyRJ77zzji699FKlpKTIZrMpIyNDjz76qGpqahq8xrFzPnbs2CGLxaKnnnpKL730kjIyMmSz2TRo0CCtX7++wbGNzfmwWCy644479Pbbb6tv376y2Wzq06ePli9fflz9K1eu1MCBAxUSEqKMjAz9+c9/bvI8kv/85z+68sorlZaWJpvNptTUVE2ZMkVlZWXH7fvjjz/ql7/8peLj4xUaGqpevXrpt7/9bYN9du/erYkTJ7rPV3p6um677TZVVlae8L1K0sKFC2WxWLRjxw53W9euXXXZZZfp/fff18CBAxUaGqo///nPkqQFCxbooosuUkJCgmw2m04//XTNnTu30ff43nvvaejQoYqMjJTdbtegQYO0ZMkSSdLMmTNltVq1f//+446bNGmSoqOjVV5efsrzCLRnQWYXAPirgwcPatSoUbr66qt1/fXXu4dgFi5cqIiICE2dOlURERH6+OOP9eCDD8rpdOoPf/jDKV93yZIlKioq0q233iqLxaLZs2friiuu0LZt22S1Wk967OrVq/Xmm2/q9ttvV2RkpObMmaOxY8cqNzdXcXFxkqQvvvhCl1xyiZKTk/Xwww+rpqZGjzzyiOLj45v0vpcuXarS0lLddtttiouL02effabnnntOu3bt0tKlS937ff3117rwwgtltVo1adIkde3aVVu3btWyZcv0+OOPS5L27Nmjc845R4WFhZo0aZIyMzO1e/duvfHGGyotLVVwcHCTajpaTk6OrrnmGt1666265ZZb1KtXL0nS3Llz1adPH/3sZz9TUFCQli1bpttvv10ul0uTJ092H79w4UJNmDBBffr00fTp0xUdHa0vvvhCy5cv17XXXqsbbrhBjzzyiP72t7/pjjvucB9XWVmpN954Q2PHjmU4DB2fAaBVTZ482Tj2r9rQoUMNSca8efOO27+0tPS4tltvvdUICwszysvL3W3jxo0zunTp4v55+/bthiQjLi7OOHTokLv9nXfeMSQZy5Ytc7fNnDnzuJokGcHBwcaWLVvcbV999ZUhyXjuuefcbaNHjzbCwsKM3bt3u9s2b95sBAUFHfeajWns/c2aNcuwWCzGzp073W1DhgwxIiMjG7QZhmG4XC734xtvvNEICAgw1q9ff9xr1u/X2Hs1DMNYsGCBIcnYvn27u61Lly6GJGP58uVNqnvkyJFGt27d3D8XFhYakZGRxuDBg42ysrIT1p2VlWUMHjy4wfNvvvmmIcn45JNPjvs9QEfDsAtgEpvNpptuuum49qPnFxQVFenAgQO68MILVVpaqh9//PGUr3vVVVcpJibG/fOFF14oSdq2bdspj83OzlZGRob75379+slut7uPramp0UcffaQxY8YoJSXFvV/37t01atSoU76+1PD9lZSU6MCBAzrvvPNkGIa++OILSdL+/fv16aefasKECUpLS2twfP0Qisvl0ttvv63Ro0dr4MCBx/2e5l5KnJ6erpEjR560bofDoQMHDmjo0KHatm2bHA6HJOnDDz9UUVGRHnjggeN6L46u58Ybb9S6deu0detWd9vixYuVmpqqoUOHNqtuoD0hfAAm6dy5c6PDAt99951+/vOfKyoqSna7XfHx8br++uslyf0ldzLHflnXB5HDhw97fGz98fXH7tu3T2VlZerevftx+zXW1pjc3FyNHz9esbGxioiIUHx8vPsLt/791Yedvn37nvB19u/fL6fTedJ9miM9Pb3R9v/+97/Kzs5WeHi4oqOjFR8f756nU193fZg4VU1XXXWVbDabFi9e7D7+3Xff1XXXXcf6K/ALzPkATNLYFRSFhYUaOnSo7Ha7HnnkEWVkZCgkJEQbN27U/fffL5fLdcrXDQwMbLTdaMKFbS05tilqamp08cUX69ChQ7r//vuVmZmp8PBw7d69W+PHj2/S+/PUib7Mj53AW6+x/y5bt27V8OHDlZmZqaefflqpqakKDg7Wv//9bz3zzDMe1x0TE6PLLrtMixcv1oMPPqg33nhDFRUV7pAJdHSED6ANWblypQ4ePKg333xTQ4YMcbdv377dxKqOSEhIUEhIiLZs2XLcc421Heubb77Rpk2btGjRIt14443u9g8//LDBft26dZMkffvttyd8rfj4eNnt9pPuIx3p+SksLFR0dLS7fefOnaest96yZctUUVGhf/7znw16hz755JMG+9UPWX377ben7Am68cYbdfnll2v9+vVavHixzj77bPXp06fJNQHtGcMuQBtS3/NwdE9DZWWlXnzxRbNKaiAwMFDZ2dl6++23tWfPHnf7li1b9N577zXpeKnh+zMMQ3/6058a7BcfH68hQ4boL3/5i3Jzcxs8V39sQECAxowZo2XLlunzzz8/7nfV71cfCD799FP3cyUlJVq0aNEp6z1Z3Q6HQwsWLGiw34gRIxQZGalZs2Ydd7nssb1Ho0aNUqdOnfTkk09q1apV9HrAr9DzAbQh5513nmJiYjRu3DjdddddslgsevXVV7027OENDz30kD744AOdf/75uu2221RTU6Pnn39effv21ZdffnnSYzMzM5WRkaFp06Zp9+7dstvt+sc//tHofJQ5c+boggsuUP/+/TVp0iSlp6drx44d+te//uX+PU888YQ++OADDR06VJMmTVLv3r21d+9eLV26VKtXr1Z0dLRGjBihtLQ0TZw4Uffee68CAwP1l7/8RfHx8ccFmxMZMWKEgoODNXr0aN16660qLi7Wyy+/rISEBO3du9e9n91u1zPPPKObb75ZgwYN0rXXXquYmBh99dVXKi0tbRB4rFarrr76aj3//PMKDAzUNddc06RagI6Ang+gDYmLi9O7776r5ORk/e53v9NTTz2liy++WLNnzza7NLcBAwbovffeU0xMjGbMmKH58+frkUce0fDhw0+5PoXVatWyZct01llnadasWXr44YfVo0cPvfLKK8fte+aZZ2rt2rUaMmSI5s6dq7vu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABFuklEQVR4nO3deXhU9d3+8XuyTfaELGSBAEmAgIgbIAIKKFRARSwUBWlls24oClWr/RUUNwSfWop1qT6KWIGnYl3bKkpUXFhFkSprFghbEggkk3WSzJzfHyEjIWGZkMxJMu/Xdc2VzDlnZj5zGJib7/kuFsMwDAEAAHiIj9kFAAAA70L4AAAAHkX4AAAAHkX4AAAAHkX4AAAAHkX4AAAAHkX4AAAAHkX4AAAAHkX4AAAAHkX4AEy2Z88eWSwWvf76665tjz76qCwWy1k93mKx6NFHH23SmoYOHaqhQ4c26XMCQC3CB+CG66+/XsHBwSouLj7lMZMmTVJAQIAKCgo8WJn7tm3bpkcffVR79uwxuxQAXobwAbhh0qRJKi8v17vvvtvg/rKyMr3//vsaOXKkoqOjG/06f/zjH1VeXt7ox5+Nbdu2ad68eQ2Gj08++USffPJJs74+AO9F+ADccP311yssLEzLly9vcP/777+v0tJSTZo06Zxex8/PT4GBgef0HOciICBAAQEBpr1+a1FaWmp2CUCrRPgA3BAUFKSxY8cqPT1d+fn59fYvX75cYWFhuv7663X06FHdf//96t27t0JDQxUeHq5Ro0bphx9+OOPrNNTnw263a9asWYqNjXW9xv79++s9du/evbrrrruUlpamoKAgRUdHa/z48XVaOF5//XWNHz9eknTllVfKYrHIYrHoiy++kNRwn4/8/HxNnz5dcXFxCgwM1IUXXqilS5fWOaa2/8r//M//6OWXX1ZqaqqsVqv69eunTZs2nfF9u3POKioq9Oijj6p79+4KDAxUQkKCxo4dq8zMTNcxTqdTf/nLX9S7d28FBgYqNjZWI0eO1Lffflun3hP729Q6uS9N7Z/Jtm3bdPPNN6tdu3a6/PLLJUlbt27VlClTlJKSosDAQMXHx2vatGkNXno7cOCApk+frsTERFmtViUnJ+vOO+9UZWWlsrKyZLFY9Oc//7ne49auXSuLxaIVK1ac8TwCLZ2f2QUArc2kSZO0dOlSvfXWW7r77rtd248ePapVq1Zp4sSJCgoK0k8//aT33ntP48ePV3JysvLy8vS3v/1NQ4YM0bZt25SYmOjW695666168803dfPNN2vgwIH67LPPdO2119Y7btOmTVq7dq0mTJigjh07as+ePXrxxRc1dOhQbdu2TcHBwRo8eLBmzpypxYsX6w9/+IN69uwpSa6fJysvL9fQoUOVkZGhu+++W8nJyVq5cqWmTJmiwsJC3XvvvXWOX758uYqLi3X77bfLYrFo4cKFGjt2rLKysuTv73/K95iVlXVW58zhcOi6665Tenq6JkyYoHvvvVfFxcX69NNP9eOPPyo1NVWSNH36dL3++usaNWqUbr31VlVXV+urr77S+vXr1bdvX7fOf63x48erW7dueuqpp2QYhiTp008/VVZWlqZOnar4+Hj99NNPevnll/XTTz9p/fr1riB58OBBXXrppSosLNRtt92mHj166MCBA3r77bdVVlamlJQUDRo0SMuWLdOsWbPqvO6yZcsUFhamMWPGNKpuoEUxALilurraSEhIMAYMGFBn+0svvWRIMlatWmUYhmFUVFQYDoejzjHZ2dmG1Wo1HnvssTrbJBlLlixxbXvkkUeME/96btmyxZBk3HXXXXWe7+abbzYkGY888ohrW1lZWb2a161bZ0gy3njjDde2lStXGpKMzz//vN7xQ4YMMYYMGeK6v2jRIkOS8eabb7q2VVZWGgMGDDBCQ0MNm81W571ER0cbR48edR37/vvvG5KMDz/8sN5rnehsz9lrr71mSDKeffbZes/hdDoNwzCMzz77zJBkzJw585THNHTua518Xmv/TCZOnFjv2IbO+YoVKwxJxpdffunadssttxg+Pj7Gpk2bTlnT3/72N0OSsX37dte+yspKIyYmxpg8eXK9xwGtEZddADf5+vpqwoQJWrduXZ1LGcuXL1dcXJyGDRsmSbJarfLxqfkr5nA4VFBQoNDQUKWlpem7775z6zX/85//SJJmzpxZZ/t9991X79igoCDX71VVVSooKFDXrl0VGRnp9uue+Prx8fGaOHGia5u/v79mzpypkpISrVmzps7xN910k9q1a+e6f8UVV0iqadk4nbM9Z//85z8VExOje+65p95z1LYy/POf/5TFYtEjjzxyymMa44477qi37cRzXlFRoSNHjuiyyy6TJFfdTqdT7733nkaPHt1gq0tt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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_4730/1496020607.py:31: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.\n", " checkpoint = torch.load(\"best_model_weights_finetuning.pth\")\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "top-1 accuracy: 92.27%\n" ] } ], "source": [ "# TRANSFER LEARNING\n", "net_transfer = LeNet2().to(device)\n", "weights5digits = torch.load(\"best_model_weights.pth\")\n", "net_transfer.load_state_dict(weights5digits, strict=False)\n", "for param in [net_transfer.conv1.weight, net_transfer.conv1.bias, net_transfer.conv2.weight, net_transfer.conv2.bias]:\n", " param.requires_grad = False\n", "\n", "\n", "optimizer = torch.optim.SGD(net_transfer.parameters(), lr=learning_rate)\n", "\n", "metrics = {\n", " \"train_loss\": list(),\n", " \"train_accuracy\": list(),\n", " \"val_accuracy\": list()\n", "}\n", "for epoch in range(num_epochs):\n", " train_loss, train_acc = train_epoch(train_loader_all, net_transfer, optimizer, loss_fn)\n", " metrics[\"train_loss\"].append(train_loss)\n", " metrics[\"train_accuracy\"].append(train_acc)\n", " print(f\"Train epoch {epoch+1}: loss: {train_loss:.4f} ; top-1 accuracy: {train_acc:.2f}%\")\n", "\n", " val_acc = eval(val_loader_all, net_transfer)\n", " if epoch == 0 or max(metrics[\"val_accuracy\"]) < val_acc:\n", " torch.save(net_transfer.state_dict(), \"best_model_weights_finetuning.pth\")\n", " metrics[\"val_accuracy\"].append(val_acc)\n", " print(f\"Eval epoch {epoch+1}: top-1 accuracy: {val_acc:.2f}%\")\n", "\n", "plot_curve(\"Training loss\", metrics[\"train_loss\"])\n", "plot_curve(\"Training accuracy\", metrics[\"train_accuracy\"])\n", "plot_curve(\"Validation accuracy\", metrics[\"val_accuracy\"])\n", "checkpoint = torch.load(\"best_model_weights_finetuning.pth\")\n", "net_transfer.load_state_dict(checkpoint)\n", "test_acc = eval(test_loader, net_transfer)\n", "print(f\"top-1 accuracy: {test_acc:.2f}%\")" ] }, { "cell_type": "markdown", "id": "7c51046925f48bd0", "metadata": { "collapsed": false, "id": "7c51046925f48bd0" }, "source": [ "## Exercise on architecture\n", "\n", "Improve the architecture to have better results\n", "\n", "- Change the number of layers\n", "- Change the kind of layers, the number of channels/neurons per layer\n", "- Change the [Optimizer](https://pytorch.org/docs/stable/optim.html) / the learning rate\n", "- Add regularization techniques (normalization, dropout)\n", "- Change the activation functions (tanh, relu)" ] }, { "cell_type": "markdown", "id": "79c7ab4ab35d3cf", "metadata": { "collapsed": false, "id": "79c7ab4ab35d3cf" }, "source": [] } ], "metadata": { "accelerator": "GPU", "colab": { "gpuType": "T4", "provenance": [] }, "kernelspec": { "display_name": "course_DLV", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.15" } }, "nbformat": 4, "nbformat_minor": 5 }