D.A. Forsyth --- 3310 Siebel Center
TA's:
- MCS-DS version of the course
- Krishna Kothapalli Lead
- Daniel Calzada
- Taiyu Dong
- Shreya Rajpal
- Ehsan Saleh
- Online version of the course
- In person version of the course
- Christopher Benson
- Ji Li
- Maghav Kumar
You may do this homework in groups of up to 3 contributors. Groups of 1 or
of 2 are just fine, too. A group can
consist of any mixture of any type of student (MSCS-DS/Online/Face). We do not offer coordination services for complex
group interactions, and you may want to take this into account when forming your
group.
Homework 9 (Take home Final): Due 10 May 2018 23h59 (Thur; midnight)
No late submissions, resubmissions, etc.! Notice that the last part is required for students taking the 4-hour version of the course. It is optional for students taking the 3-hour version of the course. If you are doing the 3-hour version of the course, we cannot offer you credit for doing this part, however you may very well enjoy it, and it will do you a great deal of good if you take it seriously.
Convolutional neural networks: Tensorflow is an environment for building, among other things, neural networks. You can build multilayer networks; convolutional layers; and residual networks using tensorflow.
There is a tool called tensorboard, which will display the progress of learning. This homework does not require a GPU, and you will not be graded on the accuracy of your final classifier (other than perhaps losing points if it is wholly inconsistent with a reasonable number).
- Obtain and install Tensorflow, here. Be aware the install can be exciting (I had to update
a variety of packages to install, discovered that 1.7 caused my mac to barf, and went to 1.5; tensorflow then yelled at me because "Your CPU supports instructions that this TensorFlow binary was not compiled to use" but nothing bad has happened so far).
- Go through the MNIST tutorial here. You may find the tensorboard tutorial here. helpful. Insert appropriate lines of code into the tensorflow example to log the accuracy on tensorboard every 100 batches, for at least 2000 batches. You should screen capture the accuracy graph from tensorboard, and submit this.
- Modify the architecture that is offered in the MNIST tutorial to get the best accuracy you can. I made three convolutional layers of smaller depth (i.e. the 32 went to 8), dropped the max pooling, and used three layers.
Submit a screen capture of tensorboard graphs of accuracy. We will make it possible for people to compare graphs anonymously. This is to allow people to show off how well their model is doing, and see how others are doing; it's not required, and won't be graded, but it's been a source of fun and excitement in the past.
- Here is how to submit graphs for comparision. Go to this Google form and supply what it asks for.
- On that page, you'll see a link to results; press that, and you'll get a collection of tensorboard graphs that have been submitted
- Go through the CIFAR-10 tutorial here, and ensure you can run the code. Note the warning at the top: "This tutorial is intended for advanced users of TensorFlow and assumes expertise and experience in machine learning." Enjoy the sense that you are one of these. Finally, insert appropriate lines of code into the tensorflow example to log the accuracy on tensorboard every 100 batches, for at least 2000 batches. You should screen capture the accuracy graph from tensorboard, and submit this.
- If you are taking the 4-hour (online) version of this class, this is required. For all others, this part is optional. Modify the architecture that is offered in the CIFAR-10 tutorial to get the best accuracy you can. Anything better than about 93.5% will be comparable with current research. Be aware that people with bigger computers will likely do better at this exercise (so I won't make grades depend on accuracy). Submit a screen capture of tensorboard graphs of accuracy. We will make it possible for people to compare these graphs anonymously.This is to allow people to show off how well their model is doing, and see how others are doing; it's not required, and won't be graded, but it's been a source of fun and excitement in the past.
- Here is how to submit graphs for comparision. Go to this Google form and supply what it asks for.
- On that page, you'll see a link to results; press that, and you'll get a collection of tensorboard graphs that have been submitted. There may be two junk PDF's submitted by DAF to test the system; you can ignore those.