PyTorch is designed to be modular, let's turn what we've created into a series of Python scripts (this is how you'll often find PyTorch code in the wild).
This course covers a large amount of PyTorch and deep learning but the field of machine learning is vast, inside here you'll find recommended books and resources for: PyTorch and deep learning, ML engineering, NLP (natural language processing), time series data, where to find datasets and more.
All of the course materials are available for free in an online book at learnpytorch.io. If you like to read, I'd recommend going through the resources there.
If you prefer to learn via video, the course is also taught in apprenticeship-style format, meaning I write PyTorch code, you write PyTorch code.
There's a reason the course motto's include if in doubt, run the code and experiment, experiment, experiment!.
My whole goal is to help you to do one thing: learn machine learning by writing PyTorch code.
The code is all written via Google Colab Notebooks (you could also use Jupyter Notebooks), an incredible free resource to experiment with machine learning.
What will I get if I finish the course?
There's certificates and all that jazz if you go through the videos.
But certificates are meh.
You can consider this course a machine learning momentum builder.
By the end, you'll have written hundreds of lines of PyTorch code.
And will have been exposed to many of the most important concepts in machine learning.
So when you go to build your own machine learning projects or inspect a public machine learning project made with PyTorch, it'll feel familiar and if it doesn't, at least you'll know where to look.
What will I build in the course?
We start with the barebone fundamentals of PyTorch and machine learning, so even if you're new to machine learning you'll be caught up to speed.
Then we’ll explore more advanced areas including PyTorch neural network classification, PyTorch workflows, computer vision, custom datasets, experiment tracking, model deployment, and my personal favourite: transfer learning, a powerful technique for taking what one machine learning model has learned on another problem and applying it to your own!
Along the way, you’ll build three milestone projects surrounding an overarching project called FoodVision, a neural network computer vision model to classify images of food.
These milestone projects will help you practice using PyTorch to cover important machine learning concepts and create a portfolio you can show employers and say "here's what I've done".
How do I get started?
You can read the materials on any device but this course is best viewed and coded along within a desktop browser.
The course uses a free tool called Google Colab. If you've got no experience with it, I'd go through the free Introduction to Google Colab tutorial and then come back here.
01-07 Feb 2022 - add annotations for 02, finished, still need images, going to work on exercises/solutions today
31 Jan 2022 - start adding annotations for 02
28 Jan 2022 - add exercies and solutions for 01
26 Jan 2022 - lots more annotations to 01, should be finished tomorrow, will do exercises + solutions then too
24 Jan 2022 - add a bunch of annotations to 01
21 Jan 2022 - start adding annotations for 01
20 Jan 2022 - finish annotations for 00 (still need to add images), add exercises and solutions for 00
19 Jan 2022 - add more annotations for 00
18 Jan 2022 - add more annotations for 00
17 Jan 2022 - back from holidays, adding more annotations to 00
10 Dec 2021 - start adding annoations for 00
9 Dec 2021 - Created a website for the course (learnpytorch.io) you'll see updates posted there as development continues
8 Dec 2021 - Clean up notebook 07, starting to go back through code and add annotations
26 Nov 2021 - Finish skeleton code for 07, added four different experiments, need to clean up and make more straightforward
25 Nov 2021 - clean code for 06, add skeleton code for 07 (experiment tracking)
24 Nov 2021 - Update 04, 05, 06 notebooks for easier digestion and learning, each section should cover a max of 3 big ideas, 05 is now dedicated to turning notebook code into modular code
22 Nov 2021 - Update 04 train and test functions to make more straightforward
19 Nov 2021 - Added 05 (transfer learning) notebook, update custom data loading code in 04
18 Nov 2021 - Updated vision code for 03 and added custom dataset loading code in 04
12 Nov 2021 - Added a bunch of skeleton code to notebook 04 for custom dataset loading, next is modelling with custom data
10 Nov 2021 - researching best practice for custom datasets for 04
9 Nov 2021 - Update 03 skeleton code to finish off building CNN model, onto 04 for loading custom datasets
4 Nov 2021 - Add GPU code to 03 + train/test loops + helper_functions.py
3 Nov 2021 - Add basic start for 03, going to finish by end of week
29 Oct 2021 - Tidied up skeleton code for 02, still a few more things to clean/tidy, created 03
28 Oct 2021 - Finished skeleton code for 02, going to clean/tidy tomorrow, 03 next week
27 Oct 2021 - add a bunch of code for 02, going to finish tomorrow/by end of week
26 Oct 2021 - update 00, 01, 02 with outline/code, skeleton code for 00 & 01 done, 02 next
23, 24 Oct 2021 - update 00 and 01 notebooks with more outline/code
20 Oct 2021 - add v0 outlines for 01 and 02, add rough outline of course to README, this course will focus on less but better