A structured, hands-on walkthrough of deep learning — from a single perceptron to Transformers — built as a personal study reference and portfolio artifact.
This repository is a study log built while working through deep learning end to end: perceptrons and the math behind training, ANNs (with three applied projects), regularization and optimization, CNNs and transfer learning, RNNs/LSTMs/GRUs, and finally attention, Transformers, and LLMs. It's a learning collection rather than a packaged library — expect notebook-style code (exploratory cells, inline notes, some repetition) rather than a production module.
It's the deep-learning counterpart to
NLP-Complete-Guide, a
companion repo in the same "complete guide" series.
38 Jupyter notebooks, organized by topic:
Foundations
| Notebook | Covers |
|---|---|
01-introduction-of-deep-learning.ipynb |
What deep learning is |
02-types-of-neural-networks.ipynb |
Network architectures overview |
03-history-of-deep-learning.ipynb |
Field history |
04 ANN Overview .ipynb |
ANN architecture, forward propagation, activation functions, a hand-traced forward pass, and the Keras equivalent |
04-neuron-vs-perceptron.ipynb |
Biological neuron vs. perceptron |
05-hinge-loss-perceptron.ipynb |
Hinge loss for perceptrons |
09-loss-functions-in-ml-dl.ipynb |
Loss functions in ML/DL |
10-memoization-ipynb.ipynb |
Memoization |
11-gradient-descent-in-neural-networks.ipynb |
Gradient descent |
ANNs: training and optimization
| Notebook | Covers |
|---|---|
06-customer-churn-prediction-using-ann-pynb.ipynb |
Applied ANN project |
07-handwritten-digit-classification-using-ann.ipynb |
MNIST with a plain ANN |
08-graduate-admission-prediction-ann.ipynb |
Applied ANN project |
12-how-improve-neural-network-performance.ipynb |
Performance improvement techniques |
13-feature-scaling.ipynb |
Feature scaling |
14-dropout-in-neural-networks.ipynb |
Dropout regularization |
15-dropout-regression-example.ipynb |
Dropout applied to regression |
17-batch-normalization.ipynb |
Batch normalization |
18-optimizers.ipynb |
Optimizer comparison |
19-keras-tuner-hyperparameter.ipynb |
Hyperparameter tuning with Keras Tuner |
CNNs and transfer learning
| Notebook | Covers |
|---|---|
20-what-convolutional-neural-network-cnn.ipynb |
CNN fundamentals |
21-history-of-cnn.ipynb |
CNN history |
22-padding-strides-and-pooling-layers-in-cnn.ipynb |
Padding, strides, pooling |
23-cnn-architecture.ipynb |
CNN architecture |
24-what-is-transfer-learning.ipynb |
Transfer learning concepts |
25-transfer-learning-feature-extraction.ipynb |
Feature extraction |
26 transfer_learning_finetuning.ipynb |
Fine-tuning |
27 transfer_learning_feature_extraction(with data_augmentation).ipynb |
Feature extraction + data augmentation |
28 transfer_learning_feature_extraction(without_data_augmentation).ipynb |
Feature extraction, no augmentation |
29-keras-functional-api-functional-model.ipynb |
Keras Functional API |
functional_api_demo.ipynb |
Functional API demo |
Sequence models
| Notebook | Covers |
|---|---|
30 What is an RNN (Recurrent Neural Network) .ipynb |
RNN fundamentals |
31 LSTM (Long Short-Term Memory).ipynb |
LSTM |
32 GRU (Gated Recurrent Unit) Complete Guide.ipynb |
GRU |
33 Deep RNN (Deep Recurrent Neural Network) - Complete Guide.ipynb |
Deep RNN |
34 Bidirectional RNN.ipynb |
Bidirectional RNN |
Transformers and LLMs
| Notebook | Covers |
|---|---|
35 LLM (Large Language Model) Complete Guide.ipynb |
LLM fundamentals |
36 encoder_decoder_attention.ipynb |
Encoder-decoder attention |
37 Transformer guide.ipynb |
Transformer architecture |
Note: numbering has a couple of gaps (e.g. no
16) and04is used twice (04 ANN Overview .ipynband04-neuron-vs-perceptron.ipynb); notebooks were added over time and the sequence isn't perfectly continuous.
Reconstructed from the actual imports used across the notebooks:
| Category | Tools |
|---|---|
| Deep learning framework | TensorFlow / Keras (including keras_tuner) — no PyTorch code is present |
| Classical ML / preprocessing | scikit-learn |
| Data handling | NumPy, pandas |
| Visualization | Matplotlib, seaborn |
| Other utilities | Pillow (PIL), mlxtend — used in specific notebooks (image handling, plotting) |
These are standalone, self-contained notebooks — there's no shared package or CLI.
git clone https://github.com/Engrziaullah/Deep-Learning-Complete-Guide.git
cd Deep-Learning-Complete-Guide
pip install tensorflow keras keras-tuner scikit-learn numpy pandas matplotlib seaborn pillow mlxtend jupyter
jupyter notebookThen open whichever notebook covers the topic you're interested in. Some notebooks
(e.g. the transfer-learning and applied-project ones) expect a dataset to be
downloaded separately and aren't runnable end-to-end without that data in place —
check the top of each notebook for what it expects. There's no requirements.txt
or environment file in this repo; the package list above was reconstructed
directly from the notebooks' import statements.
NLP-Complete-Guide— the NLP counterpart to this repo, same series.
A personal reference collection, not a tutorial series with guaranteed correctness or a maintained API. Content ranges from short concept notes to full worked projects (churn prediction, digit classification, transfer learning) — treat it as study material rather than a dependency to build on. Shared for educational and portfolio purposes.