Deploying PyTorch Models in Production: PyTorch Playbook

This course covers the important aspects of performing distributed training of PyTorch models, using the multiprocessing, data-parallel, and distributed data-parallel approaches. It also discusses which you can host PyTorch models for prediction.
Course info
Level
Advanced
Updated
Aug 1, 2019
Duration
2h 13m
Table of contents
Description
Course info
Level
Advanced
Updated
Aug 1, 2019
Duration
2h 13m
Description

PyTorch is fast emerging as a popular choice for building deep learning models owing to its flexibility, ease-of-use, and built-in support for optimized hardware such as GPUs. Using PyTorch, you can build complex deep learning models, while still using Python-native support for debugging and visualization. In this course, Deploying PyTorch Models in Production: PyTorch Playbook you will gain the ability to leverage advanced functionality for serializing and deserializing PyTorch models, training, and then deploying them for prediction. First, you will learn how the load_state_dict and the torch.save() and torch.load() methods complement and differ from each other, and the relative pros and cons of each. Next, you will discover how to leverage the state_dict which is a handy dictionary with information about parameters as well as hyperparameters. Then, you will see how the multiprocessing, data-parallel, and distributed data-parallel approaches to distributed training can be used in PyTorch. You will train a PyTorch model on a distributed cluster using high-level estimator APIs. Finally, you will explore how to deploy PyTorch models using a Flask application, a Clipper cluster, and a serverless environment. When you’re finished with this course, you will have the skills and knowledge to perform distributed training and deployment of PyTorch models and utilize advanced mechanisms for model serialization and deserialization.

About the author
About the author

A problem solver at heart, Janani has a Masters degree from Stanford and worked for 7+ years at Google. She was one of the original engineers on Google Docs and holds 4 patents for its real-time collaborative editing framework.

More from the author
More courses by Janani Ravi
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi! My name is Janani Ravi, and welcome to this course on Deploying PyTorch Models in Production. A little about myself. I have a master's degree in electrical engineering from Stanford and have worked at companies such as Microsoft, Google, and Flipkart. At Google, I was one of the first engineers working on real-time collaborative editing in Google Docs, and I hold four patents for its underlying technologies. I currently work on my own startup, Loonycorn, a studio for high-quality video content. PyTorch is fast emerging as a popular choice for building deep learning models owing to its flexibility, ease of use, and built-in support for optimized hardware such as GPUs. In this course, you will gain the ability to leverage advanced functionality for serializing and deserializing PyTorch models, training and then deploying them for production. First, you will learn how the load_state_dict under torch.save and torch.load methods complement and differ from each other and the relative pros and cons of each. Next, you will discover how to leverage the state dictionary, which is a handy dictionary with information about parameters, as well as hyper-parameters. You will then see how the multi-processing data parallel and distributed data parallel approaches to distributed training can be used in PyTorch. You will train a PyTorch model on a distributed cluster using high-level estimator APIs. Finally, you'll explore how to deploy PyTorch models using a Flask application, a Clipper cluster, and a serverless environment. When you're finished with this course, you will have skills and knowledge to perform distributed training and deployment of PyTorch models and utilize advanced mechanisms for model serialization and deserialization.