ML4T Software Setup

From Quantitative Analysis Software Courses
Revision as of 13:43, 17 August 2016 by Bhrolenok3 (talk | contribs) (SSL certs have been fixed so that the git command line no longer needs to be insecure. Removed environment variable.)
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, and your code must be submitted on the GT 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 3 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

replacing the X in buffet0X with 1-3, as detailed below. 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-H
  • buffet02.cc.gatech.edu if your last name begins with I-P
  • buffet03.cc.gatech.edu if your last name begins with Q-Z

These machines use your GT login credentials.

NOTE: The machine buffet04.cc.gatech.edu will also accept your GT login credentials, but we ask that you limit use of this machine to submitting assignments and checking feedback from the autograder, as detailed below. We reserve the right to limit login access or terminate processes to avoid resource contention with the autograder on buffet04.

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 https://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.

NOTE: If you change or rename directory structure, the autograder will not be able to find your assignments and will treat them as unsubmitted.

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 named 'GRADEME.txt' (case sensitive) in the directory of the assignment you would like graded, and copy your assignments over to buffet04. Make sure you've logged in to buffet04 at least once before you try to copy your files over.

The auto grader runs periodically, 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, and a snapshot of your assignment directory is saved for the record.