This repository contains the implementation of an Image Classifier using Convolutional Neural Networks (CNN) built using Keras and TensorFlow. The project focuses on classifying images from the CIFAR-10 dataset.
The CIFAR-10 dataset consists of 60,000 32x32 color images in 10 classes, with 6,000 images per class. There are 50,000 training images and 10,000 test images. The dataset is divided into five training batches and one test batch, each with 10,000 images. The test batch contains exactly 1,000 randomly-selected images from each class. The training batches contain the remaining images in random order, but some training batches may contain more images from one class than another. Between them, the training batches contain exactly 5,000 images from each class.
- Python 3.x
- TensorFlow
- Keras
- NumPy
- Matplotlib
- Clone this repository to your local machine.
- Install the required dependencies using pip: pip install -r requirements.txt
- Run the main script: python image_classifier_cnn.py
- image_classifier_cnn.py: Main script for training and evaluating the CNN model.
- requirements.txt: Contains the required dependencies for this project.
The implemented CNN consists of several convolutional and pooling layers, followed by fully connected layers and a final softmax activation function for classification. The architecture was designed to achieve high accuracy while minimizing overfitting through the use of dropout layers.
The model achieves competitive accuracy on the CIFAR-10 test dataset. Detailed results, including training and validation loss and accuracy, are displayed in the form of plots.