A comprehensive, structured deep learning course using Keras and TensorFlow for developers who want to master AI and deep learning.
This repository contains a complete, progressive deep learning curriculum with 70+ Jupyter notebooks (35+ each for Keras and PyTorch) organized into 10 progressive modules, from beginner fundamentals to advanced research topics.
Choose your preferred deep learning framework:
- Keras/TensorFlow - High-level API, rapid prototyping, production deployment
- PyTorch - Flexible, research-friendly, explicit control over training
Both implementations teach identical concepts and have the same learning objectives!
- 01_Basics - CNN fundamentals and regression tasks
- 02_Image_Classification - Image classification from scratch
- 03_Advanced_CNN - Advanced architectures (DenseNet, etc.)
- 04_Regularization - Preventing overfitting and improving generalization
- 05_Transfer_Learning - Leveraging pretrained models
- 06_Image_Segmentation - Pixel-level predictions and medical imaging
- 07_Time_Series - Sequence modeling and forecasting
- 08_NLP_Text - Natural language processing and text classification
- 09_Advanced_Topics - Physics-informed neural networks, PDEs, real-time video AI
β Framework Documentation:
- Keras Version: See Keras/README.md
- PyTorch Version: See PyTorch/README.md
- Python 3.7 or higher
- pip or conda
# Clone the repository
git clone https://github.com/yourusername/goodplacedeeplearning.git
cd goodplacedeeplearning
# Install dependencies
pip install -e .Or with conda:
conda create -n keras-course python=3.9
conda activate keras-course
pip install -e .For Keras/TensorFlow:
# Navigate to the Keras folder
cd Keras
# Launch Jupyter
jupyter notebook
# Start with 01_BasicsFor PyTorch:
# Navigate to the PyTorch folder
cd PyTorch
# Launch Jupyter
jupyter notebook
# Start with 01_Basics- RAM: 8GB minimum (16GB recommended for transfer learning)
- GPU: Optional but recommended (NVIDIA GPU with CUDA support)
- Storage: 10GB free space for datasets
- NumPy - Numerical computing
- Pandas - Data manipulation
- Matplotlib & Seaborn - Visualization
- Scikit-learn - Machine learning utilities
- Jupyter - Interactive notebooks
- Pillow - Image processing
- h5py - HDF5 support
For Keras:
- TensorFlow/Keras 2.10+
For PyTorch:
- PyTorch >= 1.9.0
- TorchVision - Pretrained models and image transforms
- TorchAudio (optional)
All dependencies are specified in setup.cfg and will be installed automatically with pip install -e .
- 01_Basics - Learn CNN fundamentals
- 02_Image_Classification - Classic image tasks
- 03_Advanced_CNN - Deeper architectures
- 04_Regularization - Improve your models
- Complete beginner path first
- 05_Transfer_Learning - Efficient learning from pretrained models
- 06_Image_Segmentation - Advanced vision tasks
- 07_Time_Series - Sequential data
- Complete beginner and intermediate paths
- 08_NLP_Text - Natural language understanding
- 09_Advanced_Topics - Research-level topics
-
Deep Learning Fundamentals
- Convolutional Neural Networks (CNNs)
- Recurrent Neural Networks (RNNs)
- Attention mechanisms
-
Computer Vision
- Image classification
- Semantic segmentation
- Object detection (implicit)
- Medical image analysis
-
Natural Language Processing
- Text classification
- Sentiment analysis
- Sequence models
-
Advanced Techniques
- Transfer learning and fine-tuning
- Regularization and dropout
- Batch normalization
- Physics-informed neural networks
- Fourier Neural Operators
-
Practical Applications
- Real-time video processing
- Time series forecasting
- Model deployment
| Module | Notebooks | Topics |
|---|---|---|
| 01_Basics | 3 | CNN, Regression |
| 02_Classification | 1 | Image Classification |
| 03_Advanced_CNN | 1 | DenseNet, Advanced Architectures |
| 04_Regularization | 2 | Overfitting, Underfitting |
| 05_Transfer_Learning | 2 | Pretrained Models, Visualization |
| 06_Segmentation | 4 | Semantic Segmentation, Medical Imaging |
| 07_Time_Series | 2 | Sequence Modeling, Forecasting |
| 08_NLP_Text | 3 | Text Classification, NLP |
| 09_Advanced_Topics | 17 | PINNs, PDEs, Video AI, DeepStream |
| Subtotal | 35+ | Comprehensive Deep Learning |
- Keras Notebooks: 35+
- PyTorch Notebooks: 18 (Keras β PyTorch conversions)
- Total Notebooks: 53+
- Total Modules: 10 (identical across frameworks)
- Run every cell - Don't just read, execute and experiment
- Modify code - Change hyperparameters and observe results
- Visualize - Pay attention to plots and interpretations
- Take notes - Jot down key concepts and insights
- Challenge yourself - Try to solve problems before looking at solutions
- GPU acceleration - Use GPU for faster training if available
For development and contributions:
# Clone and install in editable mode
git clone https://github.com/yourusername/goodplacedeeplearning.git
cd goodplacedeeplearning
pip install -e ".[dev]"
# Run linters and formatters
black Keras/
flake8 Keras/Each notebook follows the pattern: NN_notebook_name.ipynb
NN= Lesson number within the modulenotebook_name= Descriptive name of the content
Example: 00_fashion_mnist_basic_cnn.ipynb
- Contributing Guide - How to contribute to this project
- Notebook Index - Complete index of all notebooks
- PyTorch README - PyTorch-specific documentation
- PyTorch Conversion Summary - Keras to PyTorch conversion details
- Conversion Complete - Full conversion documentation
Contributions are welcome! Please see docs/CONTRIBUTING.md for details.
- Fork the repository
- Create a new branch for your changes
- Commit with clear messages
- Push and create a pull request
This course material is provided for educational purposes.
This course was designed to provide a comprehensive, hands-on introduction to deep learning using Keras and TensorFlow. It progresses from fundamental concepts to cutting-edge research applications, making it suitable for:
- Students learning deep learning for the first time
- Practitioners looking to expand their skills
- Researchers exploring advanced techniques
- Developers building production ML systems
- Issues: Report bugs and request features on GitHub
- Discussions: Ask questions in GitHub Discussions
- Documentation: See docs/ folder and framework READMEs (Keras, PyTorch)
- TensorFlow Official Documentation
- Keras Documentation
- NVIDIA Modulus (for PDE notebooks)
- DeepStream SDK
Happy Learning! π
Start with Keras/01_Basics and work your way through the course at your own pace.