Skip to content

AliHamzaAzam/image-classification-cnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CNN Image Classification on CIFAR-10

A Convolutional Neural Network (CNN) implementation for image classification using the CIFAR-10 dataset with PyTorch.

Features

  • Custom FlexibleCNN architecture with configurable layers, filters, and dropout
  • Training and evaluation utilities with comprehensive metrics
  • Feature map visualization to understand CNN layer activations
  • Hyperparameter ablation study (learning rate, batch size, filters, layers)
  • Confusion matrix and per-class performance analysis

Project Structure

image-classification-cnn/
├── cifar10_cnn.ipynb    # Main notebook with implementation
├── RESULTS.md           # Detailed results and ablation study
├── requirements.txt     # Python dependencies
└── README.md

Installation

pip install -r requirements.txt

Usage

Open cifar10_cnn.ipynb in Jupyter Notebook or JupyterLab and run all cells.

The notebook will:

  1. Load CIFAR-10 from Hugging Face datasets
  2. Build and train a baseline CNN model
  3. Evaluate with confusion matrix and classification metrics
  4. Visualize feature maps from convolutional layers
  5. Perform ablation study on hyperparameters

Model Architecture

FlexibleCNN(
  Conv2d(3, 32, kernel_size=3, padding=1) -> ReLU -> MaxPool2d
  Conv2d(32, 64, kernel_size=3, padding=1) -> ReLU
  Flatten -> Dropout(0.5) -> Linear(512) -> ReLU -> Dropout(0.5) -> Linear(10)
)

Results

See RESULTS.md for detailed performance metrics and ablation study findings.

Quick summary: Achieved 78.54% accuracy on CIFAR-10 test set with optimized hyperparameters.

License

MIT License - Ali Hamza Azam, 2025

About

CNN implementation for CIFAR-10 image classification with hyperparameter ablation study.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published