Home

Awesome

Welcome to Université Laval's CVSL PyTorch tutorial!

The goal of this tutorial is to give a quick overview of PyTorch to computer vision, graphics and machine learning researchers. It targets people already accustomed with basic neural network theory and with some other neural networks frameworks like Keras+Tensorflow, Theano, Caffe and the like. We cover the basic PyTorch features that allows tinkering, tweaking and understanding alongside inference and training.

This repository is a companion for a 90 minutes long presentation in an execute-along format for the attendees. Two datasets are used, MNIST (provided by torchvision) and the Kaggle's Dogs vs Cats Redux dataset. Please download the dataset and unzip it in a folder called ./cats_and_dogs/.

The proposed architectures are definitely not optimal for the given tasks, they are only presented for teaching purposes.

I highly recommend the very good PyTorch examples of Justin Johnson to get an overview of all the rest offered in PyTorch, like custom layers, custom autograd functions, the optimizers, etc.

Summary

Goals:

Not (specifically) covered:

Requirements

All the examples were developed for PyTorch 1.2 on Python 3.7.

For the last examples, the cats vs dogs redux dataset is needed.

List of examples

All the examples in presentation order:

Here is the output from example6_features.py: Feature vector example

Contributing

You are welcome to propose pull requests to this repository on github!