A modular PyTorch project for experimenting with Convolutional Neural Networks (CNNs) on the CIFAR-10 image classification dataset.
CIFAR10_Classifier/
├── images/
│ └── baseline/
│ ├── Model Performance.png
│ └── Training and Validation Metrics.png
├── models/
│ └── CIFAR_Baseline.pt
├── notebooks/
│ ├── cnn.ipynb
│ └── data_exploration.ipynb
├── README.md
├── requirements.txt
└── src/
├── dataset.py
├── engine.py
├── metrics.py
├── models.py
└── plots.py
- Python
- PyTorch
- TorchVision
- TorchMetrics
- Pandas
- Matplotlib
- Jupyter Notebook
Clone the repository:
git clone https://github.com/VRYeshwanth/CIFAR10_Classifier.git
cd CIFAR10_ClassifierCreate a virtual environment:
python -m venv venvActivate the virtual environment:
Windows
venv\Scripts\activateLinux / MacOS
source venv/bin/activateInstall the dependencies:
pip install -r requirements.txtDownload the CIFAR-10 dataset and place the extracted training images and labels inside:
cifar-10/
├── train/
└── trainLabels.csv
The original CIFAR-10 training set was split into stratified training, validation, and test sets:
- Train: 40,000 images
- Validation: 10,000 images
- Test: 10,000 images
The processed dataset is available as a GitHub Release: