Every other day we hear about new ways to put deep learning to good use: improved medical imaging, accurate credit card fraud detection, long range weather forecasting, and more. PyTorch puts these superpowers in your hands, providing a comfortable Python experience that gets you started quickly and then grows with you as you—and your deep learning skills—become more sophisticated. Deep Learning with PyTorch will make that journey engaging and fun.
Perfectly motivating and practical without being shallow.
Part 1: Intro & Fundamentals
1 PyTorch from 1 Mile Away
1.1.1 The Deep Learning Revolution
1.1.2 The Tools Behind the Revolution
1.2 Where PyTorch Comes From
1.3 Why PyTorch
1.4 The Anatomy of PyTorch
1.5 Wrapping up
2 A Whirlwind Tour of PyTorch
2.2 Evaluating the hardware
2.3 Installing PyTorch
2.3.1 Making sure things work
2.3.2 Using Jupyter Notebooks
2.4 Playing with pre-trained networks
2.4.1 A pre-trained network that recognizes the subject of an image
2.4.2 A pre-trained network that makes stuff up
2.4.3 A pre-trained network that describes scenes
2.5 Training a neural network with PyTorch
3 It Starts with a Tensor
3.1 Data in the Learnable Computing Era
3.3 Tensors and Storages
3.4 Size, offset, strides
3.5 Numeric Types
3.6 Indexing Tensors
3.7 NumPy interoperability
3.8 Serializing tensors
3.9 Moving tensors to the GPU
3.10 The tensor API
4 The World as Tensors
4.1 Real-World Data Representation
4.1.1 Tabular Data
4.1.2 Time Series
4.1.6 Volumetric Data
4.1.7 Video Data
5 The Mechanics of Learning
5.1 Algorithms that learn
5.2 Learning through Differentiation
5.2.1 A Hot Problem
5.2.2 Better Linear than Sorry
5.2.3 The Good Loss
5.2.4 From Problem to PyTorch
5.2.5 Down Along the Gradient
5.2.6 Getting Analytical
5.2.7 The Training Loop
5.2.8 Autograd: Back-propagate all things
5.2.9 Optimizers a-la Carte
5.2.10 Training, Validation and Overfitting
5.2.11 Autograd Nits and Switching it Off
5.3 Beyond Linear into Neural Networks
5.3.1 All We Need is Activations
5.4 The PyTorch
5.4.1 Finally a Neural Network
6 Telling Birds from Airplanes - Learning from Images
Part 2: Solving a real-world image-detection problem with CNNs: Cancer Detection
7 How hard can curing cancer be?
8 Nodule Classification
9 Monitoring Metrics: Precision, Recall, and Pretty Pictures
10 Implementing steps 1 and 2: segmentation and clustering
11 Data Improvements, Augmentation, Better Model Architecture
Part 3: Advanced topics
12 Detecting Online Trolling with RNNs
15 Attention is the next big thing
About the TechnologyPyTorch is a machine learning framework with a strong focus on deep neural networks. Because it emphasizes GPU-based acceleration, PyTorch performs exceptionally well on readily-available hardware and scales easily to larger systems. Plus it's Pythonic! Thanks to its define-by-run computation graph model, PyTorch plays nicely with the Python data science ecosystem. It's instantly familiar if you're using Numpy, Pandas, or other similar tools.
It's easy to get started with PyTorch. It minimizes cognitive overhead without sacrificing the access to advanced features, meaning you can focus on what matters the most - building and training the latest and greatest deep learning models and contribute to making a dent in the world. PyTorch is also a snap to scale and extend, and it partners well with other Python tooling. PyTorch has been adopted by hundreds of deep learning practitioners and several first-class players like FAIR, OpenAI, FastAI and Purdue.
About the bookDeep Learning with PyTorch teaches you how to implement deep learning algorithms with Python and PyTorch. This book takes you into a fascinating case study: building an algorithm capable of detecting malignant lung tumors using CT scans. As the authors guide you through this real example, you'll discover just how effective and fun PyTorch can be. After a quick introduction to the deep learning landscape, you'll explore the use of pre-trained networks and start sharpening your skills on working with tensors. You'll find out how to represent the most common types of data with tensors and how to build and train neural networks from scratch on practical examples, focusing on images and sequences.
After covering the basics, the book will take you on a journey through larger projects. The centerpiece of the book is a neural network designed for cancer detection. You'll discover ways for training networks with limited inputs and start processing data to get some results. You'll sift through the unreliable initial results and focus on how to diagnose and fix the problems in your neural network. Finally, you'll look at ways to improve your results by training with augmented data, make improvements to the model architecture, and perform other fine tuning.
- Using the PyTorch tensor API
- Understanding automatic differentiation in PyTorch
- Training deep neural networks
- Monitoring training and visualizing results
- Implementing modules and loss functions
- Loading data in Python for PyTorch
- Interoperability with NumPy
- Deploying a PyTorch model for inference
About the readerWritten for developers with some knowledge of Python as well as basic linear algebra skills. Some understanding of deep learning will be helpful, however no experience with PyTorch or other deep learning frameworks is required.
About the authorsEli Stevens has worked in Silicon Valley for the past 15 years as a software engineer, and the past 7 years as Chief Technical Officer of a startup making medical device software. Luca Antiga is co-founder and CEO of an AI engineering company located in Bergamo, Italy, and a regular contributor to PyTorch.
The book tackles a very specialized subject in an approachable manner. Examples are clear, and the intent of the topics explained is coherent.
The book provides a good introduction to deep learning and the PyTorch package.
One of the most approachable books on Machine Learning.