This repository contains four Deep Learning assignment notebooks covering custom data loading, image/audio classification, autoencoders, conditional GANs, and time-series forecasting.
Deep-Learning/
├── Assignment1/
│ └── code.ipynb
├── Assignment2/
│ ├── code.ipynb
│ ├── auto_encoder.pth
│ ├── auto_encoder.png
│ ├── variational_auto_encoder.pth
│ └── variational_auto_encoder.png
├── Assignment3/
│ ├── Assignment3.pdf
│ └── code.ipynb
└── Assignment4/
└── code.ipynb
The notebooks are designed for Python 3 and Google Colab-style execution. Most notebooks install their own dependencies in the first code cell.
Core packages used across the repository:
torch==2.1.2torchvision==0.16.2torchaudio==2.1.2numpy==1.25.2pandas==2.2.3matplotlib==3.9.4soundfile==0.13.0scikit-image==0.21.0tqdm==4.67.1scikit-learn,h5py, andgdownfor Assignment 3
Recommended workflow:
- Open the target notebook in Google Colab or Jupyter.
- Run the dependency installation cell.
- Place the required data in the expected directory layout described below.
- Run the notebook top-to-bottom.
Notebook: Assignment1/code.ipynb
Topics covered:
- Manual
SpeechCommandDatasetimplementation. - Manual
FashionMNISTDatasetimplementation. - Custom
DataLoaderand collate functions without usingtorch.utils.data.DataLoader. - Benchmarking custom data loading.
- MLP classifiers for Speech Commands and FashionMNIST.
- CNN classifiers using ResNet-style and Inception-style blocks.
- Bonus very-deep MLP/CNN models for FashionMNIST.
Expected data layout:
Assignment1/
└── data/
├── speech_commands_v0.01/
│ ├── training_list.txt
│ ├── testing_list.txt
│ └── <label>/*.wav
└── fashion-mnist/
├── fashion-mnist_train.csv
└── fashion-mnist_test.csv
Main outputs:
- Training/validation loss and accuracy plots.
- Optional bonus plots:
q4_bonus_mlp_fashion_mnist.pngq4_bonus_cnn_fashion_mnist.png
Notebook: Assignment2/code.ipynb
Topics covered:
- Paired FashionMNIST image-restoration dataset.
- Generic convolutional encoder and decoder.
- AutoEncoder training and reporting.
- Variational AutoEncoder training and reporting.
- Bonus Conditional Variational AutoEncoder.
- SSIM-based evaluation and training curves.
Expected data layout:
Assignment2/
└── data/
├── train/
│ ├── aug/
│ └── clean/
└── test/
├── aug/
└── clean/
Tracked generated artifacts:
Assignment2/auto_encoder.pthAssignment2/auto_encoder.pngAssignment2/variational_auto_encoder.pthAssignment2/variational_auto_encoder.png
Additional generated artifacts:
conditional_variational_auto_encoder.pthconditional_variational_auto_encoder.png
Specification: Assignment3/Assignment3.pdf
Notebook: Assignment3/code.ipynb
Task summary:
- Train a conditional GAN for Oxford-102 flower image generation from text descriptions.
- Use a Source Encoder to produce image representations.
- Use a Target Generator conditioned on source representations and text encodings.
- Use a Discriminator to distinguish generated and real images.
- Select 20 classes for training and 5 classes for testing.
- Train all parameters from scratch; no pretrained checkpoints are used.
The notebook includes:
- Data download/setup using
gdownand HDF5. - Vocabulary and raw-caption text encoder.
- Source Encoder, Target Generator, and Discriminator definitions.
- Training loop with adversarial, reconstruction, feature-matching, and contrastive objectives.
- Testing section that generates a 5x5 image grid, plots 3D t-SNE embeddings, and reports parameter/model-size statistics.
Generated outputs are written under:
Assignment3/checkpoints/
Typical files include model checkpoints, training curves, generated grids, t-SNE plots, and model statistics.
Notebook: Assignment4/code.ipynb
Task summary:
- Train an autoregressive LSTM model for
ASIANPAINT.NS15-minute closing-price prediction. - Predict the next 5 trading days, i.e.
5 * 25 = 125values. - Save the trained model weights for evaluation.
Expected runtime files:
Assignment4/
├── past_5_days.csv
└── next_5_days.csv
Expected CSV columns:
DatetimeClose
Generated artifacts:
trained_lstm.pthlstm_training.pnglstm_prediction.pngtraining_prices.csv
The notebook can also attempt to fetch recent ASIANPAINT.NS history from Yahoo Finance when internet access is available.
- Run each notebook from inside its own assignment directory unless paths are adjusted.
- Data directories are not committed to this repository.
- Large generated model files should be regenerated when changing model architecture or hyperparameters.
- Assignment 3 is intended for GPU-backed Colab execution.
- Assignment 4 depends on fresh market data; evaluation quality depends on the supplied
past_5_days.csvandnext_5_days.csv.