My comprehensive PyTorch course is now live on the freeCodeCamp.org YouTube channel.
- You can view the full 26 hour course here.
- Read the course materials online for free at learnpytorch.io.
- See all of the course materials on GitHub.
You can learn more about the course below the embedded video.
The best way to learn is by doing.
And that's just what we'll do in the Learn PyTorch for Deep Learning: Zero to Mastery course.
We'll learn by doing.
Throughout the course, we'll go through many of the most important concepts in machine learning and deep learning by writing PyTorch code.
If you're new to data science and machine learning, consider the course a momentum builder.
By the end, you'll be comfortable navigating the PyTorch documentation, reading PyTorch code, writing PyTorch code, searching for things you don't understand and building your own machine learning projects.
What is PyTorch?
PyTorch is a machine learning framework written in the Python programming language.
It allows you to write machine learning algorithms capable of turning data into models into intelligence.
Why Learn PyTorch?
As of July 2022, 58% of machine learning research papers that contain code use PyTorch. And this number has been growing since PyTorch’s release.
In essence, machine learning researchers love PyTorch.
And typically, industry follows research.
So if all of the best machine learning research is coming out in PyTorch, knowing PyTorch is a fantastic way to start working in machine learning.
What are the prerequisites?
Bad: "I can't learn it" (that's bulls***).
Good: Three to six months of experience writing Python code and a willingness to learn (you're more than ready to go).
The course is as beginner-friendly as possible.
So if you've got more than one year's experience with machine learning, you might learn a few things but the materials are designed for beginners.
How's the Course Taught?
The focus of the course is code, code, code, experiment, experiment, experiment.
There's a reason two of the course mottos are:
If in doubt, run the code!
Experiment, experiment, experiment!
We'll write code together, apprenticeship style.
Meaning in the video version of the course, I'll write PyTorch code and explain it and then you'll follow along by writing the same code.
If we get stuck on something, we'll search for an answer.
You'll notice I leave many of my errors in the videos, this is on purpose.
Because errors happen (often) and being able to troubleshoot them is important.
I'm a big fan of there being no speed limit to learning something.
So that's what we'll be doing.
Learning by coding.
Learning by experimenting.
What Does This Course Cover?
You can view and read all of the materials online for free at learnpytorch.io.
But let's get specific.
The course is comprised of 5 modules (or notebooks), best taken sequentially (but feel free to jump around).
00 – PyTorch Fundamentals
We'll start from the ground up.
Answering questions like what is PyTorch (an open-source machine learning framework) and what can PyTorch be used for (manipulating data and writing machine learning algorithms).
Then we'll get familiar with the fundamental building block of deep learning, the tensor.
A tensor is a numerical representation of data (where data can be almost anything, images, text, tables of numbers).
And the whole goal of machine learning is to find patterns in data.
So knowing how to create, interact with and manipulate tensors is paramount.
01 – PyTorch Workflow
The idea of machine learning is to turn data into intelligence.
And the machine learning model that's able to do that the best is the winner.
So how do you go from data to model to intelligence with PyTorch?
That's what PyTorch Workflow focuses on:
- Preparing data (turning it into tensors).
- Building or picking a pretrained model (to suit your problem).
- Fitting the model to the data (or letting the model find patterns in the data).
- Evaluating the trained model (after it's learned patterns in data).
- Improving the model through experimentation.
- Saving and reloading a trained model (so you can export it and use it in applications).
We'll use and build upon this workflow throughout the course.
02 – PyTorch Neural Network Classification
Neural networks are one of, if not the most powerful kind of machine learning algorithms.
They're what power many of today's most advanced artificial intelligence (AI) systems such as search and self-driving cars.
But can you get a neural network to do something simple like classifying whether a dot is red or blue?
A simple problem, yes, but experimenting with toy problems is one of the best ways to learn machine learning.
In doing so, we'll go through all of the major steps for one of the most common machine learning problems, classification: building a neural network to predict if something is one thing or another.
03 – PyTorch Computer Vision
Neural networks changed the game of computer vision forever.
And now PyTorch drives many of the latest advancements in computer vision algorithms.
Tesla uses PyTorch to build their computer vision algorithms for their self-driving software.
Apple uses PyTorch to build models that computationally enhance photos taken with the iPhone.
In PyTorch Computer Vision, we'll write PyTorch code to create a neural network capable of seeing patterns in images and classifying them into different categories.
04 – PyTorch Custom Datasets
The magic of machine learning is building algorithms to find patterns in your own custom data.
There are plenty of existing datasets out there, but how do load your own custom dataset into PyTorch to build models to find patterns in it?
Perhaps you'd like to build a security system for your home and you'd like to teach it what your family looks like so it recognizes them.
Or perhaps you'd like to build an application capable of classifying the different dog photos you take.
That’s exactly what PyTorch Custom Datasets covers, we'll create our own custom dataset with food images of pizza, steak and sushi to start the major project of the course: FoodVision.
Can't I Learn All of this Myself?
There's a reason I'm calling this course the second best place on the internet to learn PyTorch.
Because the best place is the PyTorch documentation.
Though documentation can be a little intimidating when you first encounter it.
So this course structures things in a way that's a fun warmup before diving into the documentation.
Got another question?
Feel free to email me or leave a discussion on the course GitHub repository.
Otherwise, happy machine learning and I'll see you in the course.