Deploying PyTorch Models in Production: PyTorch Playbook
By Janani Ravi
Course info



Course info



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.
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.