These tutorials have been merged into the official PyTorch tutorials. Please go there for better maintained versions of these tutorials compatible with newer versions of PyTorch.
Learn PyTorch with project-based tutorials. These tutorials demonstrate modern techniques with readable code and use regular data from the internet.
Tutorials
Series 1: RNNs for NLP
Applying recurrent neural networks to natural language tasks, from classification to generation.
- Classifying Names with a Character-Level RNN
- Generating Shakespeare with a Character-Level RNN
- Generating Names with a Conditional Character-Level RNN
- Translation with a Sequence to Sequence Network and Attention
- Exploring Word Vectors with GloVe
- WIP Sentiment Analysis with a Word-Level RNN and GloVe Embeddings
Series 2: RNNs for timeseries data
- WIP Predicting discrete events with an RNN
Get Started
The quickest way to run these on a fresh Linux or Mac machine is to install Anaconda:
curl -LO https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh
bash Anaconda3-4.3.0-Linux-x86_64.sh
Then install PyTorch:
conda install pytorch -c soumith
Then clone this repo and start Jupyter Notebook:
git clone http://github.com/spro/practical-pytorch
cd practical-pytorch
jupyter notebook
Recommended Reading
PyTorch basics
- http://pytorch.org/ For installation instructions
- Offical PyTorch tutorials for more tutorials (some of these tutorials are included there)
- Deep Learning with PyTorch: A 60-minute Blitz to get started with PyTorch in general
- Introduction to PyTorch for former Torchies if you are a former Lua Torch user
- jcjohnson's PyTorch examples for a more in depth overview (including custom modules and autograd functions)
Recurrent Neural Networks
- The Unreasonable Effectiveness of Recurrent Neural Networks shows a bunch of real life examples
- Deep Learning, NLP, and Representations for an overview on word embeddings and RNNs for NLP
- Understanding LSTM Networks is about LSTMs work specifically, but also informative about RNNs in general
Machine translation
- Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
- Sequence to Sequence Learning with Neural Networks
Attention models
- Neural Machine Translation by Jointly Learning to Align and Translate
- Effective Approaches to Attention-based Neural Machine Translation
Other RNN uses
Other PyTorch tutorials
Feedback
If you have ideas or find mistakes please leave a note.