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 Logistic Regression 2D toy data TBD Softmax Regression (Multinomial Logistic Regression) MNIST TBD Softmax Regression with MLxtend's plot_decision_regions on Iris Iris TBD
Title Dataset Description Notebooks Multilayer Perceptron MNIST TBD Multilayer Perceptron with Dropout MNIST TBD Multilayer Perceptron with Batch Normalization MNIST TBD Multilayer Perceptron with Backpropagation from Scratch MNIST TBD
Convolutional Neural Networks Title Dataset Description Notebooks Convolutional Neural Network TBD TBD CNN with He Initialization TBD TBD
Title Dataset Description Notebooks Replacing Fully-Connected by Equivalent Convolutional Layers TBD TBD
Title Dataset Description Notebooks AlexNet Trained on CIFAR-10 TBD TBD AlexNet with Grouped Convolutions Trained on CIFAR-10 TBD TBD
Title Description Daset Notebooks DenseNet-121 Digit Classifier Trained on MNIST TBD TBD DenseNet-121 Image Classifier Trained on CIFAR-10 TBD TBD
Title Dataset Description Notebooks "All Convolutionl Net" -- A Fully Convolutional Neural Network TBD TBD
Title Dataset Description Notebooks LeNet-5 on MNIST TBD TBD LeNet-5 on CIFAR-10 TBD TBD LeNet-5 on QuickDraw TBD TBD
Title Dataset Description Notebooks MobileNet-v2 on Cifar-10 TBD TBD MobileNet-v3 small on Cifar-10 TBD TBD MobileNet-v3 large on Cifar-10 TBD TBD MobileNet-v3 large on MNIST via Embetter TBD TBD
Title Dataset Description Notebooks Network in Network Trained on CIFAR-10 TBD TBD
Title Dataset Description Notebooks Convolutional Neural Network VGG-16 Trained on CIFAR-10 TBD TBD VGG-16 Smile Classifier CelebA TBD VGG-16 Dogs vs Cats Classifier TBD TBD Convolutional Neural Network VGG-19 TBD TBD
Title Dataset Description Notebooks ResNet and Residual Blocks MNIST TBD ResNet-18 Digit Classifier MNIST TBD ResNet-18 Gender Classifier CelebA TBD ResNet-34 Digit Classifier MNIST TBD ResNet-34 Object Classifier QuickDraw TBD ResNet-34 Gender Classifier CelebA TBD ResNet-50 Digit Classifier MNIST TBD ResNet-50 Gender Classifier CelebA TBD ResNet-101 Gender Classifier CelebA TBD ResNet-101 CIFAR-10 TBD ResNet-152 Gender Classifier CelebA TBD
Title Dataset Description Notebooks Multilabel DistilBERT Jigsaw Toxic Comment Challenge DistilBERT classifier fine-tuning DistilBERT as feature extractor IMDB movie review DistilBERT classifier with sklearn random forest and logistic regression DistilBERT as feature extractor using embetter IMDB movie review DistilBERT classifier with sklearn random forest and logistic regression using the scikit-learn embetter library Fine-tune DistilBERT I IMDB movie review Fine-tune only the last 2 layers of DistilBERT classifier Fine-tune DistilBERT II IMDB movie review Fine-tune the whole DistilBERT classifier
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 Filter Response Normalization for Network-in-Network CIFAR-10 Classifier TBD TBD
Title Dataset Description Notebooks Siamese Network with Multilayer Perceptrons TBD TBD
Fully-connected Autoencoders Title Dataset Description Notebooks Autoencoder (MNIST) TBD TBD Autoencoder (MNIST) + Scikit-Learn Random Forest Classifier TBD TBD
Convolutional Autoencoders Title Dataset Description Notebooks Convolutional Autoencoder with Deconvolutions / Transposed Convolutions TBD TBD Convolutional Autoencoder with Deconvolutions and Continuous Jaccard Distance TBD TBD Convolutional Autoencoder with Deconvolutions (without pooling operations) TBD TBD Convolutional Autoencoder with Nearest-neighbor Interpolation TBD TBD Convolutional Autoencoder with Nearest-neighbor Interpolation -- Trained on CelebA TBD TBD Convolutional Autoencoder with Nearest-neighbor Interpolation -- Trained on Quickdraw TBD TBD
Title Dataset Description Notebooks Variational Autoencoder TBD TBD Convolutional Variational Autoencoder TBD TBD
Conditional Variational Autoencoders Title Dataset Description Notebooks Conditional Variational Autoencoder (with labels in reconstruction loss) TBD TBD Conditional Variational Autoencoder (without labels in reconstruction loss) TBD TBD Convolutional Conditional Variational Autoencoder (with labels in reconstruction loss) TBD TBD Convolutional Conditional Variational Autoencoder (without labels in reconstruction loss) TBD TBD
Generative Adversarial Networks (GANs) Title Dataset Description Notebooks Fully Connected GAN on MNIST TBD TBD Fully Connected Wasserstein GAN on MNIST TBD TBD Convolutional GAN on MNIST TBD TBD Convolutional GAN on MNIST with Label Smoothing TBD TBD Convolutional Wasserstein GAN on MNIST TBD TBD Deep Convolutional GAN (DCGAN) on Cats and Dogs Images TBD TBD Deep Convolutional GAN (DCGAN) on CelebA Face Images TBD TBD
Graph Neural Networks (GNNs) Title Dataset Description Notebooks Most Basic Graph Neural Network with Gaussian Filter on MNIST TBD TBD Basic Graph Neural Network with Edge Prediction on MNIST TBD TBD Basic Graph Neural Network with Spectral Graph Convolution on MNIST TBD TBD
Recurrent Neural Networks (RNNs) Many-to-one: Sentiment Analysis / Classification Title Dataset Description Notebooks A simple single-layer RNN (IMDB) TBD TBD A simple single-layer RNN with packed sequences to ignore padding characters (IMDB) TBD TBD RNN with LSTM cells (IMDB) TBD TBD RNN with LSTM cells (IMDB) and pre-trained GloVe word vectors TBD TBD RNN with LSTM cells and Own Dataset in CSV Format (IMDB) TBD TBD RNN with GRU cells (IMDB) TBD TBD Multilayer bi-directional RNN (IMDB) TBD TBD Bidirectional Multi-layer RNN with LSTM with Own Dataset in CSV Format (AG News) TBD TBD
Many-to-Many / Sequence-to-Sequence Title Dataset Description Notebooks A simple character RNN to generate new text (Charles Dickens) TBD TBD
Title Dataset Description Notebooks Baseline CNN MNIST A simple baseline with traditional train/validation/test splits K-fold with pl_cross MNIST A 5-fold cross-validation run using the pl_cross library
Title Dataset Description Notebooks AutoAugment & TrivialAugment for Image Data CIFAR-10 Trains a ResNet-18 using AutoAugment and TrivialAugment
Title Dataset Description Notebooks Cyclical Learning Rate TBD TBD Annealing with Increasing the Batch Size (w. CIFAR-10 & AlexNet) TBD TBD Gradient Clipping (w. MLP on MNIST) TBD TBD
Title Dataset Description Notebooks Transfer Learning Example (VGG16 pre-trained on ImageNet for Cifar-10) TBD TBD
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 Guided Backpropagation (Based on a VGG16 Convolutional Neural Network for Kaggle's Cats and Dogs Images) TBD TBD
PyTorch Workflows and Mechanics PyTorch Lightning Examples Title Dataset Description Notebooks MLP in Lightning with TensorBoard -- continue training the last model TBD TBD MLP in Lightning with TensorBoard -- checkpointing best model TBD TBD
Title Dataset Description Notebooks Custom Data Loader Example for PNG Files TBD TBD Using PyTorch Dataset Loading Utilities for Custom Datasets -- CSV files converted to HDF5 TBD TBD Using PyTorch Dataset Loading Utilities for Custom Datasets -- Face Images from CelebA TBD TBD Using PyTorch Dataset Loading Utilities for Custom Datasets -- Drawings from Quickdraw TBD TBD Using PyTorch Dataset Loading Utilities for Custom Datasets -- Drawings from the Street View House Number (SVHN) Dataset TBD TBD Using PyTorch Dataset Loading Utilities for Custom Datasets -- Asian Face Dataset (AFAD) TBD TBD Using PyTorch Dataset Loading Utilities for Custom Datasets -- Dating Historical Color Images TBD TBD Using PyTorch Dataset Loading Utilities for Custom Datasets -- Fashion MNIST TBD TBD
Training and Preprocessing Title Dataset Description Notebooks PyTorch DataLoader State and Nested Iterations Toy Explains DataLoader behavior when in nested functions Generating Validation Set Splits TBD TBD Dataloading with Pinned Memory TBD TBD Standardizing Images TBD TBD Image Transformation Examples TBD TBD Char-RNN with Own Text File TBD TBD Sentiment Classification RNN with Own CSV File TBD TBD
Improving Memory Efficiency Title Dataset Description Notebooks Gradient Checkpointing Demo (Network-in-Network trained on CIFAR-10) TBD TBD
Title Description Notebooks Using Multiple GPUs with DataParallel -- VGG-16 Gender Classifier on CelebA TBD Distribute a Model Across Multiple GPUs with Pipeline Parallelism (VGG-16 Example) TBD
Title Dataset Description Notebooks PyTorch with and without Deterministic Behavior -- Runtime Benchmark TBD TBD Sequential API and hooks TBD TBD Weight Sharing Within a Layer TBD TBD Plotting Live Training Performance in Jupyter Notebooks with just Matplotlib TBD TBD
Title Dataset Description Notebooks Getting Gradients of an Intermediate Variable in PyTorch TBD TBD
TensorFlow Workflows and Mechanics Title Description Notebooks Chunking an Image Dataset for Minibatch Training using NumPy NPZ Archives TBD Storing an Image Dataset for Minibatch Training using HDF5 TBD Using Input Pipelines to Read Data from TFRecords Files TBD Using Queue Runners to Feed Images Directly from Disk TBD Using TensorFlow's Dataset API TBD
Training and Preprocessing Title Dataset Description Notebooks Saving and Loading Trained Models -- from TensorFlow Checkpoint Files and NumPy NPZ Archives TBD TBD
Title Description Notebooks TorchMetrics How do we use it, and what's the difference between .update() and .forward()?