https://github.com/rashad-malik/cifar-10-image-classification
A deep learning project implementing a custom neural network architecture for CIFAR-10 image classification, achieving 86.84% test accuracy through iterative improvements and optimisation techniques.
https://github.com/rashad-malik/cifar-10-image-classification
cifar10 computer-vision deep-learning image-classification machine-learning pytorch
Last synced: 5 months ago
JSON representation
A deep learning project implementing a custom neural network architecture for CIFAR-10 image classification, achieving 86.84% test accuracy through iterative improvements and optimisation techniques.
- Host: GitHub
- URL: https://github.com/rashad-malik/cifar-10-image-classification
- Owner: rashad-malik
- Created: 2025-10-20T11:32:39.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-20T11:49:01.000Z (9 months ago)
- Last Synced: 2025-10-20T13:28:48.708Z (9 months ago)
- Topics: cifar10, computer-vision, deep-learning, image-classification, machine-learning, pytorch
- Language: HTML
- Homepage: https://rashad-malik.github.io/CIFAR-10-Image-Classification/
- Size: 257 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CIFAR-10 Image Classification with Custom Neural Network Architecture
A deep learning project implementing a custom neural network architecture for CIFAR-10 image classification, achieving **86.84% test accuracy** through iterative improvements and optimisation techniques.
## 📋 Project Overview
This project demonstrates the development and optimisation of a neural network architecture called **RashadNet** for classifying images in the CIFAR-10 dataset. The architecture features a design with parallel convolutional paths and dynamic feature weighting, combined with modern training techniques to achieve strong performance.
## 🎯 Results
| Model Version | Key Features | Test Accuracy |
|--------------|--------------|---------------|
| Baseline | 3 blocks, basic architecture | 42.10% |
| First Wave | Data augmentation, batch norm, dropout, 6 blocks | 56.14% |
| **Final Model** | **Label smoothing, cosine annealing, MaxPool, 10 blocks** | **86.84%** |
## 🔧 Technologies Used
- **Python 3.11**
- **PyTorch**: Deep learning framework
- **torchvision**: Dataset loading and image transformations
- **matplotlib**: Visualisation
- **CUDA**: GPU acceleration
## 📊 Dataset
The [CIFAR-10 dataset](https://www.cs.toronto.edu/~kriz/cifar.html) contains:
- 60,000 32×32 colour images
- 10 classes: airplane, automobile, bird, cat, deer, dog, frog, horse, ship, truck
- 50,000 training images
- 10,000 test images
## 🚀 Key Features & Techniques
### Data Augmentation
- Random horizontal flips
- Random cropping with padding
- Normalisation to [-1, 1] range
### Regularisation
- Batch normalisation after convolutions
- Dropout (p=0.3) in output block
- Label smoothing (0.1)
### Training Optimisation
- Adam optimiser
- Cosine annealing learning rate scheduler
- Cross-entropy loss with label smoothing
### Architecture Enhancements
- Deeper network (10 intermediate blocks)
- Wider network (64 base channels)
- MaxPool downsampling for feature preservation
## 📁 Project Structure
```
CIFAR-10 Image Classification/
├── html_export/
│ └── CIFAR10_image_classification.html # Notebook exported as HTML
├── notebook/
│ └── CIFAR10_image_classification.ipynb # Main Jupyter notebook
└── README.md # Project documentation
```
## 🔬 Methodology
The project follows a structured approach:
1. **Dataset Preparation**: Loading and preprocessing CIFAR-10 with PyTorch DataLoaders
2. **Basic Architecture**: Implementing the custom RashadNet with intermediate blocks
3. **Training & Testing**: Establishing baseline performance and evaluation metrics
4. **Iterative Improvements**: Systematic enhancements through two major update waves
## 🙏 Acknowledgements
- CIFAR-10 dataset creators
- PyTorch community and documentation
- Inspiration from modern CNN architectures (ResNet, DenseNet, etc.)