[logo]: https://github.com/AladdinPerzon/Machine-Learning-Collection/blob/master/ML/others/logo/youtube_logo.png
Machine Learning Collection
In this repository you will find tutorials and projects related to Machine Learning. I try to make the code as clear as possible, and the goal is be to used as a learning resource and a way to lookup problems to solve specific problems. For most I have also done video explanations on YouTube if you want a walkthrough for the code. If you got any questions or suggestions for future videos I prefer if you ask it on YouTube. This repository is contribution friendly, so if you feel you want to add something then I'd happily merge a PR 😃
Table Of Contents
Machine Learning
- ![Youtube Link][logo] Linear Regression - With Gradient Descent ✅
- ![Youtube Link][logo] Linear Regression - With Normal Equation ✅
- ![Youtube Link][logo] Logistic Regression
- ![Youtube Link][logo] Naive Bayes - Gaussian Naive Bayes
- ![Youtube Link][logo] K-nearest neighbors
- ![Youtube Link][logo] K-means clustering
- ![Youtube Link][logo] Support Vector Machine - Using CVXOPT
- ![Youtube Link][logo] Neural Network
PyTorch Tutorials
If you have any specific video suggestion please make a comment on YouTube :)
Basics
- ![Youtube Link][logo] Tensor Basics
- ![Youtube Link][logo] Feedforward Neural Network
- ![Youtube Link][logo] Convolutional Neural Network
- ![Youtube Link][logo] Recurrent Neural Network
- ![Youtube Link][logo] Bidirectional Recurrent Neural Network
- ![Youtube Link][logo] Loading and saving model
- ![Youtube Link][logo] Custom Dataset (Images)
- ![Youtube Link][logo] Custom Dataset (Text)
- ![Youtube Link][logo] Mixed Precision Training
- ![Youtube Link][logo] Imbalanced dataset
- ![Youtube Link][logo] Transfer Learning and finetuning
- ![Youtube Link][logo] Data augmentation using Torchvision
- ![Youtube Link][logo] Data augmentation using Albumentations
- ![Youtube Link][logo] TensorBoard Example
- ![Youtube Link][logo] Calculate Mean and STD of Images
- ![Youtube Link][logo] Simple Progress bar
- ![Youtube Link][logo] Deterministic Behavior
- ![Youtube Link][logo] Learning Rate Scheduler
- ![Youtube Link][logo] Initialization of weights
More Advanced
- ![Youtube Link][logo] Text Generating LSTM
- ![Youtube Link][logo] Semantic Segmentation w. U-NET
- ![Youtube Link][logo] Image Captioning
- ![Youtube Link][logo] Neural Style Transfer
- ![Youtube Link][logo] Torchtext [1] Torchtext [2] Torchtext [3]
- ![Youtube Link][logo] Seq2Seq - Sequence to Sequence (LSTM)
- ![Youtube Link][logo] Seq2Seq + Attention - Sequence to Sequence with Attention (LSTM)
- ![Youtube Link][logo] Seq2Seq Transformers - Sequence to Sequence with Transformers
- ![Youtube Link][logo] Transformers from scratch - Attention Is All You Need
Object Detection
- ![Youtube Link][logo] Intersection over Union
- ![Youtube Link][logo] Non-Max Suppression
- ![Youtube Link][logo] Mean Average Precision
- ![Youtube Link][logo] YOLOv1 from scratch
- ![Youtube Link][logo] YOLOv3 from scratch
Generative Adversarial Networks
- ![Youtube Link][logo] Simple FC GAN
- ![Youtube Link][logo] DCGAN
- ![Youtube Link][logo] WGAN
- ![Youtube Link][logo] WGAN-GP
- ![Youtube Link][logo] Pix2Pix
- ![Youtube Link][logo] CycleGAN
- ![Youtube Link][logo] ProGAN
- SRGAN
- ESRGAN
- StyleGAN - NOTE: NOT DONE
Architectures
- ![Youtube Link][logo] LeNet5 - CNN architecture
- ![Youtube Link][logo] VGG - CNN architecture
- ![Youtube Link][logo] Inception v1 - CNN architecture
- ![Youtube Link][logo] ResNet - CNN architecture
- ![Youtube Link][logo] EfficientNet - CNN architecture
PyTorch Lightning
- ![Youtube Link][logo] Tutorial 1 - Introduction and starter code
- ![Youtube Link][logo] Tutorial 2 - LightningModule
- ![Youtube Link][logo] Tutorial 3 - Trainer
- ![Youtube Link][logo] Tutorial 4 - Metrics
- ![Youtube Link][logo] Tutorial 5 - DataModule
- ![Youtube Link][logo] Tutorial 6 - Code restructure
- ![Youtube Link][logo] Tutorial 7 - Callbacks
- ![Youtube Link][logo] Tutorial 8 - TensorBoard logging
- ![Youtube Link][logo] Tutorial 9 - Profiler
- ![Youtube Link][logo] Tutorial 10 - Multi-GPU
TensorFlow Tutorials
If you have any specific video suggestion please make a comment on YouTube :)
Beginner Tutorials
- ![Youtube Link][logo] Tutorial 1 - Installation, Video Only
- ![Youtube Link][logo] Tutorial 2 - Tensor Basics
- ![Youtube Link][logo] Tutorial 3 - Neural Network
- ![Youtube Link][logo] Tutorial 4 - Convolutional Neural Network
- ![Youtube Link][logo] Tutorial 5 - Regularization
- ![Youtube Link][logo] Tutorial 6 - RNN, GRU, LSTM
- ![Youtube Link][logo] Tutorial 7 - Functional API
- ![Youtube Link][logo] Tutorial 8 - Keras Subclassing
- ![Youtube Link][logo] Tutorial 9 - Custom Layers
- ![Youtube Link][logo] Tutorial 10 - Saving and Loading Models
- ![Youtube Link][logo] Tutorial 11 - Transfer Learning
- ![Youtube Link][logo] Tutorial 12 - TensorFlow Datasets
- ![Youtube Link][logo] Tutorial 13 - Data Augmentation
- ![Youtube Link][logo] Tutorial 14 - Callbacks
- ![Youtube Link][logo] Tutorial 15 - Custom model.fit
- ![Youtube Link][logo] Tutorial 16 - Custom Loops
- ![Youtube Link][logo] Tutorial 17 - TensorBoard
- ![Youtube Link][logo] Tutorial 18 - Custom Dataset Images
- ![Youtube Link][logo] Tutorial 19 - Custom Dataset Text
- ![Youtube Link][logo] Tutorial 20 - Classifying Skin Cancer - Beginner Project Example
Docker Setup
Follow the steps below to use Docker for setting up a consistent development environment:
-
Install Docker
If you don't have Docker installed, use these links to install Docker for your system: -
Nvidia Container Toolkit (For GPU support)
If you want to utilize GPU acceleration with CUDA, install the Nvidia Container Toolkit: -
Build the Docker Image
Navigate to the directory containing the Dockerfile and run:docker build -t aladdin-image . -
Run the Docker Container
Once the image is built, start the container using the following command:docker run -it \ --gpus all \ -v "${PWD}:/code" \ -p 8080:8080 \ --name "aladdin-container" \ --env AUTHENTICATE_VIA_JUPYTER="mytoken" \ aladdin-image