This repository is a comprehensive collection of notebooks that walk through the theory and implementation of core Machine Learning and Deep Learning algorithms, with a strong emphasis on Computer Vision.
Some models are built purely from scratch using NumPy, while others leverage PyTorch for more advanced implementations. Each notebook aims to explain the mathematical foundations, algorithmic intuition, and hands-on coding practices used in real-world vision systems.
The repository contains multiple folders, each dedicated to a specific model. You can easily find the model you're looking for by navigating to its corresponding folder. Inside, you'll find a brief explanation of the model in a .md
file, more detailed information and the mathematical foundations included in the associated notebook.
- Supervised algorithms
- Linear Regression
- Logistic Regression
- K-Nearest Neighbors (KNN)
- Bagging and Boosting (e.g., Random Forest, AdaBoost)
- Unsupervised algorithms
- Multilayer Perceptron implementation with backpropagation and gradient descent, including the Adam optimizer.
- Convolutional Neural Networks (CNN)
In this section, you will find notebooks for each specific vision model.
-
Skip Connection Models
-
Representation Learning Models
-
Differential Equation-based Models
-
Object Detection Models
-
Transformers
-
Generative Models
-
Self-Supervised Models
- CLIP (Contrastive Language–Image Pretraining)
-
State Space Models
- Vision Mamba (Vim)
Contributions are more than welcome! Feel free to:
- Add your own implementation of an existing model or a new one
- Improve code readability, documentation, or performance
- Add new vision tasks
Just open a pull request or raise an issue to discuss your ideas!
This project is licensed under the MIT License.