Building Deep Learning Solutions with PyTorch

Paths

Building Deep Learning Solutions with PyTorch

Author: Janani Ravi

PyTorch is an open-source machine learning and deep learning library developed at Facebook for the Python programming language. This skill teaches you how to apply and deploy... Read more

Pre-requisites

  • Machine Learning Literacy
  • Python Programming

Beginner

Build your first PyTorch project, learning the underlying concepts behind the library and how it operates, and apply your knowledge in the Cloud.

Foundations of PyTorch

by Janani Ravi

Apr 1, 2019 / 2h 51m

2h 51m

Start Course
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, Foundations of PyTorch, you will gain the ability to leverage PyTorch support for dynamic computation graphs, and contrast that with other popular frameworks such as TensorFlow. First, you will learn the internals of neurons and neural networks, and see how activation functions, affine transformations, and layers come together inside a deep learning model. Next, you will discover how such a model is trained, that is, how the best values of model parameters are estimated. You will then see how gradient descent optimization is smartly implemented to optimize this process. You will understand the different types of differentiation that could be used in this process, and how PyTorch uses Autograd to implement reverse-mode auto-differentiation. You will work with different PyTorch constructs such as Tensors, Variables, and Gradients. Finally, you will explore how to build dynamic computation graphs in PyTorch. You will round out the course by contrasting this with the approaches used in TensorFlow, another leading deep learning framework which previously offered only static computation graphs, but has recently added support for dynamic computation graphs. When you’re finished with this course, you will have the skills and knowledge to move on to building deep learning models in PyTorch and harness the power of dynamic computation graphs.

Table of contents
  1. Course Overview
  2. Getting Started with PyTorch for Machine Learning
  3. Working PyTorch Tensors
  4. Working with Gradients Using the Autograd Library
  5. Building Dynamic Computation Graphs

Building Your First PyTorch Solution

by Janani Ravi

Jun 28, 2019 / 2h 25m

2h 25m

Start Course
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, Building Your First PyTorch Solution, you will gain the ability to get up and running by building your first regression and classification models. First, you will learn how to install PyTorch using pip and conda, and see how to leverage GPU support. Next, you will discover how to hand-craft a linear regression model using a single neuron, by defining the loss function yourself. You will then see how PyTorch optimizers can be used to make this process a lot more seamless. You will understand how different activation functions and dropout can be added to PyTorch neural networks. Finally, you will explore how to build classification models in PyTorch. You will round out the course by extending the PyTorch base module to implement a custom classifier. When you’re finished with this course, you will have the skills and knowledge to move on to installing PyTorch from scratch in a new environment and building models leveraging and customizing various PyTorch abstractions.

Table of contents
  1. Course Overview
  2. Installing PyTorch on a Local Machine
  3. Understanding Linear Regression with a Single Neuron
  4. Building a Regression Model Using PyTorch
  5. Building a Classification Model Using PyTorch

Using PyTorch in the Cloud: PyTorch Playbook

by Janani Ravi

Apr 25, 2019 / 2h 21m

2h 21m

Start Course
Description

PyTorch is quickly emerging as a popular choice for building deep learning models due to its flexibility, ease-of-use, and built-in support for optimized hardware such as GPUs. But, as a relatively recent entrant in the fast-moving world of deep learning frameworks, PyTorch is only now being fully supported by the major cloud providers. In this course, Using PyTorch in the Cloud: PyTorch Playbook, you will gain the ability to use PyTorch on each of the big three cloud providers: Amazon Web Services (AWS), Microsoft Azure, and the Google Cloud Platform (GCP). First, you will learn how PyTorch can be put to use on AWS, including on AWS Sagemaker notebook instances, Amazon Machine Images (AMIs), and using the Sagemaker PyTorch estimator for distributed training. Next, you will discover how Microsoft Azure supports PyTorch, including Azure notebooks, Azure deep learning VMs, and PyTorch Estimators, which run using the Azure machine learning service. Finally, you will round out the course by understanding GCP support for PyTorch, including both Cloud Datalab (which does not have GPU support), and JupyterLab on GCP Deep Learning VMs (which does). When you are finished with this course, you will have the skills and knowledge to leverage PyTorch on each of the big three cloud providers.

Table of contents
  1. Course Overview
  2. Creating PyTorch Solutions on AWS
  3. Creating PyTorch Solutions on Azure
  4. Creating PyTorch Solutions on the Google Cloud Platform

Intermediate

Apply PyTorch to common deep learning problem domains.

Image Classification with PyTorch

by Janani Ravi

Aug 9, 2019 / 3h 5m

3h 5m

Start Course
Description

Perhaps the most ground-breaking advances in machine learnings have come from applying machine learning to classification problems. In this course, Image Classification with PyTorch, you will gain the ability to design and implement image classifications using PyTorch, which 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. First, you will learn how images can be represented as 4-D tensors and then pre-processed to get the best out of ML algorithms. Next, you will discover how to implement image classification using Dense Neural Networks; you will then understand and overcome the associated pitfalls using Convolutional Neural Networks (CNNs). Finally, you will round out the course by understanding and using the most powerful and popular CNN architectures such as VGG, AlexNet, DenseNet and so on, and leveraging PyTorch’s support for transfer learning. When you’re finished with this course, you will have the skills and knowledge to design and implement efficient and powerful image classification solutions using a range of neural network architectures in PyTorch.

