ENGLISH

Deep Learning with PyTorch: A practical approach to building neural network models using PyTorch

Book information

Publisher
Packt Publishing Ltd
Year
2018
ISBN
1788626079, 9781788626071
Language
english
Format
PDF
Filesize
2 MB (2582399 bytes)
Pages
262\250
Topic
Computers
Time added
2023-02-21 00:45:27

Description

Build neural network models in text, vision and advanced analytics using PyTorch Key FeaturesLearn PyTorch for implementing cutting-edge deep learning algorithms.Train your neural networks for higher speed and flexibility and learn how to implement them in various scenarios;Cover various advanced neural network architecture such as ResNet, Inception, DenseNet and more with practical examples;Book Description 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. What you will learnUse PyTorch for GPU-accelerated tensor computationsBuild custom datasets and data loaders for images and test the models using torchvision and torchtextBuild an image classifier by implementing CNN architectures using PyTorchBuild systems that do text classification and language modeling using RNN, LSTM, and GRULearn advanced CNN architectures such as ResNet, Inception, Densenet, and learn how to use them for transfer learningLearn how to mix multiple models for a powerful ensemble modelGenerate new images using GAN’s and generate artistic images using style transferWho this book is for This book is for machine learning engineers, data analysts, data scientists interested in deep learning and are looking to explore implementing advanced algorithms in PyTorch. Some knowledge of machine learning is helpful but not a mandatory need. Working knowledge of Python programming is expected. Contents Preface Chapter 1: Getting Started with Deep Learning Using PyTorch Artificial intelligence The history of AI Machine learning Examples of machine learning in real life Deep learning Applications of deep learning Hype associated with deep learning  The history of deep learning  Why now? Hardware availability Data and algorithms Deep learning frameworks PyTorch Summary Chapter 2: Building Blocks of Neural Networks Installing PyTorch Our first neural network Data preparation Scalar (0-D tensors)  Vectors (1-D tensors) Matrix (2-D tensors) 3-D tensors Slicing tensors  4-D tensors 5-D tensors Tensors on GPU Variables Creating data for our neural network Creating learnable parameters Neural network model Network implementation  Loss function Optimize the neural network  Loading data  Dataset class DataLoader class Summary  Chapter 3: Diving Deep into Neural Networks Deep dive into the building blocks of neural networks Layers – fundamental blocks of neural networks Non-linear activations Sigmoid Tanh ReLU Leaky ReLU PyTorch non-linear activations The PyTorch way of building deep learning algorithms Model architecture for different machine learning problems Loss functions Optimizing network architecture Image classification using deep learning Loading data into PyTorch tensors Loading PyTorch tensors as batches Building the network architecture Training the model  Summary Chapter 4: Fundamentals of Machine Learning Three kinds of machine learning problems Supervised learning Unsupervised learning Reinforcement learning Machine learning glossary Evaluating machine learning models Training, validation, and test split Simple holdout validation K-fold validation K-fold validation with shuffling  Data representativeness  Time sensitivity Data redundancy Data preprocessing and feature engineering Vectorization Value normalization Handling missing values Feature engineering Overfitting and underfitting Getting more data Reducing the size of the network Applying weight regularization Dropout Underfitting Workflow of a machine learning project Problem definition and dataset creation Measure of success  Evaluation protocol Prepare your data Baseline model Large model enough to overfit Applying regularization Learning rate picking strategies  Summary Chapter 5: Deep Learning for Computer Vision Introduction to neural networks MNIST – getting data Building a CNN model from scratch Conv2d Pooling Nonlinear activation – ReLU View Linear layer Training the model Classifying dogs and cats – CNN from scratch Classifying dogs and cats using transfer learning Creating and exploring a VGG16 model  Freezing the layers Fine-tuning VGG16 Training the VGG16 model  Calculating pre-convoluted features Understanding what a CNN model learns  Visualizing outputs from intermediate layers Visualizing weights of the CNN layer Summary Chapter 6: Deep Learning with Sequence Data and Text Working with text data Tokenization Converting text into characters Converting text into words N-gram representation Vectorization One-hot encoding Word embedding Training word embedding by building a sentiment classifier Downloading IMDB data and performing text tokenization torchtext.data torchtext.datasets Building vocabulary Generate batches of vectors Creating a network model with embedding Training the model Using pretrained word embeddings Downloading the embeddings Loading the embeddings in the model Freeze the embedding layer weights Recursive neural networks Understanding how RNN works with an example  LSTM Long-term dependency  LSTM networks Preparing the data Creating batches Creating the network  Training the model Convolutional network on sequence data Understanding one-dimensional convolution for sequence data  Creating the network Training the model Summary Chapter 7: Generative Networks Neural style transfer  Loading the data Creating the VGG model Content loss Style loss Extracting the losses  Creating loss function for each layers Creating the optimizer Training Generative adversarial networks Deep convolutional GAN Defining the generator network Transposed convolutions Batch normalization Generator Defining the discriminator network Defining loss and optimizer Training the discriminator Training the discriminator with real images Training the discriminator with fake images Training the generator network  Training the complete network Inspecting the generated images Language modeling  Preparing the data  Generating the batches  Batches  Backpropagation through time Defining a model based on LSTM Defining the train and evaluate functions Training the model Summary Chapter 8: Modern Network Architectures Modern network architectures ResNet  Creating PyTorch datasets Creating loaders for training and validation Creating a ResNet model Extracting convolutional features Creating a custom PyTorch dataset class for the pre-convoluted features and loader Creating a simple linear model Training and validating the model Inception Creating an Inception model Extracting convolutional features using register_forward_hook Creating a new dataset for the convoluted features Creating a fully connected model Training and validating the model Densely connected convolutional networks – DenseNet DenseBlock DenseLayer Creating a DenseNet model Extracting DenseNet features Creating a dataset and loaders Creating a fully connected model and train Model ensembling Creating models Extracting the image features Creating a custom dataset along with data loaders Creating an ensembling model Training and validating the model Encoder-decoder architecture  Encoder  Decoder Summary Chapter 9: What Next? What next? Overview Interesting ideas to explore Object detection Image segmentation OpenNMT in PyTorch Alien NLP fast.ai – making neural nets uncool again Open Neural Network Exchange  How to keep yourself updated Summary Other Books You May Enjoy Index

Similar books