Skip to content

duke-mlss/Duke-NLP-WS-2020

Repository files navigation

Duke Natural Language Processing Winter School 2020

Welcome to the Duke Natural Language Processing Winter School 2020! This repository will contain the lecture materials and assignments for the hands-on PyTorch sessions.

While there is no hard requirement to attend these sessions or complete the exercises, we do strongly recommend them! Many of the machine learning concepts being covered thoughout the course are best learned and reinforced by implementing the ideas in code yourself. Please come with a laptop ready to code!

Before you arrive

Required

Please have Python 3+ and PyTorch installed. We will be doing a lot of our development in IPython notebooks, so you'll likely want to have Jupyter installed as well, or have access to Colab. If you don't already have the aforementioned software installed, please go through the notebook labeled 0A_PyTorch_Installation.ipynb. Installing these should take about 5-10 minutes.

Optional

Given the pace of the course, we'll be assuming some background knowledge for scientific computing in Python. If you are unfamiliar with IPython notebooks or Python coding environments, a brief introduction can be found in 0B_Coding_Environments.ipynb.

If you haven't used Python before, or want a refresher, we recommend Python Like You Mean It, by Ryan Soklaski. This free e-book consists of five short modules introducing Python for scientific computing and data analysis. Modules 1 and 2, on installing Python and Python essentials, will be especially useful. Module 3, which concerns the manipulation of matrices and vectors in Python, is very relevant but optional reading, as we will also be covering those topics in our sessions. Alternatively, we provide a quick crash course in 0C_Python_Prerequisites.ipynb.

The easiest way to download these materials is to click the green "Clone or download" button near the top of this GitHub repo, and then Download ZIP. However, we may update the materials in this GitHub repository as the course goes on. If you're familiar with Git, the most seamless way to keep your files up-to-date is by cloning/forking this repository and pulling. Alternatively, you can re-download this repo periodically, but you'll end up with duplicates.