From 7ea607016038f4f92ab771a1962ab1148414877a Mon Sep 17 00:00:00 2001 From: franksim Date: Thu, 23 Oct 2025 13:09:42 +0000 Subject: [PATCH 1/2] assignment-a2: adds solution --- mmp/a2/main.py | 121 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 114 insertions(+), 7 deletions(-) diff --git a/mmp/a2/main.py b/mmp/a2/main.py index 0102036..49451db 100644 --- a/mmp/a2/main.py +++ b/mmp/a2/main.py @@ -3,6 +3,16 @@ import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader +from torchvision import models, datasets, transforms +from torchvision.models import MobileNet_V2_Weights +import logging + +logging.basicConfig( + level=logging.INFO, + format='[%(asctime)s] %(levelname)s: %(message)s', + datefmt='%H:%M:%S' +) +logger = logging.getLogger(__name__) # these are the labels from the Cifar10 dataset: CLASSES = ( @@ -23,10 +33,20 @@ class MmpNet(nn.Module): """Exercise 2.1""" def __init__(self, num_classes: int): - raise NotImplementedError() + super().__init__() + self.mobilenet = models.mobilenet_v2( + weights=MobileNet_V2_Weights.DEFAULT) + self.classifier = nn.Sequential( + nn.Dropout(0.2), + nn.Linear(self.mobilenet.last_channel, num_classes), + ) def forward(self, x: torch.Tensor): - raise NotImplementedError() + x = self.mobilenet.features(x) + x = nn.functional.adaptive_avg_pool2d(x, (1, 1)) + x = torch.flatten(x, 1) + x = self.classifier(x) + return x def get_dataloader( @@ -39,7 +59,26 @@ def get_dataloader( @param batch_size: Batch size for the data loader @param num_workers: Number of workers for the data loader """ - raise NotImplementedError() + transform = transforms.Compose([ + transforms.ToTensor(), + transforms.Normalize( + mean=[0.4914, 0.4822, 0.4465], + std=[0.2023, 0.1994, 0.2010] + ), + ]) + dataset = datasets.CIFAR10( + root=data_root, + train=is_train, + download=True, + transform=transform + ) + dataloader = DataLoader( + dataset, batch_size=batch_size, + shuffle=is_train, + num_workers=num_workers, + pin_memory=True + ) + return dataloader def get_criterion_optimizer(model: nn.Module) -> Tuple[nn.Module, optim.Optimizer]: @@ -48,7 +87,17 @@ def get_criterion_optimizer(model: nn.Module) -> Tuple[nn.Module, optim.Optimize @param model: The model that is being trained. @return: Returns a tuple of the criterion and the optimizer. """ - raise NotImplementedError() + error_function = nn.CrossEntropyLoss() + epsilon = 0.004 + optimizer = torch.optim.SGD(model.parameters(), lr=epsilon) + return (error_function, optimizer) + + +def log_epoch_progress(epoch: int, total_epochs: int, phase: str): + if phase == "start": + logger.info(f"Epoch {epoch + 1}/{total_epochs} started.") + elif phase == "end": + logger.info(f"Epoch {epoch + 1}/{total_epochs} completed.") def train_epoch( @@ -66,7 +115,29 @@ def train_epoch( @param optimizer: Executes the update step @param device: The device where the epoch should run on """ - raise NotImplementedError() + model.train() + running_loss = 0.0 + log_interval = max(len(loader) // 5, 1) + + for batch_idx, (inputs, labels) in enumerate(loader, 1): + inputs = inputs.to(device) + labels = labels.to(device) + + optimizer.zero_grad() + outputs = model(inputs) + loss = criterion(outputs, labels) + loss.backward() + optimizer.step() + running_loss += loss.item() * inputs.size(0) + + if batch_idx % log_interval == 0 or batch_idx == len(loader): + avg_batch_loss = running_loss / (batch_idx * loader.batch_size) + logger.info( + f" [Batch {batch_idx}/{len(loader)}] Train Loss: {avg_batch_loss:.4f}") + + epoch_loss = running_loss / len(loader.dataset) + logger.info(f" ---> Train Loss (Epoch): {epoch_loss:.4f}") + return epoch_loss def eval_epoch(model: nn.Module, loader: DataLoader, device: torch.device) -> float: @@ -77,12 +148,48 @@ def eval_epoch(model: nn.Module, loader: DataLoader, device: torch.device) -> fl @param device: The device where the epoch should run on @return: Returns the accuracy over the full validation dataset as a float.""" - raise NotImplementedError() + model.eval() + correct = 0 + total = 0 + + with torch.no_grad(): + for inputs, labels in loader: + inputs = inputs.to(device) + labels = labels.to(device) + outputs = model(inputs) + _, preds = outputs.max(1) + correct += (preds == labels).sum().item() + total += labels.size(0) + + accuracy = correct / total if total > 0 else 0.0 + logger.info(f" ---> Eval Accuracy: {accuracy * 100:.2f}%") + return float(accuracy) def main(): """Exercise 2.3d""" - raise NotImplementedError() + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + train_epochs = 10 + model = MmpNet(num_classes=10).to(device=device) + dataloader_train = get_dataloader(True, "../../.data", 32, 6) + dataloader_eval = get_dataloader(False, "../../.data", 32, 6) + criterion, optimizer = get_criterion_optimizer(model=model) + + for epoche in range(train_epochs): + log_epoch_progress(epoche, train_epochs, "start") + train_epoch( + model=model, + loader=dataloader_train, + optimizer=optimizer, + device=device, + criterion=criterion, + ) + eval_epoch( + model=model, + loader=dataloader_eval, + device=device + ) + log_epoch_progress(epoche, train_epochs, "end") if __name__ == "__main__": From 9e92418406d47ec8ab7fdf554321353d3e6fcf3e Mon Sep 17 00:00:00 2001 From: franksim Date: Thu, 23 Oct 2025 13:16:28 +0000 Subject: [PATCH 2/2] assignment-a2: adds latex document --- mmp/a2/document.pdf | Bin 0 -> 79916 bytes mmp/a2/document.tex | 69 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 mmp/a2/document.pdf create mode 100644 mmp/a2/document.tex diff --git a/mmp/a2/document.pdf b/mmp/a2/document.pdf new file mode 100644 index 0000000000000000000000000000000000000000..99b731dcfdbd72245d23af80be58f845fced42b6 GIT binary patch literal 79916 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
OUP*zUJ?(J%ksqk)BcpU}m_v(GD=g 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 literal 0 HcmV?d00001 diff --git a/mmp/a2/document.tex b/mmp/a2/document.tex new file mode 100644 index 0000000..59114cb --- /dev/null +++ b/mmp/a2/document.tex @@ -0,0 +1,69 @@ +\documentclass[11pt,a4paper]{article} + +% Language and encoding settings +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[english]{babel} + +% Page formatting +\usepackage[left=1in, right=1in, top=1in, bottom=1in]{geometry} +\usepackage{setspace} +\onehalfspacing + +% Header/Footer +\usepackage{fancyhdr} +\pagestyle{fancy} +\fancyhf{} % clear all header and footer fields +\fancyhead[L]{\textbf{\course}} +\fancyhead[C]{Assignment \assignmentnumber} +\fancyhead[R]{\name} +\fancyfoot[C]{\thepage} + +% Other packages +\usepackage{enumitem} + +% Custom commands for easy detail insertion +\newcommand{\assignmentnumber}{02} % <-- CHANGE Assignment Number +\newcommand{\name}{Simon Franken} % <-- CHANGE YOUR NAME +\newcommand{\course}{Multimedia Project WiSe 2526} % <-- CHANGE COURSE NAME +\newcommand{\duedate}{2025-10-29} % <-- CHANGE DUE DATE + +% Title formatting +\usepackage{titling} +\pretitle{ + \vspace*{2cm} + \begin{center} + \LARGE\bfseries +} +\posttitle{\par\end{center}\vspace{1cm}} + +\begin{document} + +\title{Assignment \assignmentnumber} +\author{\name} +\date{\duedate} + +\maketitle + +\begin{center} + \textbf{Course:} \course +\end{center} +\vspace{0.5cm} + +%------------------ START OF ASSIGNMENT ----------------------- + +% Write your solutions below + +\section*{Exercise 2.3 Training} + +\begin{tabular}{|c||c|} + \hline Batch size & 64 \\ + \hline Training epoches & 10 \\ + \hline Loss & 0.6720 \\ + \hline Accuracy & 77.78 \% \\ + \hline +\end{tabular} + +%------------------ END OF ASSIGNMENT ----------------------- + +\end{document} \ No newline at end of file