Deep Learning Assignment 1:
Datasets × Architectures Benchmark
Overview
In this assignment, you will train and evaluate three different neural network architectures
on three different datasets. The goal is to understand how data modality and model
inductive bias interact, and to practice building reproducible, well‑evaluated deep learning
experiments.
You will run 9 total experiments (3 datasets × 3 architectures), compare results, and analyze
why certain architectures perform better on certain datasets.
Submission
● Upload the project and [Link] on github. The Readme file must include steps to
reproduce/run the experiments. Also, it should include dataset description, architecture
insights and their effectiveness for particular datasets. Finally the result summary and
take aways from the assignment.
● Submit the github link on moodle.
Good luck—and remember: bad results with good explanations score higher than good
results with no insight.
Learning Objectives
By the end of this assignment, you should be able to:
● Preprocess datasets for different modalities (tabular, image, sequence)
● Implement multiple neural architectures in a modern DL framework
● Train, validate, and test models consistently
● Compare models using quantitative metrics and qualitative reasoning
● Write a clear experimental analysis
Datasets
Dataset A — Tabular Data: UCI Adult Income
● Task: Binary classification (income >50K)
● Input: Mixed numerical + categorical features
● Output: Binary label
● Metric: Accuracy, F1-score
Dataset B — Image Data: CIFAR-100
● Task: Multi-class image classification (10 classes)
● Input: 32×32 RGB images
● Output: Class label (0–9)
● Metric: Accuracy
Dataset C - PatchCamelyon (PCam) Dataset
PatchCamelyon (PCam) is a publicly available biomedical image dataset derived from the
CAMELYON16 challenge, designed for histopathology image classification.
Overview
● Modality: Histopathology (H&E-stained tissue)
● Task: Binary image classification
○ 0 → normal tissue
○ 1 → tumor tissue
● Image size: 96 × 96 RGB patches
● Number of images: ~327,000
● Label type: Image-level binary labels
● Data source: Extracted from whole-slide lymph node images
Architectures
- First two are mandatory and third one is Bonus/Optional
Architecture 1 — Multilayer Perceptron (MLP)
● Fully connected feedforward network
● Minimum:
○ Input layer
○ 2 hidden layers (ReLU)
○ Output layer
● Apply dropout and/or batch normalization
Used on: All three datasets (after appropriate preprocessing)
Architecture 2 — Convolutional Neural Network (CNN)
● At least:
○ 2 convolutional layers
○ Pooling layers
○ Fully connected classifier head
Used on:
● All three datasets
Architecture 3 — Attention-Based or Deep Feature Model (Bonus)
Choose ONE:
● Transformer-style encoder on tabular features
● TabNet-style or attention-based MLP
● Vision Transformer (ViT-style) for images
Used on: Image datasets
Experimental Requirements
Training Setup (Must Be Consistent)
● Train/validation/test split (or predefined splits)
● Same optimizer family across models (e.g., Adam)
● Include in config file:
○ Learning rate
○ Batch size
○ Number of epochs
○ Early stopping criteria (if used)
Evaluation
For each of the 9 experiments, report:
● Final test metric(s)
● Training time
● Training vs validation curves
Deliverables
1. Code (50%)
● Clean, modular code
● Provide flexibility to change configuration like architecture,data sets, batch size etc.
through config file.
2. Results Table (15%)
Create a table like:
Dataset Architecture Accuracy F1 Notes
Adult MLP
Adult CNN
Adult Attention-based
CIFAR-10 MLP
CIFAR-10 CNN
CIFAR-10 Attention-based
3. Analysis Report (35%)
It can include:
● Objective and learning outcome of the assignment.
● How the code was designed or split into modules.
● What kind of datasets and architecture has been used.
● Finally the result and take aways from the experiments.
Most importantly, use your own judgment to share insight about your work in the best possible
way. The audience is the github community or someone who is just starting in deep learning
with little to no knowledge .
Constraints
● Framework: PyTorch
● No pretrained models
● Maximum training time per model: 1 hour (CPU/GPU)
● No hyperparameter search libraries
Bonus (Optional, +10%)
● Learning curve comparison plots
● Parameter count vs performance analysis
● Weight visualization (CNN filters or embeddings)