# codebasics/deep-learning-keras-tf-tutorial

**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/codebasics-deep-learning-keras-tf-tutorial).**

987 stars · 1,951 forks · Jupyter Notebook

## Links

- GitHub: https://github.com/codebasics/deep-learning-keras-tf-tutorial
- Homepage: https://www.youtube.com/playlist?list=PLeo1K3hjS3uu7CxAacxVndI4bE_o3BDtO
- awesome-repositories: https://awesome-repositories.com/repository/codebasics-deep-learning-keras-tf-tutorial.md

## Topics

`deep-learning` `deep-neural-networks` `keras` `keras-tensorflow` `mnist` `object-detection` `tensorflow`

## Description

This project is a structured educational curriculum designed to teach the fundamentals of building and training deep learning models. It provides a comprehensive guide for implementing neural networks using high-level machine learning frameworks and the Python programming language, focusing on practical, hands-on exercises for beginners.

The tutorial distinguishes itself by covering the full lifecycle of model development, from initial construction to production-ready optimization. It includes specific modules on refining model performance through weight quantization and addressing data bias by mitigating class imbalances. The curriculum also emphasizes the importance of data preparation, offering techniques for image augmentation and the creation of word embeddings to improve model generalization.

Beyond basic training, the repository explores advanced natural language processing and computer vision tasks. It demonstrates how to construct transformer models, utilize recurrent neural networks for text classification, and optimize data input pipelines to ensure efficient processing. The materials also cover essential monitoring practices, such as visualizing training metrics and loss functions to evaluate model accuracy throughout the learning process.

## Tags

### Artificial Intelligence & ML

- [Deep Learning Training Toolsets](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-training-toolsets.md) — Provides a comprehensive toolkit for building and training deep learning models from scratch. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/blob/master/README.md))
- [Gradient-Based Parameter Updates](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-based-parameter-updates.md) — Updates model parameters iteratively using gradient-based backpropagation to minimize loss.
- [Loss Function Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/architectures/neural-network-components/loss-functions/perceptual-loss/content-loss-calculators/focal-loss-calculators/detection-loss-calculators/softmax-loss-calculators/angular-softmax-loss-training/loss-function-implementations.md) — Calculates training loss to guide the optimization process during neural network training. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/tree/master/5_loss))
- [Modular Layer Compositions](https://awesome-repositories.com/f/artificial-intelligence-ml/model-composition-architectures/hybrid-layer-compositions/modular-layer-compositions.md) — Constructs neural networks by stacking modular functional layers to transform input data.
- [Keras Model Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-network-implementations/keras-model-implementations.md) — Offers a structured educational guide for implementing deep learning models using the Keras API.
- [Stochastic Gradient Descent](https://awesome-repositories.com/f/artificial-intelligence-ml/stochastic-gradient-descent.md) — Optimizes model weights using stochastic gradient descent to navigate the loss landscape.
- [Class Imbalance Handling](https://awesome-repositories.com/f/artificial-intelligence-ml/class-imbalance-handling.md) — Mitigates data bias by adjusting training weights to handle class imbalances in datasets. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/tree/master/14_imbalanced))
- [Data Input Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/data-input-pipelines.md) — Optimizes data input pipelines to ensure efficient processing and prevent idle hardware time. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/tree/master/45_prefatch))
- [Data Prefetching Pipelines](https://awesome-repositories.com/f/artificial-intelligence-ml/data-prefetching-pipelines.md) — Implements background data prefetching to keep hardware accelerators saturated during model training.
- [Model Quantization Tools](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-optimization-and-inference/serving-and-runtime/model-quantization-tools.md) — Reduces model precision to decrease memory usage and accelerate inference on resource-constrained hardware. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/tree/master/49_quantization))
- [Machine Learning Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-optimization-and-inference/training-algorithms/machine-learning-optimization.md) — Provides techniques for optimizing neural network performance, including weight quantization and data balancing strategies.
- [Computer Vision Modelings](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/machine-learning-concepts/domain-specific-modeling/computer-vision-modelings.md) — Provides modular components for computer vision tasks including data augmentation to reduce overfitting.
- [Natural Language Processing](https://awesome-repositories.com/f/artificial-intelligence-ml/natural-language-processing.md) — Covers natural language processing tasks including transformer model construction and word embedding generation.
- [Word Embeddings](https://awesome-repositories.com/f/artificial-intelligence-ml/natural-language-processing/word-embeddings.md) — Learns dense vector representations of words to capture semantic relationships for NLP tasks. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/tree/master/22_word_embedding))
- [Weight Quantization](https://awesome-repositories.com/f/artificial-intelligence-ml/quantized-inference-runtimes/weight-quantization.md) — Compresses model weights through quantization to reduce memory footprint and accelerate inference.
- [Self-Attention Mechanisms](https://awesome-repositories.com/f/artificial-intelligence-ml/self-attention-mechanisms.md) — Utilizes self-attention mechanisms to weigh sequence importance for improved prediction accuracy.
- [Text Classifiers](https://awesome-repositories.com/f/artificial-intelligence-ml/text-classifiers.md) — Categorizes text sequences using recurrent neural networks to learn patterns from training data. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/tree/master/43_text_classification_rnn))
- [Image Augmentations](https://awesome-repositories.com/f/artificial-intelligence-ml/training-data-transformations/image-augmentations.md) — Improves model generalization by applying random image transformations like rotation and flipping. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/tree/master/17_data_augmentation))
- [Transformer Language Models](https://awesome-repositories.com/f/artificial-intelligence-ml/transformer-language-models.md) — Constructs transformer-based language models for natural language processing tasks. ([source](https://github.com/codebasics/deep-learning-keras-tf-tutorial/tree/master/46_BERT_intro))

### Education & Learning Resources

- [Deep Learning Tutorials](https://awesome-repositories.com/f/education-learning-resources/deep-learning-tutorials.md) — Serves as an educational resource for building and training neural networks using high-level deep learning frameworks.
- [Machine Learning Tutorials](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/tutorials-media-curated-lists/technical-tutorials/machine-learning-ai/machine-learning-tutorials.md) — Provides a comprehensive curriculum of tutorials for constructing and training predictive models through hands-on exercises.

### Scientific & Mathematical Computing

- [Computational Graphs](https://awesome-repositories.com/f/scientific-mathematical-computing/data-modeling-processing/computational-graphs.md) — Defines and executes neural network models using compiled computational graphs for high-performance processing.

### System Administration & Monitoring

- [Training Metric Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/training-metric-monitors.md) — Tracks training progress and loss metrics to evaluate model accuracy during the learning process.
