roatienza / Deep-Learning-Experiments

Videos, notes and experiments to understand deep learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deep Learning Lecture Notes and Experiments

2023 Version (latest)

Revised and expanded

Theory

Topic Note Video Code
Overview PDF - -
Supervised Learning PDF - -
Multilayer Perceptron (MLP) PDF - -
Optimization PDF - -
Regularization PDF - -
CNN PDF - Notebook
Transformer PDF - Notebook
Autoencoder (AE) PDF - AE & Denoising AE
Colorization AE
Variational Autoencoder (VAE) PDF - VAE and CVAE
Generative Adversarial Network (GAN) PDF - DCGAN and CGAN
Intro to Large Language Models (LLMs) PDF - -
LLM Data and Model PDF - -

Practice

Topic Note Video Code
Development Environment PDF - -
Python PDF - -
Numpy PDF - -
PyTorch PDF - -
Gradio PDF - Notebook
Efficiency PDF - Code
PyTorch Lightning PDF - Notebook
Model Packaging & Serving PDF - ONNX Export
ONNX Runtime
TorchScript & TensorRT
PyTriton Yolo Client
PyTriton Yolo Server
Docker PDF = -
HuggingFcae PDF - -

Experiments on LLMs, LVMs and Agents

AI, ML and Deep Learning Note Video Code
LLM
    LangChain PDF - Jupyter
    LLM Fine Tuning & Document Query PDF - Jupyter
    Document Query using Chroma - - Jupyter
    Dolly (Free LLM) - - Jupyter
LVM
    Segment Anything Model (SAM) PDF - Prompts &
All Masks
     Open CLIP & CoCa - - Jupyter
Agents
     HuggingGPT PDF - Agents
Large MultiModal Models (L3M)
     ImageBind PDF - ImageBind
Stable Diffusion
     Diffusion - - Diffusers
     ControlNet - - ControlNet

2022 Version

Welcome to the 2022 version of Deep Learning course. We made major changes in the coverage and delivery of this course to reflect the recent advances in the field.

Install

Assuming you already have anaconda or venv, install the required python packages to run the experiments in this version.

pip install -r requirements.txt

Coverage:

AI, ML and Deep Learning Note Video Code
    Overview PDF YouTube -
Toolkit
    Development Environment
    and Code Editor
PDF YouTube -
    Python PDF YouTube -
    Numpy PDF YouTube Jupyter
    Einsum PDF YouTube Jupyter
    Einops PDF YouTube Jupyter &
Jupyter (Audio)
    PyTorch & Timm PDF YouTube PyTorch/Timm &
Input Jupyter
    Gradio & Hugging Face PDF YouTube Jupyter
    Weights and Biases PDF YouTube Jupyter
    Hugging Face Accelerator Same as W&B Same as W&B Jupyter &
Python
Datasets & Dataloaders PDF YouTube Jupyter
Supervised Learning PDF YouTube
    PyTorch Lightning PDF YouTube MNIST & KWS
    Keyword Spotting App cd versions/2022/supervised/python &&
python3 kws-infer.py --gui
Building blocks:
MLPs, CNNs, RNNs, Transformers
    MLP PDF YouTube MLP on CIFAR10
    CNN PDF YouTube CNN on CIFAR10
    Transformer PDF YouTube Transformer on CIFAR10
Backpropagation PDF
Optimization PDF
Regularization PDF
Unsupervised Learning Soon
AutoEncoders PDF YouTube AE MNIST
Colorization CIFAR10
Variational AutoEncoders Soon
Practical Applications:
Vision, Speech, NLP
Soon

What is new in 2022 version:

  1. Emphasis on tools to use and deploy deep learning models. In the past, we learn how to build and train models to perform certain tasks. However, often times we want to use a pre-trained model for immediate deployment. testing or demonstration. Hence, we will use tools such as huggingface, gradio and streamlit in our discussions.

  2. Emphasis on understanding deep learning building blocks. The ability to build, train and test models is important. However, when we want to optimize and deploy a deep learning model on a new hardware or run it on production, we need an in-depth understanding of the code implementation of our algorithms. Hence, there will be emphasis on low-level algorithms and their code implementations.

  3. Emphasis on practical applications. Deep learning can do a lot more than recognition. Hence, we will highlight practical applications in vision (detection, segmentation), speech (ASR, TTS) and text (sentiment, summarization).

  4. Various levels of abstraction. We will present deep learning concepts from low-level numpy and einops, to mid-level framework such as PyTorch, and to high-level APIs such as huggingface, gradio and streamlit. This enables us to use deep learning principles depending on the problem constraints.

  5. Emphasis on individual presentation of assignments, machine exercises and projects. Online learning is hard. To maximize student learning, this course focuses on exchange of ideas to ensure individual student progress.

Star, Fork, Cite

If you find this work useful, please give it a star, fork, or cite:

@misc{atienza2020dl,
  title={Deep Learning Lecture Notes},
  author={Atienza, Rowel},
  year={2020},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/roatienza/Deep-Learning-Experiments}},
}

About

Videos, notes and experiments to understand deep learning

License:MIT License


Languages

Language:Jupyter Notebook 99.5%Language:Python 0.5%