Skip to content

Shakeri-Lab/dl-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Deep Learning Course

A comprehensive deep learning course with hands-on implementations in PyTorch.

Course Structure

This course is organized into 13 modules, each focusing on specific aspects of deep learning:

Module 0: Prerequisites and Setup

  • Python fundamentals
  • PyTorch basics
  • Development environment setup

Module 1: Introduction to Machine Learning

  • Basic concepts
  • Types of learning
  • Evaluation metrics

Module 2: Linear Regression and Fundamentals

  • Linear regression from scratch
  • PyTorch implementation
  • Weight decay and regularization
  • Files:
    • linear_regression_teaching.py - From-scratch implementation
    • linear_regression_pytorch.py - PyTorch high-level API
    • linear_regression_weight_decay.py - Regularization concepts

Module 3: Classification and Logistic Regression

  • Binary and multiclass classification
  • Softmax regression
  • Cross-entropy loss

Module 4: Multilayer Perceptrons

  • Neural network fundamentals
  • Backpropagation
  • Activation functions

Module 5: Convolutional Neural Networks

  • Convolution operation
  • CNN architectures
  • Image classification

Module 6: Modern CNN Architectures

  • ResNet, VGG, AlexNet
  • Transfer learning
  • Fine-tuning

Module 7: Recurrent Neural Networks

  • RNN fundamentals
  • LSTM and GRU
  • Sequence modeling

Module 8: Attention Mechanisms and Transformers

  • Attention mechanisms
  • Transformer architecture
  • Self-attention

Module 9: Generative Models

  • Variational Autoencoders
  • Generative Adversarial Networks
  • Diffusion models

Module 10: Optimization and Training

  • Optimization algorithms
  • Learning rate scheduling
  • Regularization techniques

Module 11: Advanced Topics

  • Graph Neural Networks
  • Reinforcement Learning
  • Computer Vision applications

Module 12: Final Projects and Applications

  • Real-world applications
  • Project presentations
  • Best practices

Getting Started

  1. Clone this repository:
git clone https://github.com/Shakeri-Lab/dl-course.git
cd dl-course
  1. Install dependencies:
pip install torch torchvision matplotlib numpy
  1. Navigate to any module directory and explore the materials.

Learning Path

Each module builds upon previous concepts. It's recommended to follow the modules in order, especially for beginners.

Prerequisites

  • Basic Python programming
  • Linear algebra fundamentals
  • Calculus basics
  • Statistics and probability

Course Philosophy

This course emphasizes:

  • Understanding from first principles - We implement key algorithms from scratch
  • Practical application - Every concept is accompanied by working code
  • Progressive complexity - Starting simple and building to advanced topics
  • Real-world relevance - Focus on techniques used in industry and research

Repository Structure

Each module contains:

  • Jupyter notebooks for interactive learning
  • Python scripts for standalone execution
  • Assignment versions for hands-on practice
  • Visualization and analysis tools

Contributing

Contributions are welcome! Please see individual module READMEs for specific guidelines.

License

This course material is provided for educational purposes.

Contact

For questions or issues, please open a GitHub issue or contact the course instructors.

About

Deep Learning Course Materials

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages