Here’s a list of frequently asked questions (FAQ).
If you have any questions that you think somebody else might have already asked, go through the list, and maybe you will find an answer here.
About Submission:
Q: For the code, is it allowed to have some source code, such as utility functions as `*.py` and just have import x for the notebook submission? It doesn’t make sense to have a huge notebook just for the sake of exporting it to one PDF.
A: You should upload your code to GitHub and link to it in the report though.
Q: For the report on the practical part. Does each team member submit a copy of it to gradescope or is it enough for just one person to do it for all?
A: One person submits it and gradescope allows you to specify who your team members are. There is a "Group Members" button as shown here: https://www.ugrad.cs.ubc.ca/~cs221/2018W2/info/gs-submission/#adding-partners-to-gradescope
Q: Do we need to write separate reports for the practical part? Or it’s OK if we write reports in the notebook and then export a pdf.
A: Submit both answers to the theory part and the report for the programming part to Gradescope. If you are using Jupyter notebook, make sure to export it as a pdf file and submit it as a report via Gradescope.
General Assignment Questions:
Q: In one of the questions of the theoretical part, the operation e^(-x) is not defined when x is a n-dimensional vector.
A: Conventionally, that means “apply the function elementwise”. Same thing applies to activation functions (such as logistic sigmoid).
Q: Would that be possible to have an extension for assignment x so that we can use an extra week-end
A: You should consult the lecturer (Aaron) via email about this. Note that it might come with some penalty.
Q: Is it a must that we submit the reports in Latex format?
A: It's very strongly encouraged, but no it is not specifically required to be Latex.
Q: Do we have any bonus question among the questions in theoretical or practical part?
A: Unless it is specified, no.
Q: The office hours do not work for everyone that is taking “some classes” as they must be at “somewhere else” at this time.
A: It is very hard (impossible actually) to find a time that did not conflict somewhat for someone. We're sorry for the conflict, and we're also available on Slack to answer questions. Feel free to ping the TAs if you want to schedule a meeting other than the official office hours.
Q: When the assignment asks us to use SGD, should we use the exact SGD (one data point at a time) or we can use sgd with mini-batch?
A: Unless it is specified, you can and are encouraged to use mini-batch.
Q: Are we allowed to use higher level wrapper (like Keras for exemple) or only either Tensorflow or PyTorch?
A: You can use whatever library you want, where it’s not specified. However, for some problems you might be asked to carry out the operations using the low-level functions in TF or PyTorch only.
Assignment 1:
Q: What exactly can I use and can’t I use for the in-class Kaggle?
A: https://www.kaggle.com/c/ift6135h19/rules
Q: Are we allowed to change the skeleton of the NN class provided in the github (https://github.com/CW-Huang/IFT6135H19_assignment/blob/master/assignment1.ipynb) for problem 1?
A: You can make small modifications to the template if you prefer.
Q: Are we allowed to use the pytorch dataset for MNIST?
A: Sure, but note that it doesn’t come with a validation set. In some of the questions you need to do hyperparameter search and you need to evaluate your model based on the valid set. You may use the code that we provide (https://github.com/CW-Huang/IFT6135H19_assignment/blob/master/download.py).