Building and Evaluating a Convolutional Neural Network (CNN) in Python CO3113
- University :
others Exam Question Bank is not sponsored or endorsed by this college or university.
- Country :
United Kingdom
CO3113/CO7113 Assignment 1
This coursework contributes 10% towards your CO3113 marks. All requirements are compulsory and must be implemented.
Plagiarism and Collusion
Plagiarism and/or collusion will result in penalties that might go beyond this assignment: https://www2.le.ac.uk/offices/sas2/assessments/plagiarism/penalties.
Late Submission and Mitigating Circumstance
Late submission penalties will be applied. Read the sections on late coursework submission in your student handbook or here: https://www2.le.ac.uk/offices/sas2/assessments/late-submission.
Accepted mitigating circumstances are the only way to waive late submission penalties: https://www2.le.ac.uk/offices/sas2/regulations/mitigating-circumstances.
Submission Instructions
Submit your solution on Blackboard by Thursday the 14th of February, 17:00 UK time. Submissions will not be accepted by any other means (e.g., via email).
- You must submit a single ipynb The file name must be your usernames (i.e., ka388).
- You may try it as many times as you like before the Only the last submission attempt will be marked.
- Code must execute without modifications. Your project must execute If not, you will lose 20% of the marks assigned to this part of the coursework.
- You must write your The submitted code from any existing sources will be treated as plagiarism and receives 0 marks.
AI Policy
Red light for the Generative AI tools, which means Generative AI tools, such as ChatGPT, shall not be used. This is an assessment of the independent critical thinking and core theoretical understanding, which includes the core theory and programming skill assessment. Therefore, the students must demonstrate the core knowledge and independent understanding without the aid of AI.
Task and Marking Scheme
This assignment requires to build a Convolutional Neural Network (CNN) with a usable dataloader, proper structure design, and output with the expected size. Any unsuccessful implementation of the requirements will obtain no marks for that part.
Part |
Requirements |
1. Dataloader of MNIST dataset. |
With appropriate data normalization. (10%) Data batches can be directly fed into the CNN. (10%) |
2. Convolutional Neural Network |
First convolutional layer with a 5x5 kernel, 16 output channels, a padding of 1, followed by a max pooling operation. (10%) Second convolutional layer with a 3x3 kernel, 32 output channels, 0 padding, followed by a mean pooling operation. (10%) Third convolutional layer with a 1x1 kernel, 64 output channels, 0 padding, dropout with 0.3, and a sigmoid activation function. (10%) First fully connected layer with 120 output channels, and a RELU activation function. (10%) Second fully connected layer with 60 output channels, and a RELU activation function. (10%) Third fully connected layer with 10 output channels. (10%) |
3. Output |
After feeding the data into your CNN model, there is no error and the network produces an output with 10 dimensions. You must print out the output size in your submission by using the print() function in python. (20%) |