Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dair-ai/ML-Notebooks

:fire: Machine Learning Notebooks
https://github.com/dair-ai/ML-Notebooks

ai deep-learning machine-learning python pytorch

Last synced: 2 months ago
JSON representation

:fire: Machine Learning Notebooks

Awesome Lists containing this project

README

        

# 🐙 Machine Learning Notebooks

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!
- Spin up a new instance by clicking on the green `"<> 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.
- Once the codespace is fully running, you can install all the libraries you will need to run the notebooks under the `/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.
- Activate your environment `conda activate myenv`. *You might need to run `conda init zsh` or whatever shell you are using... and then close + reopen terminal.*
- Finally you can try out if everything is working by opening a notebook such as `/notebooks/bow.ipynb`.

---

## Getting Started


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.








## NLP


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





## Transformers



Name
Description
Notebook



Text Classification using Transformer
An implementation of Attention Mechanism and Positional Embeddings on a text classification task




Kaggle


Neural Machine Translation using Transformer
An implementation of Transformer to translate human readable dates in any format to YYYY-MM-DD format.




Kaggle


Feature Tokenizer Transformer
An implementation of Feature Tokenizer Transformer on a classification task




Kaggle


Named Entity Recognition using Transformer
An implementation of Transformer to perform token classification and identify species in PubMed abstracts




Kaggle



Extractive Question Answering using Transformer
An implementation of Transformer to perform extractive question answering




Kaggle



## Computer Vision


Name
Description
Notebook


Siamese Network
An implementation of Siamese Network for finding Image Similarity




Kaggle


Variational Auto Encoder
An implementation of Variational Auto Encoder to generate Augmentations for MNIST Handwritten Digits




Kaggle


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




Kaggle



Object Detection using Selective Search
A basic object detection implementation using selective search on top of an image classifier




Kaggle


## Generative Adversarial Network


Name
Description
Notebook


Deep Convolutional GAN
An Implementation of Deep Convolutional GAN to generate MNIST digits




Kaggle


Wasserstein GAN with Gradient Penalty
An Implementation of Wasserstein GAN with Gradient Penalty to generate MNIST digits




Kaggle


Conditional GAN
An Implementation of Conditional GAN to generate MNIST digits




Kaggle


## Parameter Efficient Fine-tuning


Name
Description
Notebook


LoRA BERT
An Implementation of BERT Finetuning using LoRA

Kaggle


LoRA BERT NER
An Implementation of BERT Finetuning using LoRA for token classification task

Kaggle


LoRA T5
An Implementation of T5 Finetuning using LoRA

Kaggle


LoRA TinyLlama 1.1B
An Implementation of TinyLlama 1.1B Finetuning using LoRA

Kaggle


QLoRA TinyLlama 1.1B
An Implementation of TinyLlama 1.1B Finetuning using QLoRA

Kaggle


QLoRA Mistral 7B
An Implementation of Mistral 7B Finetuning using QLoRA

Kaggle

---

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](https://twitter.com/omarsar0) 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}
}
```