This repository contains detailed information and files for the PyTorch Scholarship Challenge Nanodegree Program.
Deep learning is a field of machine learning utilizing massive neural networks, massive datasets, and accelerated computing on GPUs. Many of the advancements we've seen in AI recently are due to the power of deep learning. This revolution is impacting a wide range of industries already with applications such as personal voice assistants, medical imaging, automated vehicles, video game AI, and more.
In this course, we cover the concepts behind deep learning and how to build deep learning models using PyTorch. There are a lot of hands-on exercises by the end of the course, we'll be defining and training your own state-of-the-art deep learning models.
PyTorch is an open-source Python framework from the Facebook AI Research team used for developing deep neural networks. I like to think of PyTorch as an extension of Numpy that has some convenience classes for defining neural networks and accelerated computations using GPUs. PyTorch is designed with a Python-first philosophy, it follows Python conventions and idioms, and works perfectly alongside popular Python packages.
In this course, we'll learn the basics of deep neural networks and how to build various models using PyTorch. We'll get hands-on experience building state-of-the-art deep learning models.
- Introduction to Neural Networks
- Learn the concepts behind deep learning and how we train deep neural networks with backpropagation.
- Talking PyTorch with Soumith Chintala
- Cezanne Camacho and Soumith Chintala, the creator of PyTorch, chat about the past, present, and future of PyTorch.
- Introduction to PyTorch
- Learn how to build deep neural networks with PyTorch
- Build a state-of-the-art model using a pre-trained network that classifies cat and dog images
- Convolutional Neural Networks
- Here you'll learn about convolutional neural networks, powerful architectures for solving computer vision problems.
- Build and train an image classifier from scratch to classify dog breeds.
- Style Transfer
- Use a trained network to transfer the style of one image to another image
- Implement the style transfer model from Gatys et al.
- Recurrent Neural Networks
- Learn how to use recurrent neural networks to learn from sequences of data such as time series
- Build a recurrent network that learns from text and generates new text one character at a time
- Sentiment Prediction with an RNN
- Build and train a recurrent network that can classify the sentiment of movie reviews
- Deploying PyTorch Models
- Learn how to use PyTorch's Hybrid Frontend to convert models from Python to C++ for use in production