Problem Statement
The Faces have been automatically registered so that the face is more or less centred and occupies about the same amount of space in each image. The task is to categorize each face based on the emotion shown in the facial expression into one of seven categories (0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral)
Dataset Description
Dataset: Fer.csv
Total Images: The Dataset consists of 28,709 examples
Fer.csv contains two columns, emotion, and pixels. The emotion column contains a numeric code ranging from 0 to 6, inclusive, for the emotion that is present in the image. The pixels column contains a string surrounded in quotes for each image Classes: 0=Angry, 1=Disgust, 2=Fear, 3=Happy, 4=Sad, 5=Surprise, 6=Neutral
Tasks to be performed
.ipynb file 1
Marks: 10
Do you get the same results if you run the Notebook multiple times without changing any parameters?
What is the effect of adding more neurons to each Conv2D layer?
What happens if we manipulate the value of dropout?
What is the effect of adding more activation layers to the network?
What is the accuracy score if we use more dense layers in the model?
Does manipulating the learning rate affect the model? Justify your answer.
ipynb file 2
Marks: 15
Try improving the model and re-code the program from scratch without looking too much at this source code
Add more Dense and Conv2D layers in the network
Try to use Different activation function • Increase the number of epochs to achieve high accuracy
Try to play with the learning rate to understand the concept
Write up a summary explaining how your program works
.ipynb file 3
Marks: 25
As a part of this assignment, you will be performing the following tasks:
Prepare a detailed python notebook (similar to this one) using convolutional neural network for classifying the images from Fer.csv with the best accuracy
Prepare the dataset for the model
Reshape and Normalize the data:
Hint: Split pixels by space to get columns
Reshape the Input Image (48, 48, 1)
Change the type of data to float32
Normalize and Train_Test Split
Hint: Normalize the data by dividing with 255
Split data into train and test (90, 10)
Define CNN Model
Layer 1
2 Conv2d with 64 filters of 5,5 filter
BatchNormalization layer
Max Pooling layer with 2,2
Activation Relu
Layer 2
2 Conv2d with 128 filters of 5,5 filter
BatchNormalization layer
Max Pooling layer with 2,2
Activation Relu
Layer 3
2 Conv2d with 256 liters of 3,3 filter
BatchNormalization layer
Max Pooling layer with 2,2
Activation Relu
Layer 4
Flatten Layer
Dense Layer with 128 Neuron
BatchNormalization
Activation Relu
Dropout 0.25
Dense seven neurons with Softmax
Loss: Categorical cross-entropy
Optimizer: Adam
If you need solution of the above problem or need any other help related to machine learning then contact us and get instant help with an affordable price.
Contact us or send your requirement details at:
realcode4you@gmail.com
Comments