Difference between revisions of "ML4T Software Setup"

From Quantitative Analysis Software Courses
Jump to navigation Jump to search
m (SSL certs have been fixed so that the git command line no longer needs to be insecure. Removed environment variable.)
(Updated instructions to reference t-square, and open up buffet04. Added updates section)
Line 1: Line 1:
 +
== Updates ==
 +
* Wed 24 Aug 2016 - All assignments will need to be submitted through T-square ([https://t-square.gatech.edu]) by the deadline. The feedback provided on the <tt>buffet0x</tt> machines is still provided as a courtesy, but '''you must submit your assignments to t-square'''. We will also run the autograding feedback system on all of the <tt>buffet0x</tt> machines, instead of only <tt>buffet04</tt>, since this feedback no longer has to be kept consistent across systems for grading purposes. These changes have been reflected in the instructions below.
 +
 
== Overview ==
 
== 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]].
+
As of Fall 2016, this class has implemented an automated assignment feedback 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===
 
===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.
+
* Your code '''MUST''' run properly on the Georgia Tech provided servers, and your code must be submitted to T-square. 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.
 
* 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==
 
==Access to machines at Georgia Tech==
  
There are 3 machines that will be accessible to students enrolled in the ML4T class via [https://en.wikipedia.org/wiki/Secure_Shell <tt>ssh</tt>]. 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:
+
There are 4 machines that will be accessible to students enrolled in the ML4T class via [https://en.wikipedia.org/wiki/Secure_Shell <tt>ssh</tt>]. 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 +
 
  xhost +
 
  ssh -X gtname@buffet0X.cc.gatech.edu
 
  ssh -X gtname@buffet0X.cc.gatech.edu
  
replacing the <tt>X</tt> in <tt>buffet0X</tt> 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 [http://www.putty.org/ putty]. In order to distribute workload across the machines, please use the specific machines as follows:
+
replacing the <tt>X</tt> in <tt>buffet0X</tt> with 1-4, 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 [http://www.putty.org/ 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
+
* buffet01.cc.gatech.edu if your last name begins with A-G
* buffet02.cc.gatech.edu if your last name begins with I-P
+
* buffet02.cc.gatech.edu if your last name begins with H-N
* buffet03.cc.gatech.edu if your last name begins with Q-Z
+
* buffet03.cc.gatech.edu if your last name begins with O-U
 +
* buffet04.cc.gatech.edu if your last name begins with V-Z
  
 
These machines use your GT login credentials.  
 
These machines use your GT login credentials.  
  
'''NOTE:''' The machine <tt>buffet04.cc.gatech.edu</tt> 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 <tt>buffet04</tt>.
+
'''NOTE:''' We reserve the right to limit login access or terminate processes to avoid resource contention with the autograder after assignment due dates, although we will endeavor to limit such interruptions.
  
 
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: [https://github.gatech.edu/tb34/ML4T_2016Fall/]. You can do this with the following command:
 
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: [https://github.gatech.edu/tb34/ML4T_2016Fall/]. You can do this with the following command:
Line 30: Line 34:
 
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.  
 
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.
+
'''NOTE:''' If you change or rename directory structure, the autograder will not be able to find your assignments and you will not get any feedback.
  
== Submitting assignments and getting feedback from the auto grader ==
+
== 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 <tt>buffet0X</tt> machines directly using a text editor such as <tt>gedit</tt>, <tt>nano</tt>, or <tt>vim</tt>. 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.
 
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 <tt>buffet0X</tt> machines directly using a text editor such as <tt>gedit</tt>, <tt>nano</tt>, or <tt>vim</tt>. 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 '<tt>GRADEME.txt</tt>' ('''case sensitive''') in the directory of the assignment you would like graded, and copy your assignments over to <tt>buffet04</tt>. Make sure you've logged in to <tt>buffet04</tt> at least once before you try to copy your files over.  
+
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 '<tt>GRADEME.txt</tt>' ('''case sensitive''') in the directory of the assignment you would like graded.  
  
 
The auto grader runs periodically, and if it finds the <tt>GRADEME.txt</tt> file in a students assignment directory, it will run the auto grader on that assignment, provide a <tt>score.txt</tt> and <tt>comments.txt</tt> file with more detailed information in the '''feedback/''' sub-directory of the assignment, and remove the <tt>GRADEME.txt</tt> file.
 
The auto grader runs periodically, and if it finds the <tt>GRADEME.txt</tt> file in a students assignment directory, it will run the auto grader on that assignment, provide a <tt>score.txt</tt> and <tt>comments.txt</tt> file with more detailed information in the '''feedback/''' sub-directory of the assignment, and remove the <tt>GRADEME.txt</tt> file.
  
Final submissions for an assignment are handled in the same way, except the <tt>GRADEME.txt</tt> file is ignored, and a snapshot of your assignment directory is saved for the record.
+
'''NOTE:''' The autograder will only remove the <tt>GRADEME.txt</tt> file once it has completed its run and copied it's files into the '''feedback/''' directory, so if you modify your code before this happens, the feedback may correspond to an earlier version of your code.

Revision as of 11:32, 24 August 2016

Updates

  • Wed 24 Aug 2016 - All assignments will need to be submitted through T-square ([1]) by the deadline. The feedback provided on the buffet0x machines is still provided as a courtesy, but you must submit your assignments to t-square. We will also run the autograding feedback system on all of the buffet0x machines, instead of only buffet04, since this feedback no longer has to be kept consistent across systems for grading purposes. These changes have been reflected in the instructions below.

Overview

As of Fall 2016, this class has implemented an automated assignment feedback 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 to T-square. 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

replacing the X in buffet0X with 1-4, 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-G
  • buffet02.cc.gatech.edu if your last name begins with H-N
  • buffet03.cc.gatech.edu if your last name begins with O-U
  • buffet04.cc.gatech.edu if your last name begins with V-Z

These machines use your GT login credentials.

NOTE: We reserve the right to limit login access or terminate processes to avoid resource contention with the autograder after assignment due dates, although we will endeavor to limit such interruptions.

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: [2]. 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 you will not get any feedback.

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.

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.

NOTE: The autograder will only remove the GRADEME.txt file once it has completed its run and copied it's files into the feedback/ directory, so if you modify your code before this happens, the feedback may correspond to an earlier version of your code.