Table of contents
  1. Course Overview
  2. Preprocessing Images to Use in Machine Learning Models
  3. Understanding the Drawbacks of Using Deep Neural Networks with Images
  4. Introducing Convolutional Neural Networks
  5. Building Convolutional Neural Networks for Image Classification
  6. Optimizing Image Classification with Hyperparameter Tuning
  7. Performing Image Classification with Pre-trained Models

Style Transfer with PyTorch

by Janani Ravi

Aug 2, 2019 / 1h 50m

1h 50m

Start Course
Description

Style transfer refers to the use of a neural network to transform an image so that it comes to artistically resemble another image, while still retaining its original content. Neural style transfer is fast becoming popular as a way to change the aesthetics of an image. In this course, Style Transfer with PyTorch, you will gain the ability to use pre-trained convolutional neural networks (CNNs) that come out-of-the-box in PyTorch for style transfer. First, you will learn how style transfer involves a style image as well as a content image, and a pretrained neural network that usually does not change at all during the training process. Next, you will discover how intermediate layers of the CNN are designated as style layers of interest and content layers of interest. Then, you will explore the minimization of two loss functions - a style loss and a content loss. Finally, you will delve into leveraging a new and much-hyped family of ML models, known as Generative Adversarial Networks (GANs) to create realistic images and videos. When you’re finished with this course, you will have the skills and knowledge to perform neural style transfer to get images that combine content and artistic style from two different inputs and use GANs to generate realistic images from noise.

Table of contents
  1. Course Overview
  2. Understanding Neural Style Transfer
  3. Implementing Neural Style Transfer in PyTorch
  4. Building Generative Adversarial Networks in PyTorch

Natural Language Processing with PyTorch

by Janani Ravi

Aug 5, 2019 / 2h 58m

2h 58m

Start Course
Description

From chatbots to machine-generated literature, some of the hottest applications of ML and AI these days are for data in textual form. In this course, Natural Language Processing with PyTorch, you will gain the ability to design and implement complex text processing models using PyTorch, which 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. First, you will learn how to leverage recurrent neural networks (RNNs) to capture sequential relationships within text data. Next, you will discover how to express text using word vector embeddings, a sophisticated form of encoding that is supported by out-of-the-box in PyTorch via the torchtext utility. Finally, you will explore how to build complex multi-level RNNs and bidirectional RNNs to capture both backward and forward relationships within data. You will round out the course by building sequence-to-sequence RNNs for language translation. When you are finished with this course, you will have the skills and knowledge to design and implement complex natural language processing models using sophisticated recurrent neural networks in PyTorch.

Table of contents
  1. Course Overview
  2. Implementing Recurrent Neural Networks (RNNs) in PyTorch
  3. Performing Binary Text Classification Using Words
  4. Performing Multi-class Text Classification Using Characters
  5. Performing Sentiment Analysis Using Word Embeddings
  6. Performing Language Translation Using Sequence-to-Sequence Models

Advanced

Use PyTorch to create predictive analytics models, apply transfer learning techniques, and deploy and monitor your models in production.

Expediting Deep Learning with Transfer Learning: PyTorch Playbook

by Janani Ravi

Jul 31, 2019 / 1h 46m

1h 46m

Start Course
Description

Transfer learning refers to the re-use of a trained machine learning model for a similar problem, keeping the model architecture unchanged, but potentially altering the model’s weights. In this course, Expediting Deep Learning with Transfer Learning: PyTorch Playbook, you will gain the ability to identify the right approach to transfer learning, and implement it using PyTorch. First, you will learn how different forms of transfer learning - such as inductive, transductive, and unsupervised transfer learning - can be applied to different combinations of source and target domains. Next, you will discover how transfer learning solutions leverage the fact that lower layers of pre-trained models typically extract feature information and are data-specific, while later layers tend to be more problem-specific. Finally, you will explore how to design and implement the correct strategy for freezing and fine-tuning the appropriate layers of your pre-trained model. You will round out the course by seeing how various powerful architectures are made available, in pre-trained form, in PyTorch’s suite of transfer learning solutions. When you’re finished with this course, you will have the skills and knowledge to choose the right transfer learning approach to your specific problem, and design and implement it using PyTorch.

Table of contents
  1. Course Overview
  2. Getting Started with Transfer Learning
  3. Performing Feature Extraction Using Transfer Learning
  4. Reusing Model Architectures and Designs

Deploying PyTorch Models in Production: PyTorch Playbook

by Janani Ravi

Aug 1, 2019 / 2h 14m

2h 14m

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

Table of contents
  1. Course Overview
  2. Persisting and Loading PyTorch Models
  3. Implementing Training Using Single and Multiple Processors
  4. Implementing Distributed Training on Multiple Machines
  5. Deploying PyTorch Models to Production
Offer Code *
Email * First name * Last name *
Company
Title
Phone
Country *

* Required field

Opt in for the latest promotions and events. You may unsubscribe at any time. Privacy Policy

By providing my phone number to Pluralsight and toggling this feature on, I agree and acknowledge that Pluralsight may use that number to contact me for marketing purposes, including using autodialed or pre-recorded calls and text messages. I understand that consent is not required as a condition of purchase from Pluralsight.

By activating this benefit, you agree to abide by Pluralsight's terms of use and privacy policy.

I agree, activate benefit