Code and notebooks for the deep learning course dataflowr
- Module 1: Introduction & General Overview
- Intro: finetuning VGG for dogs vs cats 01_intro.ipynb
- Practical: Using CNN for more dogs and cats 01_practical_empty.ipynb
- Module 2: Pytorch tensors and automatic differentiation
- Basics on PyTorch tensors and automatic differentiation 02a_basics.ipynb
- Linear regression from numpy to pytorch 02b_linear_reg.ipynb
- Practical: implementing backprop from scratch 02_backprop.ipynb
- Bonus: intro to JAX: autodiff the functional way autodiff_functional_empty.ipynb and its solution autodiff_functional_sol.ipynb
- Bonus: Linear regression in JAX linear_regression_jax.ipynb
- Bonus: automatic differentiation with dual numbers AD_with_dual_numbers_Julia.ipynb
- Homework 1: MLP from scratch
- Module 3: Loss functions for classification
- An explanation of underfitting and overfitting with polynomial regression 03_polynomial_regression.ipynb
- Module 4: Optimization for deep leaning
- Practical: code Adagrad, RMSProp, Adam, AMSGrad 04_gradient_descent_optimization_algorithms_empty.ipynb
- Module 5: Stacking layers
- Practical: overfitting a MLP on CIFAR10 Stacking_layers_MLP_CIFAR10.ipynb
- Module 6: Convolutional neural network
- Practical: build a simple digit recognizer with CNN 06_convolution_digit_recognizer.ipynb
- Homework 2: Class Activation Map and adversarial examples
- Module 7: Dataloading
- Module 8: Embedding layers, Collaborative filtering and Word2vec
- Practical: Collaborative filtering with Movielens 100k dataset 08_collaborative_filtering_empty.ipynb
- Practical: Refactoring code, collaborative filtering with Movielens 1M dataset 08_collaborative_filtering_1M.ipynb
- Practical: Word Embedding (word2vec) in PyTorch 08_Word2vec_pytorch_empty.ipynb
- Finding Synonyms and Analogies with Glove 08_Playing_with_word_embedding.ipynb
- Module 9a: Autoencoders
- Practical: denoising autoencoder (with convolutions and transposed convolutions) 09_AE_NoisyAE.ipynb
- UNet for image segmentation UNet_image_seg.ipynb
- Module 9b - Flows
- implementing Real NVP Normalizing_flows_empty.ipynb and its solution Normalizing_flows_sol.ipynb
- TBC
Archives are available on the archive-2020 branch.
If you want to run locally:
python3 -m venv dldiy # If you want to install packages in a virtualenv
source dldiy/bin/activate
pip install -r requirements.txt # Install PyTorch and others
python -m notebook # Run notebook environment