Book Image

Deep Learning with PyTorch

By : Vishnu Subramanian
Book Image

Deep Learning with PyTorch

By: Vishnu Subramanian

Overview of this book

Deep learning powers the most intelligent systems in the world, such as Google Voice, Siri, and Alexa. Advancements in powerful hardware, such as GPUs, software frameworks such as PyTorch, Keras, TensorFlow, and CNTK along with the availability of big data have made it easier to implement solutions to problems in the areas of text, vision, and advanced analytics. This book will get you up and running with one of the most cutting-edge deep learning libraries—PyTorch. PyTorch is grabbing the attention of deep learning researchers and data science professionals due to its accessibility, efficiency and being more native to Python way of development. You'll start off by installing PyTorch, then quickly move on to learn various fundamental blocks that power modern deep learning. You will also learn how to use CNN, RNN, LSTM and other networks to solve real-world problems. This book explains the concepts of various state-of-the-art deep learning architectures, such as ResNet, DenseNet, Inception, and Seq2Seq, without diving deep into the math behind them. You will also learn about GPU computing during the course of the book. You will see how to train a model with PyTorch and dive into complex neural networks such as generative networks for producing text and images. By the end of the book, you'll be able to implement deep learning applications in PyTorch with ease.
Table of Contents (11 chapters)

What this book covers

Chapter 1, Getting Started with Deep Learning Using PyTorch, goes over the history of artificial intelligence (AI) and machine learning and looks at the recent growth of deep learning. We will also cover how various improvements in hardware and algorithms triggered huge success in the implementation of deep learning across different applications. Finally, we will introduce the beautiful PyTorch Python library, built on top of Torch by Facebook.

Chapter 2, Building Blocks of Neural Networks, discusses the knowledge of various building blocks of PyTorch, such as variables, tensors, and nn.module, and how they are used to develop neural networks.

Chapter 3, Diving Deep into Neural Networks, covers the different processes involved in training a neural network, such as the data preparation, data loaders for batching tensors, the torch.nn package for creating network architectures and the use of PyTorch loss functions and optimizers.

Chapter 4, Fundamentals of Machine Learning, covers different types of machine learning problems, along with challenges such as overfitting and underfitting. We also cover different techniques such as data augmentation, adding dropouts, and using batch normalization to prevent overfitting.

Chapter 5, Deep Learning for Computer Vision, explains the building blocks of Convolutional Neural Networks (CNNs), such as one-dimensional and two-dimensional convolutions, max pooling, average pooling, basic CNN architectures, transfer learning, and using pre-convoluted features to train faster.

Chapter 6, Deep Learning with Sequence Data and Text, covers word embeddings, how to use pretrained embeddings, RNN, LSTM, and one-dimensional convolutions for text classification on the IMDB dataset.

Chapter 7, Generative Networks, explains how to use deep learning to generate artistic images, new images with DCGAN, and text using language modeling.

Chapter 8, Modern Network Architectures, explores architectures such as ResNet, Inception, and DenseNet that power modern computer vision applications. We will have a quick introduction to encoder-decoder architectures that power modern systems such as language translations and image captioning.

Chapter 9, What Next?, looks into the summarizes what we have learned and looks at keeping yourself updated in the field of deep learning.