Minicourse in Deep Learning with PyTorch
Jupyter Notebook Python
Switch branches/tags
Nothing to show
Clone or download
Atcold Update
Punctuation fix
Latest commit e647dfe Aug 8, 2018


Minicourse in Deep Learning with PyTorch Binder

These lessons, developed during the course of several years while I've been teaching at Purdue and NYU, are here proposed for the Computational and Data Science for High Energy Physics (CoDaS-HEP) summer school at Princeton University. I'll upload the videos and link to them as soon as they are made available to me. I'm also planning to record them in a more quiet environment and at a slower pace, add them to my YouTube channel, and made available here.

Table of contents

T: theory (slides and animations)
P: practice (Jupyter Notebooks)

  1. T Learning paradigms: supervised-, unsupervised-, and reinforcement-learning
  2. P Getting started with the tools: Jupyter notebook, PyTorch tensors and autodifferentiation
  3. T+P Neural net's forward and backward propagation for classification
  4. T+P Convolutional neural nets improve performance by exploiting data nature
  5. T+P Unsupervised learning: vanilla and variational autoencoders, generative adversarial nets
  6. T+P Recurrent nets natively support sequential data

Sessions and relative material

  1. Time slot 1 (1h30min + 45 min = 2h15min) on Tuesday afternoon
    Topics: 1, 2, 3.
    Slides: 01 - ML and spiral classification.
    Notebooks: 01, 02, 03, 04.
    Video: coming soon.
  2. Time slot 2 (1h30min + 45 min = 2h15min) on Wednesday afternoon
    Topics: 4.
    Slides: 02 - CNN.
    Notebooks: 05.
    Video: coming soon.
  3. Extra section (45min) on Thursday afternoon
    Topics: 5.
    Slides: 03 - Generative models.
    Notebooks: 06, 07.
    Video: coming soon.
  4. Extra section (1h30min) on Friday morning
    Topics: 6.
    Slides: 04 - RNN.
    Notebooks: 08-1, 08-2, 08-3, 08-4.
    Video: coming soon.

Notebooks visualisation

Jupyter Notebooks are used throughout these lectures for interactive data exploration and visualisation.

I use dark styles for both GitHub and Jupyter Notebook. You better do the same, or they will look ugly. To see the content appropriately install the following:

Media coverage

  • Princeton Research Computing article;
  • Princeton University main page article.

Keeping in touch

Feel free to follow me on Twitter and subscribe to my YouTube channel to have the latest free educational material.

Getting started

To be able to follow the workshop exercises, you are going to need a laptop with Miniconda (a minimal version of Anaconda) and several Python packages installed. Following instruction would work as is for Mac or Ubuntu linux users, Windows users would need to install and work in the Gitbash terminal.

Download and install Miniconda

Please go to the Anaconda website. Download and install the latest Miniconda version for Python 3.6 for your operating system.

wget <http:// link to miniconda>
sh <miniconda .sh>

After that, type:

conda --help

and read the manual.

Check-out the git repository with the exercise

Once Miniconda is ready, checkout the course repository and and proceed with setting up the environment:

git clone

If you do not have git and do not wish to install it, just download the repository as zip, and unpack it:

#For Mac users:
#curl -O

Create isolated Miniconda environment

Change into the course folder, then type:

#cd PyTorch-Deep-Learning-Minicourse
conda env create -f environment.yml
source activate codas-ml

Enable anaconda kernel in Jupyter

To make newly created miniconda environment visible in the Jupyter, install ipykernel:

python -m ipykernel install --user --name codas-ml --display-name "Codas ML"

Start jupyter notebook

If you are working in a JupyterLab container double click on "Files" tab in the upper right corner. Locate first notebook, double click to open. Do not attempt to start jupyter from the terminal window.

If working on a laptop, start from terminal as usual:

jupyter notebook