GithubHelp home page GithubHelp logo

hdr2030 / app_deep_learning Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jeffheaton/app_deep_learning

0.0 0.0 0.0 24.56 MB

T81-558: PyTorch - Applications of Deep Neural Networks @Washington University in St. Louis

Home Page: https://sites.wustl.edu/jeffheaton/t81-558/

License: Apache License 2.0

TeX 0.06% Jupyter Notebook 99.94%

app_deep_learning's Introduction

T81 558:Applications of Deep Neural Networks

Washington University in St. Louis

Instructor: Jeff Heaton

This branch contains the evolving PyTorch version of this course. It is a work in progress and is not yet complete.

The content of this course changes as technology evolves, to keep up to date with changes follow me on GitHub.

  • Section 1. Fall 2023, Monday, 2:30 PM, Location: Louderman/461
  • Section 2. Fall 2023, Online

Course Description

Deep learning is a group of exciting new technologies for neural networks. Through a combination of advanced training techniques and neural network architectural components, it is now possible to create neural networks that can handle tabular data, images, text, and audio as both input and output. Deep learning allows a neural network to learn hierarchies of information in a way that is like the function of the human brain. This course will introduce the student to classic neural network structures, Convolution Neural Networks (CNN), Long Short-Term Memory (LSTM), Gated Recurrent Neural Networks (GRU), General Adversarial Networks (GAN) and reinforcement learning. Application of these architectures to computer vision, time series, security, natural language processing (NLP), and data generation will be covered. High Performance Computing (HPC) aspects will demonstrate how deep learning can be leveraged both on graphical processing units (GPUs), as well as grids. Focus is primarily upon the application of deep learning to problems, with some introduction to mathematical foundations. Students will use the Python programming language to implement deep learning using PyTorch. It is not necessary to know Python prior to this course; however, familiarity of at least one programming language is assumed. This course will be delivered in a hybrid format that includes both classroom and online instruction.

Objectives

  1. Explain how neural networks (deep and otherwise) compare to other machine learning models.
  2. Determine when a deep neural network would be a good choice for a particular problem.
  3. Demonstrate your understanding of the material through a final project uploaded to GitHub.

Syllabus

This syllabus presents the expected class schedule, due dates, and reading assignments. Download current syllabus.

Module Content
Module 1
Meet on 08/28/2023
Module 1: Python Preliminaries
  • Part 1.1: Course Overview
  • Part 1.2: Introduction to Python
  • Part 1.3: Python Lists, Dictionaries, Sets & JSON
  • Part 1.4: File Handling
  • Part 1.5: Functions, Lambdas, and Map/ReducePython Preliminaries
  • We will meet on campus this week! (first meeting)
Module 2
Week of 09/11/2023
Module 2: Python for Machine Learning
  • Part 2.1: Introduction to Pandas for Deep Learning
  • Part 2.2: Encoding Categorical Values in Pandas
  • Part 2.3: Grouping, Sorting, and Shuffling
  • Part 2.4: Using Apply and Map in Pandas
  • Part 2.5: Feature Engineering in Padas
  • Module 1 Program due: 09/12/2023
  • Icebreaker due: 09/12/2023
Module 3
Week of 09/18/2023
Module 3: PyTorch for Neural Networks
  • Part 3.1: Deep Learning and Neural Network Introduction
  • Part 3.2: Introduction to PyTorch
  • Part 3.3: Encoding a Feature Vector for PyTorch Deep Learning
  • Part 3.4: Early Stopping and Network Persistence
  • Part 3.5: Sequences vs Classes in PyTorch
  • Module 2: Program due: 09/19/2023
Module 4
Week of 09/25/2023
Module 4: Training for Tabular Data
  • Part 4.1: Using K-Fold Cross-validation with PyTorch
  • Part 4.2: Training Schedules for PyTorch
  • Part 4.3: Dropout Regularization
  • Part 4.4: Batch Normalization
  • Part 4.5: RAPIDS for Tabular Data
  • Module 3 Program due: 09/26/2023
