Preface 1. Getting Started with PyTorch Building a Custom Deep Learning Machine GPU CPU/Motherboard RAM Storage Deep Learning in the Cloud Google Colaboratory Cloud Providers Which Cloud Provider Should I Use? Using Jupyter Notebook Installing PyTorch from Scratch Download CUDA Anaconda Finally, PyTorch?。╝nd Jupyter Notebook) Tensors Tensor Operations Tensor Broadcasting Conclusion Further Reading 2. Image Classification with PyTorch Our Classification Problem Traditional Challenges But First, Data PyTorch and Data Loaders Building a Training Dataset Building Validation and Test Datasets Finally, a Neural Network! Activation Functions Creating a Network Loss Functions Optimizing Training Making It Work on the GPU Putting It All Together Making Predictions Model Saving Conclusion Further Reading 3. Convolutional Neural Networks Our First Convolutional Model Convolutions Pooling Dropout History of CNN Architectures AlexNet Inception/GoogLeNet VGG ResNet Other Architectures Are Available! Using Pretrained Models in PyTorch Examining a Model's Structure BatchNorm Which Model Should You Use? One-Stop Shopping for Models: PyTorch Hub Conclusion Further Reading 4. Transfer Learning and Other Tricks Transfer Learning with ResNet Finding That Learning Rate Differential Learning Rates Data Augmentation Torchvision Transforms Color Spaces and Lambda Transforms Custom Transform Classes Start Small and Get Bigger! Ensembles Conclusion Further Reading 5. Text Classificati0n Recurrent Neural Networks Long Short-Term Memory Networks Gated Recurrent Units biLSTM Embeddings torchtext Getting Our Data: Tweets! Defining Fields Building a Vocabulary Creating Our Model Updating the Training Loop Classifying Tweets Data Augmentation Random Insertion Random Deletion Random Swap Back Translation Augmentation and torchtext Transfer Learning? Conclusion Further Reading 6. A Journey into Sound Sound The ESC-50 Dataset Obtaining the Dataset Playing Audio in Jupyter Exploring ESC-50 SoX and LibROSA torchaudio Building an ESC-50 Dataset A CNN Model for ESC-50 This Frequency Is My Universe Mel Spectrograms A New Dataset A Wild ResNet Appears Finding a Learning Rate Audio Data Augmentation torchaudio Transforms SoX Effect Chains SpecAugment Further Experiments Conclusion Further Reading 7. Debugging PyTorch Models It's 3 a.m. What Is Your Data Doing? TensorBoard Installing TensorBoard Sending Data to TensorBoard PyTorch Hooks Plotting Mean and Standard Deviation Class Activation Mapping Flame Graphs Installing py-spy Reading Flame Graphs Fixing a Slow Transformation Debugging GPU Issues Checking Your GPU Gradient Checkpointing Conclusion Further Reading 8. PyTorch in Production Model Serving Building a Flask Service Setting Up the Model Parameters Building the Docker Container Local Versus Cloud Storage Logging and Telemetry Deploying on Kubernetes Setting Up on Google Kubernetes Engine Creating a k8s Cluster Scaling Services Updates and Cleaning Up TorchScript Tracing Scripting TorchScript Limitations Working with libTorch Obtaining libTorch and Hello World Importing a TorchScript Model Conclusion Further Reading 9. PyTorch in the Wild Data Augmentation: Mixed and Smoothed mixup Label Smoothing Computer, Enhance! Introduction to Super-Resolution An Introduction to GANs The Forger and the Critic Training a GAN The Dangers of Mode Collapse ESRGAN Further Adventures in Image Detection Object Detection Faster R-CNN and Mask R-CNN Adversarial Samples Black-Box Attacks Defending Against Adversarial Attacks More Than Meets the Eye: The Transformer Architecture Paying Attention Attention Is All You Need BERT FastBERT GPT-2 Generating Text with GPT-2 ULMFiT What to Use? Conclusion Further Reading Index