## TensorFlow Tutorial - used by Nvidia

Learn TensorFlow from scratch by examples and visualizations with interactive jupyter notebooks. Learn to compete in the Kaggle leaf detection challenge!

All exercises are designed to be run from a CPU on a laptop, but can be accelerated with GPU resources.

Lab 1-4 was used in the Deep Learning using TensorFlow in London by Nvidia and Persontyle

## Credits

Labs 1, 2, 3 and 5 have been translated from Theano/Lasagne with minor modifications from the following repositories: Nvidia Summer Camp and 02456 deep learning. Original authors: skaae, casperkaae and larsmaaloee.

Thanks to professor Ole Winther for supervision and sponsoring the labs.

## Setup and Installation

Guides for downloading and installing TensorFlow on Linux, OSX and Windows using Docker can be found here.

## Material

The material consists of 5 labs.

### Lab1 - FFN

Logistic regression, feed forward neural network (FFN) on the (in)famous MNIST!

Optional reading material from Michael Nielsen chapters 1-4 (Do 3-5 of the optional exercises).

### Lab2 - CNN

Convolutional Neural Network (CNN) and Spatial Transformer on images.

Optional reading material from Michael Nielsen chapter 6 (stop when reaching section called Other approaches to deep neural nets).

### Lab3 - RNN

Recurrent Neural Network (RNN) on Translation using Encoder-Decoder model and Encoder-Decoder with attention.

Optional reading material from Alex Graves chapters 3.1, 3.2 and 4,

### Lab4 - Kaggle

Compete in the kaggle competition Leaf Classification using FFN, CNN and RNN.

### Lab5 - AE

Unsupervised learning with autoencoder (AE) reconstructing the MNIST from only two latent variables.

Optional reading material from deeplearningbook.org chapter 14.