ML4T Software Setup

From Quantitative Analysis Software Courses
Revision as of 18:29, 6 July 2016 by Bhrolenok3 (talk | contribs) (New auto grading description and installation instructions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

As of Fall 2016, this class uses an automated assignment submission and grading process which requires students to use the servers provided by Georgia Tech. Since these servers have already been configured with all necessary libraries, setup has been reduced to simply checking out a single git repository, which will be covered below. For students with sporadic internet access who would like a local installation of the software, the instructions from previous semesters are available here: ML4T_Software_Installation.

Important Notes

  • Your code MUST run properly on the Georgia Tech provided servers. If you do not test your code on the provided machines it may not run correctly in our auto grader. If your code fails to run on the provided servers, you will not get credit for the assignment. So it is very important that you ensure that you have access to, and that your code runs correctly on, these machines.
  • We use a specific, static dataset for this course, which is provided as part of the repository detailed below. If you download your own data from Yahoo (or elsewhere), you will get wrong answers on assignments.

Access to machines at Georgia Tech

There are 4 machines that will be accessible to students enrolled in the ML4T class via ssh. These machines may not be available until the second week of class; we will make an announcement once they are ready, and if at that time you are still unable to log in, please contact us. If you are using a Unix based operating system, such as Ubuntu or Mac OS X, you already have an ssh client, and you can connect to one of the servers by opening up a terminal and typing:

xhost +
ssh -X gtname@buffet0X.cc.gatech.edu

You will then be asked for your password and be logged in. Windows users may have to install an ssh client such as putty. In order to distribute workload across the machines, please use the specific machines as follows:

  • buffet01.cc.gatech.edu if your last name begins with A-F
  • buffet02.cc.gatech.edu if your last name begins with G-L
  • buffet03.cc.gatech.edu if your last name begins with M-R
  • buffet04.cc.gatech.edu if your last name begins with S-Z

These machines use your GT login credentials.

After you've successfully logged in, you will need to clone the following git repository containing all of the template code and data into your home directory: [1]. You can do this with the following command:

git clone git@github.gatech.edu:tb34/ML4T_2016Fall.git

again providing your GT login credentials when asked for. Make sure you check out the repository into your home directory (not any sub-directory), and that you do not change the name of the folder. Our auto grader will only check for submissions in this specific location of your home directory.

Submitting assignments and getting feedback from the auto grader

The repository you've just cloned contains the data and template code for all assignments. To complete the assignments you'll need to modify the templates according to the assignment description. You can do this on the buffet0x machines directly using a text editor such as gedit, nano, or vim. Or you can copy the file to your local machine, edit them in your favorite text editor or IDE, and upload them back to the server. Make sure to test run your code on the server after making changes to catch any typos or other bugs.

After you are satisfied that your program contains no obvious errors, you can have it tested by our auto grading script to make sure it passes all of our test cases. To do this, simply create an empty text file in the assignment directory named 'GRADEME.txt' (case sensitive). The auto grader runs periodically (once every minute), and if it finds the GRADEME.txt file in a students assignment directory, it will run the auto grader on that assignment, provide a score.txt and comments.txt file with more detailed information in the feedback/ sub-directory of the assignment, and remove the GRADEME.txt file.

Final submissions for an assignment are handled in the same way, except the GRADEME.txt file is ignored (so you don't have to worry about making sure the file is there when the due date passes), and a snapshot of your assignment directory is saved for the record.