Last updated: 3/18 (Mon) 11:59 PM PST. Details: We enhanced the integration with CodaLab, and fixed some API inconsistencies.
Due Date: 3/17 (Fri) 11:59 PM PST.
Hard deadline: 3/20 (Mon) 11:59 PM PST with 3 late days. Assignments turned in past the hard deadline will not be accepted.

Check out the Assignment 4 SQuAD leaderboard:

You are becoming a researcher in NLP with Deep Learning with this programming assignment! You will implement a neural network architecture for Reading Comprehension using the recently published Stanford Question Answering Dataset (SQuAD).


Note: Please be sure you have Python 2.7.x installed on your system. The following instructions should work on Mac or Linux. If you have any trouble getting set up, please come to office hours and the TAs will be happy to help.

Get the code: Download the starter code here and the assignment handout here.

Python package requirements: The core requirements for this assignment are

  • tensorflow
  • nltk
  • tqdm
  • joblib

If you have a recent linux (Ubuntu 14.04 and later) install or Mac OS X, the default TensorFlow installation directions will work well for you. If not, we recommed that you work on the corn clusters. TensorFlow is already installed for the system default python on corn.

We will also be providing access to GPU computing facilities on Microsoft Azure. Details on how to access these facilities will be uploaded soon.

Submitting your work

Tutorial: codalab submission instructions

Video Tutorial:

This is the first assignment where you can code (almost) anywhere you want. The submission guideline will be almost identical to the submission of final project. We will share more details on Piazza.

The only submission difference between this assignment and final project is that we also ask you to submit to CodaLab. We are releasing a detailed tutorial on Piazza soon, so stay tuned. Note that you need to submit to CodaLab in order to be graded. Unsubmitted models will not receive grades.

Having an identical submission requirement to final project means that you must prepare a poster and present as the poster session as well.

Assignment Overview

Everything you need to start doing the assignment is detailed in the assignment handout. We are not setting explicit tasks for this assignment. We only provide starter code for general APIs, data preprocessing, and evaluation.