Loved by learners at thousands of companies
Learn Deep LearningDeep 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 LearningPyTorch 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 ModelsThis 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 ModelsYou 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.
Training Robust Neural NetworksFree
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
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
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
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
PrerequisitesIntroduction to Deep Learning with PyTorch
Michał OleszakSee More
Machine 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.