This repository focuses on classifying images from the CIFAR-100 dataset using convolutional neural networks (CNNs) built with the PyTorch library. The CIFAR-100 dataset is a challenging benchmark for image classification, containing 100 diverse classes grouped into 20 superclasses.
- Training and Testing Images: Each class contains 500 training images and 100 testing images.
 - Classes and Superclasses: The dataset includes 100 fine-grained classes, further grouped into 20 broader superclasses.
 - Labeling:
- Fine labels: Specify the exact class of the image.
 - Coarse labels: Indicate the superclass to which the image belongs.
 
 
- Dataset Division: The training dataset is divided into two subsets:
- A sub-training set.
 - A validation set (20% of the training data).
 
 - Fine Label Prediction: The model is designed to predict the fine labels (class) rather than the coarse labels (superclass).
 - Model Experimentation:
- Experiment with various activation functions, optimizers, hyperparameters, and architectures.
 
 - Model Selection:
- Identify the top three models based on performance on the validation set.
 
 - Full Training:
- Retrain the top three models using the entire training dataset.
 
 - Accuracy Testing:
- Evaluate and compare test accuracy for each model.
 
 - Benchmarking:
- Compare model performance against others on the CIFAR-100 leaderboard (considering only models without additional training data).
 
 - Reporting:
- Provide a detailed report covering:
- Activation functions, optimizers, hyperparameters, and architectures used.
 - Test accuracy results.
 - Benchmarking outcomes.
 - Total number of parameters for each model.
 
 
 - Provide a detailed report covering: