PyTorch for Deep Learning

PyTorch for Deep Learning

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 174 Lessons (26h 42m) | 7.54 GB

Learn PyTorch from scratch! This PyTorch course is your step-by-step guide to developing your own deep learning models using PyTorch. You’ll learn Deep Learning with PyTorch by building a massive 3-part real-world milestone project. By the end, you’ll have the skills and portfolio to get hired as a Deep Learning Engineer.

Learn PyTorch. Become a Deep Learning Engineer. Get Hired.

We can guarantee (with, like, 99.57% confidence) that this is the most comprehensive, modern, and up-to-date course you will find to learn PyTorch and the cutting-edge field of Deep Learning. Daniel takes you step-by-step from an absolute beginner to becoming a master of Deep Learning with PyTorch.


  • Everything from getting started with using PyTorch to building your own real-world models
  • Why PyTorch is a fantastic way to start working in machine learning
  • Understand how to integrate Deep Learning into tools and applications
  • Create and utilize machine learning algorithms just like you would write a Python program
  • Build and deploy your own custom trained PyTorch neural network accessible to the public
  • How to take data, build a ML algorithm to find patterns, and then use that algorithm as an AI to enhance your applications
  • Master deep learning and become a top candidate for recruiters seeking Deep Learning Engineers
  • To expand your Machine Learning and Deep Learning skills and toolkit
  • The skills you need to become a Deep Learning Engineer and get hired with a chance of making US$100,000+ / year
Table of Contents

1 PyTorch for Deep Learning
2 Course Welcome and What Is Deep Learning
3 Why Use Machine Learning or Deep Learning
4 The Number 1 Rule of Machine Learning and What Is Deep Learning Good For
5 Machine Learning vs. Deep Learning
6 Anatomy of Neural Networks
7 Different Types of Learning Paradigms
8 What Can Deep Learning Be Used For
9 What Is and Why PyTorch
10 What Are Tensors
11 What We Are Going To Cover With PyTorch
12 How To and How Not To Approach This Course
13 Important Resources For This Course
14 Getting Setup to Write PyTorch Code
15 Introduction to PyTorch Tensors
16 Creating Random Tensors in PyTorch
17 Creating Tensors With Zeros and Ones in PyTorch
18 Creating a Tensor Range and Tensors Like Other Tensors
19 Dealing With Tensor Data Types
20 Getting Tensor Attributes
21 Manipulating Tensors (Tensor Operations)
22 Matrix Multiplication (Part 1)
23 Matrix Multiplication (Part 2): The Two Main Rules of Matrix Multiplication
24 Matrix Multiplication (Part 3): Dealing With Tensor Shape Errors
25 Finding the Min Max Mean and Sum of Tensors (Tensor Aggregation)
26 Finding The Positional Min and Max of Tensors
27 Reshaping, Viewing and Stacking Tensors
28 Squeezing, Unsqueezing and Permuting Tensors
29 Selecting Data From Tensors (Indexing)
30 PyTorch Tensors and NumPy
31 PyTorch Reproducibility (Taking the Random Out of Random)
32 Different Ways of Accessing a GPU in PyTorch
33 Setting up Device Agnostic Code and Putting Tensors On and Off the GPU
34 PyTorch Fundamentals: Exercises and Extra-Curriculum
35 Introduction and Where You Can Get Help
36 Getting Setup and What We Are Covering
37 Creating a Simple Dataset Using the Linear Regression Formula
38 Splitting Our Data Into Training and Test Sets
39 Building a function to Visualize Our Data
40 Creating Our First PyTorch Model for Linear Regression
41 Breaking Down What’s Happening in Our PyTorch Linear regression Model
42 Discussing Some of the Most Important PyTorch Model Building Classes
43 Checking Out the Internals of Our PyTorch Model
44 Making Predictions With Our Random Model Using Inference Mode
45 Training a Model Intuition (The Things We Need)
46 Setting Up an Optimizer and a Loss Function
47 PyTorch Training Loop Steps and Intuition
48 Writing Code for a PyTorch Training Loop
49 Reviewing the Steps in a Training Loop Step by Step
50 Running Our Training Loop Epoch by Epoch and Seeing What Happens
51 Writing Testing Loop Code and Discussing What’s Happening Step by Step
52 Reviewing What Happens in a Testing Loop Step by Step
53 Writing Code to Save a PyTorch Model
54 Writing Code to Load a PyTorch Model
55 Setting Up to Practice Everything We Have Done Using Device-Agnostic Code
56 Putting Everything Together (Part 1): Data
57 Putting Everything Together (Part 2): Building a Model
58 Putting Everything Together (Part 3): Training a Model
59 Putting Everything Together (Part 4): Making Predictions With a Trained Model
60 Putting Everything Together (Part 5): Saving and Loading a Trained Model
61 Exercise: Imposter Syndrome
62 PyTorch Workflow Exercises: Extra-Curriculum
63 Introduction to Machine Learning Classification With PyTorch
64 Classification Problem Example: Input and Output Shapes
65 Typical Architecture of a Classification Neural Network (Overview)
66 Making a Toy Classification Dataset
67 Turning Our Data into Tensors and Making a Training and Test Split
68 Laying Out Steps for Modelling and Setting Up Device-Agnostic Code
69 Coding a Small Neural Network to Handle Our Classification Data
70 Making Our Neural Network Visual
71 Setting Up a Loss Function Optimizer and Evaluation Function for Our Classification Network
72 Going from Model Logits to Prediction Probabilities to Prediction Labels
73 Coding a Training and Testing Optimization Loop for Our Classification Model
74 Writing Code to Download a Helper Function to Visualize Our Models Predictions
75 Discussing Options to Improve a Model
76 Creating a New Model with More Layers and Hidden Units
77 Writing Training and Testing Code to See if Our New and Upgraded Model Performs Better
78 Creating a Straight Line Dataset to See if Our Model is Learning Anything
79 Building and Training a Model to Fit on Straight Line Data
80 Evaluating Our Models Predictions on Straight Line Data
81 Introducing the Missing Piece for Our Classification Model Non-Linearity
82 Building Our First Neural Network with Non-Linearity
83 Writing Training and Testing Code for Our First Non-Linear Model
84 Making Predictions with and Evaluating Our First Non-Linear Model
85 Replicating Non-Linear Activation Functions with Pure PyTorch
86 Putting It All Together (Part 1): Building a Multiclass Dataset
87 Creating a Multi-Class Classification Model with PyTorch
88 Setting Up a Loss Function and Optimizer for Our Multi-Class Model
89 Going from Logits to Prediction Probabilities to Prediction Labels with a Multi-Class Model
90 Making Predictions with and Evaluating Our Multi-Class Classification Model
91 Discussing a Few More Classification Metrics
92 PyTorch Classification Exercises and Extra-Curriculum
93 What Is a Computer Vision Problem and What We Are Going to Cover
94 Computer Vision Input and Output Shapes (
95 What Is a Convolutional Neural Network (CNN)
96 Discussing and Importing the Base Computer Vision Libraries in PyTorch
97 Getting a Computer Vision Dataset and Checking Out Its- Input and Output Shapes
98 Visualizing Random Samples of Data
99 DataLoader Overview Understanding Mini-Batch
100 Turning Our Datasets Into DataLoaders
101 Model 0: Creating a Baseline Model with Two Linear Layers
102 Creating a Loss Function: an Optimizer for Model 0
103 Creating a Function to Time Our Modelling Code
104 Writing Training and Testing Loops for Our Batched Data
105 Writing an Evaluation Function to Get Our Models Results
106 Setup Device-Agnostic Code for Running Experiments on the GPU
107 Model 1: Creating a Model with Non-Linear Functions
108 Mode 1: Creating a Loss Function and Optimizer
109 Turing Our Training Loop into a Function
110 Turing Our Testing Loop into a Function
111 Training and Testing Model 1 with Our Training and Testing Functions
112 Getting a Results Dictionary for Model 1
113 Model 2: Convolutional Neural Networks High Level Overview
114 Model 2: Coding Our First Convolutional Neural Network with PyTorch
115 Model 2: Breaking Down Conv2D Step by Step
116 Model 2: Breaking Down MaxPool2D Step by Step
117 Mode 2: Using a Trick to Find the Input and Output Shapes of Each of Our Layers
118 Model 2: Setting Up a Loss Function and Optimizer
119 Model 2: Training Our First CNN and Evaluating Its Results
120 Comparing the Results of Our Modelling Experiments
121 Making Predictions on Random Test Samples with the Best Trained Model
122 Plotting Our Best Model Predictions on Random Test Samples and Evaluating Them
123 Making Predictions Across the Whole Test Dataset and Importing Libraries to Plot a Confusion Matrix
124 Evaluating Our Best Models Predictions with a Confusion Matrix
125 Saving and Loading Our Best Performing Model
126 Recapping What We Have Covered and Exercises and Extra-Curriculum
127 What Is a Custom Dataset and What We Are Going to Cover
128 Importing PyTorch and Setting Up Device-Agnostic Code
129 Downloading a Custom Dataset of Pizza, Steak and Sushi Images
130 Becoming One With the Data (Part 1): Exploring the Data Format
131 Becoming One With the Data (Part 2): Visualizing a Random Image
132 Becoming One With the Data (Part 3): Visualizing a Random Image with Matplotlib
133 Transforming Data (Part 1): Turning Images Into Tensors
134 Transforming Data (Part 2): Visualizing Transformed Images
135 Loading All of Our Images and Turning Them Into Tensors With ImageFolder
136 Visualizing a Loaded Image From the Train Dataset
137 Turning Our Image Datasets into PyTorch DataLoaders
138 Creating a Custom Dataset Class in PyTorch High Level Overview
139 Creating a Helper Function to Get Class Names From a Directory
140 Writing a PyTorch Custom Dataset Class from Scratch to Load Our Images
141 Compare Our Custom Dataset Class to the Original ImageFolder Class
142 Writing a Helper Function to Visualize Random Images from Our Custom Dataset
143 Turning Our Custom Datasets Into DataLoaders
144 Exploring State of the Art Data Augmentation With Torchvision Transforms
145 Building a Baseline Model (Part 1): Loading and Transforming Data
146 Building a Baseline Model (Part 2): Replicating Tiny VGG from Scratch
147 Building a Baseline Model (Part 3): Doing a Forward Pass to Test Our Model Shapes
148 Using the Torchinfo Package to Get a Summary of Our Model
149 Creating Training and Testing loop Functions
150 Creating a Train Function to Train and Evaluate Our Models
151 Training and Evaluating Model 0 With Our Training Functions
152 Plotting the Loss Curves of Model 0
153 Discussing the Balance Between Overfitting and Underfitting and How to Deal With Each
154 Creating Augmented Training Datasets and DataLoaders for Model 1
155 Constructing and Training Model 1
156 Plotting the Loss Curves of Model 1
157 Plotting the Loss Curves of All of Our Models Against Each Other
158 Predicting on Custom Data (Part 1): Downloading an Image
159 Predicting on Custom Data (Part2): Loading In a Custom Image With PyTorch
160 Predicting on Custom Data (Part 3): Getting Our Custom Image Into the Right Format
161 Predicting on Custom Data (Part 4): Turning Our Models Raw Outputs Into Prediction Labels
162 Predicting on Custom Data (Part 5): Putting It All Together
163 Summary of What We Have Covered Plus Exercises and Extra-Curriculum
164 What Is Going Modular and What We Are Going to Cover
165 Going Modular Notebook (Part 1): Running It End to End
166 Downloading a Dataset
167 Writing the Outline for Our First Python Script to Setup the Data
168 Creating a Python Script to Create Our PyTorch DataLoaders
169 Turning Our Model Building Code into a Python Script
170 Turning Our Model Training Code into a Python Script
171 Turning Our Utility Function to Save a Model into a Python Script
172 Creating a Training Script to Train Our Model in One Line of Code
173 Going Modular Summary Exercises and Extra-Curriculum
174 Thank You