# rasbt/deeplearning-models

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rasbt-deeplearning-models).**

17,427 stars · 4,099 forks · Jupyter Notebook · mit

## Links

- GitHub: https://github.com/rasbt/deeplearning-models
- awesome-repositories: https://awesome-repositories.com/repository/rasbt-deeplearning-models.md

## Description

This repository is an educational collection of deep learning implementations designed to demonstrate the fundamental principles of neural network architecture and optimization. It provides a comprehensive resource for understanding machine learning through hands-on code examples, ranging from basic multilayer perceptrons to complex generative models.

The project distinguishes itself by emphasizing the manual construction of models, including the implementation of backpropagation from scratch to illustrate core mathematical mechanics. It covers a wide array of architectural design patterns, such as recurrent and convolutional layers, while providing practical demonstrations of advanced training techniques like cyclical learning rates, gradient clipping, and batch normalization.

The collection spans various capability areas, including sequential data processing, dimensionality reduction, and adversarial modeling. It also incorporates tools for model observability, such as gradient-based interpretation and performance validation through cross-validation. The repository is structured as a series of tutorials and implementations, primarily utilizing the PyTorch framework to bridge the gap between theoretical concepts and functional code.

## Tags

### Artificial Intelligence & ML

- [Backpropagation Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/architectures/neural-network-components/backpropagation-implementations.md) — Implements backpropagation from scratch to demonstrate the fundamental mathematical mechanics of neural network weight updates.
- [Model Training Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/training-frameworks/model-training-frameworks.md) — Builds neural networks from scratch using manual mathematical operations instead of high-level abstraction layers. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/mlp))
- [Generative Adversarial Networks](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-adversarial-networks.md) — Implements competitive training loops between generator and discriminator networks for data synthesis.
- [Deep Learning Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/architectures/neural-network-components/deep-learning-implementations.md) — Constructs standard deep learning architectures including convolutional and residual layers from first principles. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/images))
- [Machine Learning Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-optimization-and-inference/training-algorithms/machine-learning-optimization.md) — Applies advanced training techniques like cyclical learning rates and batch normalization to improve model convergence.
- [Adversarial Training Procedures](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/adversarial-training-procedures.md) — Implements adversarial training loops where generator and discriminator networks compete to improve synthetic data generation.
- [Neural Network Architectures](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-architectures.md) — Constructs and configures complex deep learning models including convolutional and recurrent layers.
- [Training Optimization Techniques](https://awesome-repositories.com/f/artificial-intelligence-ml/training-optimization-techniques.md) — Applies advanced training techniques like cyclical learning rates and gradient clipping to accelerate convergence. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/images))
- [Gradient Clipping Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-computation/gradient-clipping-utilities.md) — Rescales gradient magnitudes during backpropagation to prevent numerical instability and exploding gradients. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/tricks))
- [Learning Rate Schedulers](https://awesome-repositories.com/f/artificial-intelligence-ml/learning-rate-schedulers.md) — Uses dynamic learning rate scheduling to navigate loss landscapes and ensure stable model convergence.
- [Convolutional Block Composers](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/frameworks/model-construction/neural-network-layers/convolution-layers/convolutional-block-composers.md) — Constructs complex neural architectures by composing modular blocks like convolutional and recurrent layers.
- [Multilayer Perceptrons](https://awesome-repositories.com/f/artificial-intelligence-ml/multilayer-perceptrons.md) — Constructs multilayer perceptrons with multiple hidden layers for classification and regression tasks. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/mlp))
- [Recurrent Neural Networks](https://awesome-repositories.com/f/artificial-intelligence-ml/recurrent-neural-networks.md) — Implements recurrent neural networks and LSTM cells to analyze and process sequential data. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/rnn))
- [Sequential Data Models](https://awesome-repositories.com/f/artificial-intelligence-ml/sequential-data-models.md) — Builds and optimizes recurrent neural networks and long short-term memory models for sequential data processing.
- [Autoencoder Architectures](https://awesome-repositories.com/f/artificial-intelligence-ml/autoencoder-architectures.md) — Constructs autoencoders to map data into latent spaces for efficient feature learning. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/autoencoder))
- [Bidirectional Recurrent Neural Networks](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/machine-learning-concepts/network-architectures-and-layers/bidirectional-recurrent-neural-networks.md) — Builds bidirectional and multilayer recurrent architectures to capture complex temporal dependencies in sequential data. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/rnn))
- [Model Interpretation Tools](https://awesome-repositories.com/f/artificial-intelligence-ml/model-interpretation-tools.md) — Provides gradient-based interpretation tools to visualize and explain model classification decisions.
- [Regularization Techniques](https://awesome-repositories.com/f/artificial-intelligence-ml/regularization-techniques.md) — Integrates dropout and batch normalization to improve training stability and prevent overfitting. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/mlp))
- [Computational Graphs](https://awesome-repositories.com/f/artificial-intelligence-ml/computational-graphs.md) — Organizes mathematical operations into directed graphs to facilitate automatic differentiation and data flow management.
- [Latent Space Generative Models](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-resources/diffusion-visual-models/generative-ai-models/latent-space-generative-models.md) — Maps high-dimensional data into compact latent spaces to learn efficient features for generative modeling.
- [Model Fine-Tuning and Adaptation](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/model-fine-tuning-adaptation.md) — Adapts pre-trained models to new datasets by freezing base layers and fine-tuning output layers. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/transfer))
- [Variational Autoencoders](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/variational-autoencoders.md) — Optimizes models that map input data to a continuous latent distribution to enable generative modeling. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/autoencoder))
- [K-Fold Cross-Validation](https://awesome-repositories.com/f/artificial-intelligence-ml/model-validation-tools/cross-validation-utilities/k-fold-cross-validation.md) — Uses k-fold cross-validation to assess model stability and predictive accuracy through iterative partitioning. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/kfold))
- [Gradient-Based Interpretability](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-visualization-tools/gradient-based-interpretability.md) — Generates visual heatmaps and gradient-based explanations to highlight image regions influencing classification predictions. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/viz/cnns/cats-and-dogs))
- [Ordinal Regression Models](https://awesome-repositories.com/f/artificial-intelligence-ml/ordinal-regression-models.md) — Trains neural networks to classify data with inherent rankings by accounting for class relationships. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/ordinal))
- [Text Sequence Processing](https://awesome-repositories.com/f/artificial-intelligence-ml/text-sequence-processing.md) — Optimizes sequence processing using packed sequences and pre-trained embeddings for variable-length inputs. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/rnn))

### Education & Learning Resources

- [Educational Repositories](https://awesome-repositories.com/f/education-learning-resources/educational-repositories.md) — Serves as a curated collection of PyTorch implementations demonstrating fundamental neural network architectures for educational purposes.
- [Deep Learning Education](https://awesome-repositories.com/f/education-learning-resources/deep-learning-education.md) — Provides a comprehensive educational resource for learning neural network theory and manual implementation.
- [Neural Network Implementations](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/books-docs-reference/code-examples/reference-implementations/neural-network-implementations.md) — Provides code examples of multilayer perceptrons and recurrent networks built from scratch to explain core concepts.
- [Machine Learning Tutorials](https://awesome-repositories.com/f/education-learning-resources/machine-learning-tutorials.md) — Offers a comprehensive resource for learning deep learning principles through manual backpropagation and architectural design patterns.
- [Machine Learning Fundamentals](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/ai-machine-learning-education/machine-learning-fundamentals.md) — Builds fundamental machine learning models to demonstrate core mathematical concepts and optimization techniques. ([source](https://github.com/rasbt/deeplearning-models/tree/master/pytorch_ipynb/basic-ml))
