There is a nearly endless list of resources for learning deep learning and machine learning more broadly. I've included some below, with my favorites marked by a
. Currently, my personal recommendation would be to do the following:
If you have never done any machine learning at all and are just trying to get the basic ideas:
Read Part I of Hands-On Machine Learning with Scikit-Learn.
For deep learning and modern AI techniques:
For a practical overview of deep learning using PyTorch, refer to Chapters 12-19 of Machine Learning with PyTorch and Scikit-Learn. Also go through the PyTorch documentation, which itself has several tutorials. Start tinkering with PyTorch (and pytorch-geometric). For a thorough yet accessible understanding of the theory behind deep learning, refer to Understanding Deep Learning . It is excellent, without being overly technical. Chapters 1-10 and 13 are particularly valuable within the context of our group.
-
Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow - This is by far my top-choice recommendation for learning about scikit-learn and more "classical" machine learning topics. That said, the latter half (i.e. the Keras and TensorFlow sections) is probably worth skipping in favor of other options. Chapters 1-4 are a perfect intro.
-
Machine Learning with PyTorch and Scikit-Learn - A widely recommended book that is very practical and includes some nice PyTorch content.
- Dive into Deep Learning
- This is an interactive book on deep learning with PyTorch, MXNet, JAX, and TensorFlow. If you want to understand a particular type of ML model in a given ML framework, this is a good reference.
- Deep Learning with Pytorch
- This is an extremely useful intro book to PyTorch for deep learning.
- Deep Learning with PyTorch video course
- This is a useful video-based tutorial for PyTorch.
- Zero to Mastery Learn PyTorch for Deep Learning video course
-
Understanding Deep Learning by Prince - This is definitely my favorite introductory book about deep learning. It strikes the perfect balance and provides the necessary context to understand what you will later be coding.