ECBM E4040 Deep Learning and Neural Networks - 2022 Fall
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
ECBM E4040 Deep Learning and Neural Networks - 2022 Fall
Final Project Instructions for ECBM E4040
Project Proposals for Topics Outside of the Paper List Provided by the Instructors 5
Document Revisions
● 10/18/2022 - updated for 2022 fall
● 10/14/2021 - updated for 2021 Fall
● 4/9/2021 - updated for 2021 Spring
Final Project Instructions
In a nutshell
A group (team) of up to 3 students needs to: (a) do a comprehensive review of one deep learning paper, (b) reproduce the results of the paper by recreating the neural network model and the results using Tensorflow and Python code, (c) document the project and its results in a detailed report, including the comparison between the obtained results and the results in the original paper.
Option I: Students work on a paper recommended by instructors. The instructors have compiled a list of papers that will provide students with good exposure to applications of deep learning. See the list of proposed papers in the spreadsheet shared with students. In this case, a project proposal does not need to be written.
Option II: Students work on a paper chosen by themselves. In this case, a project proposal needs to be written by students, and approved by instructors. See further instructions at the bottom of this document.
Instructions
Teams: Students need to form teams of up to 3 members. Students need to record their project (paper) names and team IDs (project ID/group ID) in the spreadsheet (spreadsheetE4040_20xxFall_studentInformation, tab *.ProjectTeams). If you need to find partners to complete the team, indicate in the sheet, and work through email and Piazza to find partners.
Tools and Code: Tools that can be used are TensorFlow1.13 (until 2019) or TensorFlow2.0 (or versions after 2.0 if advised by instructors), and Keras. Code submission has to contain the requirements file listing the tools used in the project. Tools other than TensorFlow and Keras can not be used. Various papers may have online code, students are not allowed to copy online code, they must write their own code demonstrating that with many code comments, unique variable names, etc.
Content of the Report
Final report needs to summarize the original paper, provide a brief review of the relevant literature, and present the details of the students’ project work and results. Students’ results need to show figures, plots, tables, running times. In particular, the paper needs to show the accuracy and differences between the results of the original paper and results obtained by the student group (team). The report needs to provide a comprehensive discussion of the results and comparison against the original paper: (i) discuss whether you were able to get the same, better or worse results than those described in the paper, (ii) justify why, (iii) provide a discussion on what can be done to improve your results; (iv) discuss what insights you were able to gain from your implementation/experimentations. See other details in the grading summary.
Format of the Report
For the content of the report, the students have to use the report template
“ E4040.20xxFall.ZTCN.report.rt5560.yy4490.zk2172(Template)” (located in google directory E4040.20xxFall.studentProjects). This is a two-column conference style IEEE paper template (This template is a modified IEEE Conference Paper Format https://www.ieee.org/conferences/publishing/templates.html). The first part of the report needs to describe the original paper - this part should be written in a third person voice (“they” , “authors of the original paper” ), whereas the students’ work needs to be written in the first person voice (“students” , “I” , “We” ). Throughout the paper, clear statements need to be made about what E4040 students did, and how their work is similar or different from the original paper. The report should be no less than 4 pages long. In the final section of the report the students need to summarize, in a table, the contributions of each team member by stating which parts of the work, code and project report have been done by which individual (to show individual student contributions in fractions).
Report Name
The name of the file containing the report has to follow this format
E4040.20xxFall.teamID.report.UNI1.UNI2.UNI
(example: E4040.2019Fall.ZTCN.report.rt5560.yy4490.zk2172)
● Project report can be written as a google doc, MS word, latex or other. It must meet the template and content requirements shared with students.
● Project report needs to be saved in adobe *.pdf format, using the naming format described above“E4040.2019Fall.teamID.report.UNI1.UNI2.UNI.pdf” . It must be (i) uploaded into the courseworks (every team member needs to upload into her/his courseworks); (ii) uploaded into the project github as well.
● Code (which resides in python files and jupyter notebooks) needs to be
uploaded/committed into the private group (team) Github Classroom repo. Follow the instructions on the github classroom - README file. The instructors will enable the groups (teams) repos, which will have to be named per instructions in the github. The code needs to be runnable by TAs.
● Submission of the model needs to be committed to the github classroom repo, (for one group (team) there is one github repo)
○ Under the private GROUP (team) github classroom repository for your project
■ The instructors will enable the groups (team) repos, which will have to be named per instructions in the github
● Datasets: Some datasets will be very large and therefore the datasets should not be uploaded into the courseworks (this will be penalized). They may also be too big for the github repo. When datasets are public and available for download over the web, it is enough to have proper code in python/jupyter notebooks for fetching the code. If the project is using a private dataset, try to upload into github if the size permits. In all cases, the README file has to provide detailed information where the datasets are, how they can be accessed, and how they are used.
○ If some part of your project is too large for github (a very large model), upload it into your liondrive (google drive), and make the link to it accessible to [email protected]. Provide the information about the link in your README file, code comments, report, ...
Code
The code needs to be written by students and located and managed in the github classroom repo.The code needs to be written competently, commented extensively, and be well-organized into files, directories and subdirectories. The organization of the code should follow the examples in the assignments - several python subdirectories with python files and a jupyter notebook as the main UI file. At least one file needs to be a jupyter notebook file. Jupyter notebook code needs to be functional so that it can be used by instructors to run your code, and thereby reproduce and verify some of the students’ results. The notebook needs to have plenty of comments, and contain some of the key results including the figures with results. At the highest level (root directory), there must be a README file, describing the following: instructions how to run the code, the name of the main jupyter notebook, description of key functions of each file in the project, location of the datasets, organization of directories and any other supporting information.
The instructors do investigate if there is code available online for papers/publications suggested for projects, and/or for projects proposed by students. You are not allowed to reuse any code available online. You are expected to implement the final project in its entirety by yourself. You may reuse the code from homework assignments with proper references to it both inside your code and in the report.
If some parts of the code have similarity to or in some way originate from online resources, this needs to be commented extensively and original code must be referenced in multiple places - both throughout your code and in the report.
If the rules are not followed, your code is likely to be declared as plagiarism.
Project due date will be announced in the courseworks (and/or github classroom). Project proposals are not needed for papers which are on the instructors’ list of papers.
Grading components for project evaluation (tentative)
1. OVERALL CONTENT (~25%):
a. Review of literature
b. Description of the problem
c. Description of student’s implementation
d. Flowcharts and block diagrams - student’s implementation
e. Figures
f. Quality of writing
2. RESULTS (~25%):
a. Accuracy
b. Training times
c. Effort in optimizing results
d. Figures
e. Tables
3. DISCUSSION (~25%):
a. Discussion of results
b. Comparison with other paper(s)
c. Discussion of problems faced
d. Discussion of insights gained
4. CODE (~25%):
a. README content
b. File organization
c. Code comments
d. Code works
e. Code is original, not plagiarized
Project Proposals for Topics Outside of the Paper List Provided by the Instructors
Option I: Proposals are not required if students are working on a paper suggested by instructors.
Option II: Proposals are required if students would like to work on a paper outside of the list provided by the instructors.
Instructions for Project Proposals (for papers outside of the suggested list)
The proposals must be in the form of a Google doc, so that the instructors can comment online. The google doc must be in the course google drive.
If your team would like to work on a project outside of the list of papers provided by the instructors, you will have to write a proposal describing why you think that the paper is relevant and reproducible, and get the project approved by the instructors.
The proposal has to be written in the google doc format, and deposited in the prescribed directory:
● Go to google directory:
E4040_20xxFall_studentDocuments/E4040.20xxFall.studentProjects/
● Find google doc named E4040.20xxFall.ZTCN.proposal.xxxx.yyyy.zk2172(Template). This is the template for the proposal.
● Copy that google doc into the same directory, as google doc, and rename it with proper identifiers (group ID, UNIs). Change permissions to that file (permissions may be already set) so that your group (team) of project collaborators can edit it, and that
[email protected] can edit as well.
● Populate that google doc with your proposal.
○ The total length of the proposal should be about one page.
● You need to state/list what code may be publicly available on the web, github, bitbucket or similar, including if you may have knowledge of or access to project work from other students
● Enter relevant data including project name, link, groupID (team ID) into the spreadsheet E4040_20xxFall_studentInformation” tab “*ProjectTeams”
2022-12-28