# Intermediate Deep Learning with PyTorch

Learn about fundamental deep learning architectures such as CNNs, RNNs, LSTMs, and GRUs for modeling image and sequential data.

Start Course for Free4 Hours15 Videos51 Exercises

## Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.Training 2 or more people?Try DataCamp For Business

## Loved by learners at thousands of companies

## Course Description

## Learn Deep Learning

Deep learning is a rapidly evolving field of artificial intelligence that revolutionized the field of machine learning, enabling breakthroughs in areas such as computer vision, natural language processing, and speech recognition. The most recent advances in Generative AI, including image generators and conversational chatbots, have brought deep machine learning models to the public spotlight. Start learning about how deep learning works and how to train deep models yourself today.## Use PyTorch, the Most Pythonic Way to Do Deep Learning

PyTorch is a powerful and flexible deep learning framework that allows researchers and practitioners to build and train neural networks with ease. Loved by Pythonistas around the world, PyTorch offers a lot of flexibility and an intuitive way to implement deep learning concepts.## Train Robust Deep Learning Models

This course in deep learning with PyTorch is designed to provide you with a comprehensive understanding of the fundamental concepts and techniques of deep learning, and equip you with the practical skills to implement various neural network concepts. You’ll get to grips with multi-input and multi-output architectures. You’ll learn how to prevent the vanishing and exploding gradients problems using non-saturating activations, batch normalization, and proper weights initialization. You will be able to alleviate overfitting using regularization and dropout. Finally, you will know how to accelerate the training process with learning rate scheduling.## Build Image and Sequence Models

You get to know two specialized neural network architectures: Convolutional Neural Networks (CNNs) for image data and Recurrent Neural Networks (RNNs) for sequential data such as time series or text. You will understand their advantages and will be able to implement them in image classification and time series prediction tasks.By the end of the course, you will have the knowledge and confidence to robustly train and evaluate your own deep learning models for a range of applications.

For Business

### Training 2 or more people?

Get your team access to the full DataCamp library, with centralized reporting, assignments, projects and more- 1
### Training Robust Neural Networks

**Free**Learn how to train neural networks in a robust way. In this chapter, you will use object-oriented programming to define PyTorch datasets and models and refresh your knowledge of training and evaluating neural networks. You will also get familiar with different optimizers and, finally, get to grips with various techniques that help mitigate the problems of unstable gradients so ubiquitous in neural nets training.

PyTorch and object-oriented programming50 xpPyTorch Dataset100 xpPyTorch DataLoader100 xpPyTorch Model100 xpOptimizers, training, and evaluation50 xpTraining loop100 xpOptimizers100 xpModel evaluation100 xpVanishing and exploding gradients50 xpInitialization and activation100 xpActivations: ReLU vs. ELU100 xpBatch Normalization100 xp - 2
### Images & Convolutional Neural Networks

Train neural networks to solve image classification tasks. In this chapter, you will learn how to handle image data in PyTorch and get to grips with convolutional neural networks (CNNs). You will practice training and evaluating an image classifier while learning about how to improve the model performance with data augmentation.

Handling images with PyTorch50 xpImage dataset100 xpData augmentation50 xpData augmentation in PyTorch100 xpConvolutional Neural Networks50 xpThe convolutional layer50 xpBuilding convolutional networks100 xpTraining image classifiers50 xpChoosing augmentations50 xpDataset with augmentations100 xpImage classifier training loop100 xpEvaluating image classifiers50 xpMulti-class model evaluation100 xpAnalyzing metrics per class100 xp - 3
### Sequences & Recurrent Neural Networks

Build and train recurrent neural networks (RNNs) for processing sequential data such as time series, text, or audio. You will learn about the two most popular recurrent architectures, Long-Short Term Memory (LSTM) and Gated Recurrent Unit (GRU) networks, as well as how to prepare sequential data for model training. You will practice your skills by training and evaluating a recurrent model for predicting electricity consumption.

Handling sequences with PyTorch50 xpGenerating sequences100 xpSequential Dataset100 xpRecurrent Neural Networks50 xpSequential architectures100 xpBuilding a forecasting RNN100 xpLSTM and GRU cells50 xpRNN vs. LSTM vs. GRU50 xpLSTM network100 xpGRU network100 xpTraining and evaluating RNNs50 xpRNN training loop100 xpEvaluating forecasting models100 xp - 4
### Multi-Input & Multi-Output Architectures

Build multi-input and multi-output models, demonstrating how they can handle tasks requiring more than one input or generating multiple outputs. You will explore how to design and train these models using PyTorch and delve into the crucial topic of loss weighting in multi-output models. This involves understanding how to balance the importance of different tasks when training a model to perform multiple tasks simultaneously.

Multi-input models50 xpTwo-input dataset100 xpTwo-input model100 xpTraining two-input model50 xpMulti-output models50 xpTwo-output Dataset and DataLoader100 xpTwo-output model architecture100 xpTraining multi-output models100 xpEvaluation of multi-output models and loss weighting50 xpMulti-output model evaluation100 xpLoss weighting50 xpWrap-up50 xp

In the following tracks

Deep Learning in PythonDeveloping Large Language ModelsMachine Learning Scientist with PythonCollaborators

Prerequisites

Introduction to Deep Learning with PyTorchMichał Oleszak

See MoreMachine Learning Engineer

Michał is a Machine Learning Engineering Manager based in Zurich, Switzerland. He has a background in statistics and econometrics, holding an MSc degree from Erasmus University Rotterdam, The Netherlands. He has worn many hats, having worked at a consultancy, a start-up, a software house, and a large corporation. He blogs about anything machine learning. Visit his website to find out more.

## What do other learners have to say?

## Join over 13 million learners and start Intermediate Deep Learning with PyTorch today!

## Create Your Free Account

or

By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.