A comprehensive, modular project for learning and implementing Convolutional Neural Networks (CNNs) from classical architectures to modern designs. This project serves as both a learning resource and a reference implementation for academic and professional purposes.
This repository is designed to guide learners through key milestones in CNN development, starting from LeNet-5 and progressing through AlexNet, VGG, ResNet, DenseNet, MobileNet, EfficientNet, ConvNeXt, and specialized architectures like Capsule Networks.
The project emphasizes:
- Hands-on implementation: Build each architecture from scratch using PyTorch.
- Modular design: Easily experiment with models, datasets, and training routines.
- Learning focus: Understand the principles behind architectural innovations.
notebooks/ # Jupyter notebooks for guided experiments
data/ # Raw and processed datasets
src/ # Core modules: models, trainers, evaluators, utils
experiments/ # Saved checkpoints, logs, and results
scripts/ # Run scripts for training and evaluation
tests/ # Unit tests for project modules
- Implementation of classical to modern CNN architectures.
- Modular training and evaluation pipelines.
- Dataset handling and preprocessing utilities.
- Visualization of training curves, filters, and feature maps.
- Reproducible experiments with checkpointing and logs.
- Classification: Foundation of vision modelling
- Detection: From what to where
- Segmentation: From where to which pixels
- Recognition: From pixels to meaning