This project involves implementing both a Fully Connected Neural Network (FCNN) and a Convolutional Neural Network (CNN) for classifying images from the CIFAR-10 dataset using TensorFlow. The main goal is to train and test these networks, while also performing hyperparameter search to optimize model performance.
- Setup
- Problem Statement
- Fully Connected Neural Network
- Convolutional Neural Network
- File Structure
- Submission
This project uses Python for implementation. Ensure that you are working within a virtual environment to avoid dependency issues.
-
Create a new virtual environment:
python -m venv env
-
Activate the virtual environment:
source env/bin/activate -
Install the required dependencies:
pip install tensorflow
We use the CIFAR-10 dataset for this project, which contains 50,000 32x32 color images across 10 classes. You can find more information about the dataset here: CIFAR-10 Dataset.
In this project, I have implemented a Fully Connected Neural Network (FCNN) and a Convolutional Neural Network (CNN) to classify images from the CIFAR-100 dataset.
- Fully Connected Neural Network:
- Implement a neural network with three linear layers.
- Complete the forward pass and apply the activation function (e.g., ReLU) to the first two layers.
- Train and test the model, then report the test accuracy.
- Convolutional Neural Network:
- Implement a CNN with three convolutional layers, followed by max pooling and a flatten layer.
- Apply activation functions to the convolutional layers.
- Complete the forward pass and ensure the model is correctly trained and tested.
- Hyperparameter Search:
- Explore various hyperparameters to optimize model performance.