ML Notebooks
1.0.0
This repo contains machine learning notebooks for different tasks and applications. The notebooks are meant to be minimal, easily reusable, and extendable. You are free to use them for educational and research purposes.
This repo supports Codespaces!
"<> Code"
button followed by the "Configure and create codespace"
option. Make sure to select the dev container config provided with this repo. This setups an environment with all the dependencies installed and ready to go./notebooks
folder. Open up a terminal and simply run conda create --name myenv --file spec-file.txt
to install all the Python libraries including PyTorch.conda activate myenv
. You might need to run conda init zsh
or whatever shell you are using... and then close + reopen terminal.
/notebooks/bow.ipynb
.Name | Description | Notebook |
---|---|---|
Introduction to Computational Graphs | A basic tutorial to learn about computational graphs | |
PyTorch Hello World! | Build a simple neural network and train it | |
A Gentle Introduction to PyTorch | A detailed explanation introducing PyTorch concepts | |
Counterfactual Explanations | A basic tutorial to learn about counterfactual explanations for explainable AI | |
Linear Regression from Scratch | An implementation of linear regression from scratch using stochastic gradient descent | |
Logistic Regression from Scratch | An implementation of logistic regression from scratch | |
Concise Logistic Regression | Concise implementation of logistic regression model for binary image classification. | |
First Neural Network - Image Classifier | Build a minimal image classifier using MNIST | |
Neural Network from Scratch | An implementation of simple neural network from scratch | |
Introduction to GNNs | Introduction to Graph Neural Networks. Applies basic GCN to Cora dataset for node classification. |
Name | Description | Notebook |
---|---|---|
Bag of Words Text Classifier | Build a simple bag of words text classifier. | |
Continuous Bag of Words (CBOW) Text Classifier | Build a continuous bag of words text classifier. | |
Deep Continuous Bag of Words (Deep CBOW) Text Classifier | Build a deep continuous bag of words text classifier. | |
Text Data Augmentation | An introduction to the most commonly used data augmentation techniques for text and their implementation | |
Emotion Classification with Fine-tuned BERT | Emotion classification using fine-tuned BERT model |
Name | Description | Notebook |
---|---|---|
Text Classification using Transformer | An implementation of Attention Mechanism and Positional Embeddings on a text classification task |
|
Neural Machine Translation using Transformer | An implementation of Transformer to translate human readable dates in any format to YYYY-MM-DD format. |
|
Feature Tokenizer Transformer | An implementation of Feature Tokenizer Transformer on a classification task |
|
Named Entity Recognition using Transformer | An implementation of Transformer to perform token classification and identify species in PubMed abstracts |
|
Extractive Question Answering using Transformer | An implementation of Transformer to perform extractive question answering |
|
Name | Description | Notebook |
---|---|---|
Siamese Network | An implementation of Siamese Network for finding Image Similarity |
|
Variational Auto Encoder | An implementation of Variational Auto Encoder to generate Augmentations for MNIST Handwritten Digits |
|
Object Detection using Sliding Window and Image Pyramid | A basic object detection implementation using sliding window and image pyramid on top of an image classifier |
|
Object Detection using Selective Search | A basic object detection implementation using selective search on top of an image classifier |
|
Name | Description | Notebook |
---|---|---|
Deep Convolutional GAN | An Implementation of Deep Convolutional GAN to generate MNIST digits |
|
Wasserstein GAN with Gradient Penalty | An Implementation of Wasserstein GAN with Gradient Penalty to generate MNIST digits |
|
Conditional GAN | An Implementation of Conditional GAN to generate MNIST digits |
|
Name | Description | Notebook |
---|---|---|
LoRA BERT | An Implementation of BERT Finetuning using LoRA | |
LoRA BERT NER | An Implementation of BERT Finetuning using LoRA for token classification task | |
LoRA T5 | An Implementation of T5 Finetuning using LoRA | |
LoRA TinyLlama 1.1B | An Implementation of TinyLlama 1.1B Finetuning using LoRA | |
QLoRA TinyLlama 1.1B | An Implementation of TinyLlama 1.1B Finetuning using QLoRA | |
QLoRA Mistral 7B | An Implementation of Mistral 7B Finetuning using QLoRA |
If you find any bugs or have any questions regarding these notebooks, please open an issue. We will address it as soon as we can.
Reach out on Twitter if you have any questions.
Please cite the following if you use the code examples in your research:
@misc{saravia2022ml,
title={ML Notebooks},
author={Saravia, Elvis and Rastogi, Ritvik},
journal={https://github.com/dair-ai/ML-Notebooks},
year={2022}
}