Module 5
Meet on 10/02/2023
Module 5: CNN and Computer Vision
  • 5.1 Image Processing in Python
  • 5.2 Using Convolutional Neural Networks
  • 5.3 Using Pretrained Neural Networks
  • 5.4 Looking at Generators and Image Augmentation
  • 5.5 Recognizing Multiple Images with YOLO
  • Module 4 Program due: 10/03/2023
  • We will meet on campus this week! (second meeting)
Module 6
Week of 10/16/2023
Module 6: ChatGPT and Large Language Models
  • 6.1: Introduction to Transformers
  • 6.2: Accessing the ChatGPT API
  • 6.3: Llama, Alpaca, and LORA
  • 6.4: Introduction to Embeddings
  • 6.5: Prompt Engineering
  • Module 5 Program due: 10/17/2023
Module 7
Week of 10/23/2023
Module 7: Image Generative Models
  • 7.1: Introduction to Generative AI
  • 7.2: Generating Faces with StyleGAN3
  • 7.3: GANS to Enhance Old Photographs Deoldify
  • 7.4: Text to Images with StableDiffusion
  • 7.5: Finetuning with Dreambooth
  • Module 6 Assignment due: 10/24/2023
Module 8
Meet on 10/30/2023
Module 8: Kaggle
  • 8.1 Introduction to Kaggle
  • 8.2 Building Ensembles with Scikit-Learn and PyTorch
  • 8.3 How Should you Architect Your PyTorch Neural Network: Hyperparameters
  • 8.4 Bayesian Hyperparameter Optimization for PyTorch
  • 8.5 Current Semester's Kaggle
  • Module 7 Assignment due: 10/31/2023
  • We will meet on campus this week! (third meeting)
Module 9
Week of 11/06/2023
Module 9: Facial Recognition
  • 9.1 Introduction to Facial Recognition
  • 9.2 Detecting Faces in an Image
  • 9.3 Detecting Facial Features
  • 9.4 Image Augmentation
  • 9.5 Emotion Detection
  • Module 8 Assignment due: 11/07/2023
Module 10
Week of 11/13/2023
Module 10: Time Series in PyTorch
  • Time Series Data Encoding for Deep Learning, PyTorch
  • Seasonality and Trend
  • LSTM-Based Time Series with PyTorch
  • CNN-Based Time Series with PyTorch
  • Predicting with Meta Prophet
  • Module 9 Assignment due: 11/14/2023
Module 11
Week of 11/20/2023
Module 11: Natural Language Processing
  • 11.1 Introduction to Natural Language Processing
  • 11.2 Hugging Face Introduction
  • 11.3 Hugging Face Tokenizers
  • 11.4 Hugging Face Data Sets
  • 11.5 Training a Model in Hugging Face
  • Module 10 Assignment due: 11/21/2023
Module 12
Week of 11/27/2023
Module 12: Reinforcement Learning
  • Kaggle Assignment due: 11/28/2023 (approx 4-6PM, due to Kaggle GMT timezone)
  • Introduction to Reinforcement Learning
  • Farama-Foundation Gymnasium
  • Categorical Reinforcement Learning
  • Continuous Reinforcement Learning
  • Application of Reinforcement Learning
Module 13
Meet on 12/04/2023
Module 13: Deployment and Monitoring
  • Part 13.1: Flask and Deep Learning Web Services
  • Part 13.2: Interrupting and Continuing Training
  • Part 13.3: Using a PyTorch Deep Neural Network with a Web Application
  • Part 13.4: When to Retrain Your Neural Network
  • Part 13.5: Tensor Processing Units (TPUs)
  • We will meet on campus this week! (fourth meeting)
  • Final project due: 12/05/2023

Datasets

app_deep_learning's People

Contributors

jeffheaton avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.