A collection of various deep learning architectures, models, and tips for TensorFlow and PyTorch in Jupyter Notebooks.
Traditional Machine Learning
Title
Dataset
Description
Notebooks
Perceptron
2D toy data
TBD
PyTorch TensorFlow
Logistic Regression
2D toy data
TBD
PyTorch TensorFlow
Softmax Regression (Multinomial Logistic Regression)
MNIST
TBD
PyTorch TensorFlow
Softmax Regression with MLxtend's plot_decision_regions on Iris
Iris
TBD
PyTorch
Convolutional Neural Networks
Title
Dataset
Description
Notebooks
Replacing Fully-Connected by Equivalent Convolutional Layers
TBD
TBD
PyTorch
Title
Dataset
Description
Notebooks
"All Convolutionl Net" -- A Fully Convolutional Neural Network
TBD
TBD
PyTorch Lightning PyTorch
Ordinal Regression and Deep Learning
Please note that the following notebooks below provide reference implementations to use the respective methods. They are not performance benchmarks.
Title
Dataset
Description
Notebooks
BatchNorm before and after Activation for Network-in-Network CIFAR-10 Classifier
TBD
TBD
PyTorch
Filter Response Normalization for Network-in-Network CIFAR-10 Classifier
TBD
TBD
PyTorch
Title
Dataset
Description
Notebooks
Siamese Network with Multilayer Perceptrons
TBD
TBD
TensorFlow
Fully-connected Autoencoders
Convolutional Autoencoders
Title
Dataset
Description
Notebooks
Convolutional Autoencoder with Deconvolutions / Transposed Convolutions
TBD
TBD
PyTorch TensorFlow
Convolutional Autoencoder with Deconvolutions and Continuous Jaccard Distance
TBD
TBD
PyTorch
Convolutional Autoencoder with Deconvolutions (without pooling operations)
TBD
TBD
PyTorch
Convolutional Autoencoder with Nearest-neighbor Interpolation
TBD
TBD
PyTorch TensorFlow
Convolutional Autoencoder with Nearest-neighbor Interpolation -- Trained on CelebA
TBD
TBD
PyTorch
Convolutional Autoencoder with Nearest-neighbor Interpolation -- Trained on Quickdraw
TBD
TBD
PyTorch
Title
Dataset
Description
Notebooks
Variational Autoencoder
TBD
TBD
PyTorch
Convolutional Variational Autoencoder
TBD
TBD
PyTorch
Conditional Variational Autoencoders
Title
Dataset
Description
Notebooks
Conditional Variational Autoencoder (with labels in reconstruction loss)
TBD
TBD
PyTorch
Conditional Variational Autoencoder (without labels in reconstruction loss)
TBD
TBD
PyTorch
Convolutional Conditional Variational Autoencoder (with labels in reconstruction loss)
TBD
TBD
PyTorch
Convolutional Conditional Variational Autoencoder (without labels in reconstruction loss)
TBD
TBD
PyTorch
Generative Adversarial Networks (GANs)
Title
Dataset
Description
Notebooks
Fully Connected GAN on MNIST
TBD
TBD
PyTorch TensorFlow
Fully Connected Wasserstein GAN on MNIST
TBD
TBD
PyTorch
Convolutional GAN on MNIST
TBD
TBD
PyTorch TensorFlow
Convolutional GAN on MNIST with Label Smoothing
TBD
TBD
PyTorch TensorFlow
Convolutional Wasserstein GAN on MNIST
TBD
TBD
PyTorch
Deep Convolutional GAN (DCGAN) on Cats and Dogs Images
TBD
TBD
PyTorch
Deep Convolutional GAN (DCGAN) on CelebA Face Images
TBD
TBD
PyTorch
Graph Neural Networks (GNNs)
Title
Dataset
Description
Notebooks
Most Basic Graph Neural Network with Gaussian Filter on MNIST
TBD
TBD
PyTorch
Basic Graph Neural Network with Edge Prediction on MNIST
TBD
TBD
PyTorch
Basic Graph Neural Network with Spectral Graph Convolution on MNIST
TBD
TBD
PyTorch
Recurrent Neural Networks (RNNs)
Many-to-one: Sentiment Analysis / Classification
Title
Dataset
Description
Notebooks
A simple single-layer RNN (IMDB)
TBD
TBD
PyTorch
A simple single-layer RNN with packed sequences to ignore padding characters (IMDB)
TBD
TBD
PyTorch
RNN with LSTM cells (IMDB)
TBD
TBD
PyTorch
RNN with LSTM cells (IMDB) and pre-trained GloVe word vectors
TBD
TBD
PyTorch
RNN with LSTM cells and Own Dataset in CSV Format (IMDB)
TBD
TBD
PyTorch
RNN with GRU cells (IMDB)
TBD
TBD
PyTorch
Multilayer bi-directional RNN (IMDB)
TBD
TBD
PyTorch
Bidirectional Multi-layer RNN with LSTM with Own Dataset in CSV Format (AG News)
TBD
TBD
PyTorch
Many-to-Many / Sequence-to-Sequence
Title
Dataset
Description
Notebooks
A simple character RNN to generate new text (Charles Dickens)
TBD
TBD
PyTorch
Title
Dataset
Description
Notebooks
Baseline CNN
MNIST
A simple baseline with traditional train/validation/test splits
PyTorch PyTorch Lightning
K-fold with pl_cross
MNIST
A 5-fold cross-validation run using the pl_cross library
PyTorch Lightning
Title
Dataset
Description
Notebooks
AutoAugment & TrivialAugment for Image Data
CIFAR-10
Trains a ResNet-18 using AutoAugment and TrivialAugment
PyTorch Lightning
Title
Dataset
Description
Notebooks
Cyclical Learning Rate
TBD
TBD
PyTorch
Annealing with Increasing the Batch Size (w. CIFAR-10 & AlexNet)
TBD
TBD
PyTorch
Gradient Clipping (w. MLP on MNIST)
TBD
TBD
PyTorch
Title
Dataset
Description
Notebooks
Transfer Learning Example (VGG16 pre-trained on ImageNet for Cifar-10)
TBD
TBD
PyTorch
Visualization and Interpretation
Title
Dataset
Description
Notebooks
Vanilla Loss Gradient (wrt Inputs) Visualization (Based on a VGG16 Convolutional Neural Network for Kaggle's Cats and Dogs Images)
TBD
TBD
PyTorch
Guided Backpropagation (Based on a VGG16 Convolutional Neural Network for Kaggle's Cats and Dogs Images)
TBD
TBD
PyTorch
PyTorch Workflows and Mechanics
PyTorch Lightning Examples
Title
Dataset
Description
Notebooks
MLP in Lightning with TensorBoard -- continue training the last model
TBD
TBD
PyTorch
MLP in Lightning with TensorBoard -- checkpointing best model
TBD
TBD
PyTorch
Title
Dataset
Description
Notebooks
Custom Data Loader Example for PNG Files
TBD
TBD
PyTorch
Using PyTorch Dataset Loading Utilities for Custom Datasets -- CSV files converted to HDF5
TBD
TBD
PyTorch
Using PyTorch Dataset Loading Utilities for Custom Datasets -- Face Images from CelebA
TBD
TBD
PyTorch
Using PyTorch Dataset Loading Utilities for Custom Datasets -- Drawings from Quickdraw
TBD
TBD
PyTorch
Using PyTorch Dataset Loading Utilities for Custom Datasets -- Drawings from the Street View House Number (SVHN) Dataset
TBD
TBD
PyTorch
Using PyTorch Dataset Loading Utilities for Custom Datasets -- Asian Face Dataset (AFAD)
TBD
TBD
PyTorch
Using PyTorch Dataset Loading Utilities for Custom Datasets -- Dating Historical Color Images
TBD
TBD
PyTorch
Using PyTorch Dataset Loading Utilities for Custom Datasets -- Fashion MNIST
TBD
TBD
PyTorch
Training and Preprocessing
Title
Dataset
Description
Notebooks
PyTorch DataLoader State and Nested Iterations
Toy
Explains DataLoader behavior when in nested functions
PyTorch
Generating Validation Set Splits
TBD
TBD
PyTorch
Dataloading with Pinned Memory
TBD
TBD
PyTorch
Standardizing Images
TBD
TBD
PyTorch
Image Transformation Examples
TBD
TBD
PyTorch
Char-RNN with Own Text File
TBD
TBD
PyTorch
Sentiment Classification RNN with Own CSV File
TBD
TBD
PyTorch
Improving Memory Efficiency
Title
Dataset
Description
Notebooks
Gradient Checkpointing Demo (Network-in-Network trained on CIFAR-10)
TBD
TBD
PyTorch
Title
Description
Notebooks
Using Multiple GPUs with DataParallel -- VGG-16 Gender Classifier on CelebA
TBD
PyTorch
Distribute a Model Across Multiple GPUs with Pipeline Parallelism (VGG-16 Example)
TBD
PyTorch
Title
Dataset
Description
Notebooks
PyTorch with and without Deterministic Behavior -- Runtime Benchmark
TBD
TBD
PyTorch
Sequential API and hooks
TBD
TBD
PyTorch
Weight Sharing Within a Layer
TBD
TBD
PyTorch
Plotting Live Training Performance in Jupyter Notebooks with just Matplotlib
TBD
TBD
PyTorch
Title
Dataset
Description
Notebooks
Getting Gradients of an Intermediate Variable in PyTorch
TBD
TBD
PyTorch
TensorFlow Workflows and Mechanics
Title
Description
Notebooks
Chunking an Image Dataset for Minibatch Training using NumPy NPZ Archives
TBD
TensorFlow
Storing an Image Dataset for Minibatch Training using HDF5
TBD
TensorFlow
Using Input Pipelines to Read Data from TFRecords Files
TBD
TensorFlow
Using Queue Runners to Feed Images Directly from Disk
TBD
TensorFlow
Using TensorFlow's Dataset API
TBD
TensorFlow
Training and Preprocessing
Title
Dataset
Description
Notebooks
Saving and Loading Trained Models -- from TensorFlow Checkpoint Files and NumPy NPZ Archives
TBD
TBD
TensorFlow
Title
Description
Notebooks
TorchMetrics
How do we use it, and what's the difference between .update() and .forward()?
PyTorch