HW1

Due on Feb 10

  • You would need to complete Q.3 (softmax) and Q.4 (neural network) of assignment 1 of Stanford CS231n.

  • Since we don't have cloud service available, you have to run it locally. You may try to use commercial cloud also. Even for more powerful machine, I think Amazon Web Service (AWS) should be less than $1 per hour. You can check out this link too if you are interested. I am not sure about other service though.

  • I would also recommend Anaconda as the Stanford folks suggest. Note that you should install the 2.7 version though. And I don't think you can install the requirements on Windows. I didn't try Mac but it kinds of work on my Xubuntu 16.04.

  • Supposingly, after installing Anaconda, you can just run “pip install -r requirements.txt” (requirements.txt is under the assignment1 folder after you unzip the package). However, I did come across several issues installing the requirements over a freshly installed Anaconda on Xubuntu 16.04. As I guess you may come into the same troubles, I would like to share the experience with you all below.

    • Note that there is a duplicate requirement of the pillow library in requirements.txt. You will need to remove one of those. I removed the the older one and it seems fine.

    • It complained with freetype library. You can fix it with sudo apt-get install libfreetype6-dev libxft-dev following this post.

    • There was also a complaint of ncurses library. You can fix it with sudo apt-get install lib32ncurses5-dev

    • Then I had problem starting jupyter. It appears to be a libzmq issue. You can fix this with pip install -U zmq. And as a rule of thumb, if you got complaints for a particular library. Just try to install the latest version with pip install -U. It usually solves the issue.

    • Last but not least, remember to grab the cifar10 dataset. You should run get_datasets.sh under assignment1/cs231n/datasets (i.e., sh ./get_datasets.sh).

  • As an incentive for you guys to start and finish early, there is a 3% (of everything) bonus for the first one to complete and work perfectly.