Assignment 5
Assignment 5
1. What is a Convolutional Neural Network (CNN) and what makes it suitable for image-related
tasks?
2. What are filters (kernels) in a convolutional layer, and how are they used to extract features
from images?
5. Why is zero-padding used in Convolutional Layers, and what impact does it have on the
spatial arrangement?
7. If a Pooling Layer with a filter size of 2x2 and a stride of 2 is applied to an input volume of size
28x28x64, calculate the size of the output volume.
8. Given an input volume of size 32x32x3 and a Convolutional Layer with 32 filters of size 3x3
and a stride of 1, calculate the size of the output volume.
9. For a convolutional layer with 8 filters of size 3×3 and a depth of 3, calculate the total
number of parameters, including biases.
10. For a fully-connected layer connected to an input volume of 256 × 256 × 3 how many
weights and biases are needed if there are 100 neurons in the fully-connected layer?
Challenge 1: Image Classification using Convolutional Neural Networks (ConvNet)
Objective: Build a Convolutional Neural Network (ConvNet) for image classification using only
Convolutional (Conv), Pooling (Pool), and Fully-Connected (FC) layers. The task involves
classifying images from the CIFAR-10 dataset.
Requirements:
1. Create a ConvNet architecture with a combination of Convolutional, Pooling, and Fully-
Connected layers.
2. Train the model on the CIFAR-10 training dataset.
3. Save the trained model in a .h5 file.
4. Evaluate the model on the CIFAR-10 test dataset.
Hyperparameters to Experiment With:
• Number of Convolutional Layers
• Number of Filters in Convolutional Layers
• Size of Filters in Convolutional Layers
• Pooling Type and Size
• Number of Fully-Connected Layers
• Learning Rate
• Batch Size
• Number of Epochs
Submission Instructions:
1. Submit a Notebook (.ipynb) or Python script (.py) containing the complete code.
2. Save the trained model in a file named "yourname_model.h5".
3. Report the final test accuracy achieved by your model.