What this book covers
Chapter 1, Effective Planning of Deep Learning-Driven Projects, is all about how to prepare a DL project. We introduce various terminologies and techniques used in project planning and describe how to construct a project playbook that summarizes the plan.
Chapter 2, Data Preparation for Deep Learning Projects, describes the first steps of a DL project, data collection and data preparation. In this chapter, we cover how to prepare a notebook setting for the project, collect the necessary data, and process it effectively for training a DL model.
Chapter 3, Developing a Powerful Deep Learning Model, explains the theory behind DL and how to develop a model using the most popular frameworks: PyTorch and TensorFlow.
Chapter 4, Experiment Tracking, Model Management, and Dataset Versioning, introduces a set of useful tools for experiment tracking, model management, and dataset versioning, which enables effective management of a DL project.
Chapter 5, Data Preparation in the Cloud, focuses on using AWS for scaling up a data processing pipeline. Specifically, we look at how to set up and schedule extract, transform, and load (ETL) jobs in a cost-efficient manner.
Chapter 6, Efficient Model Training, starts by describing how to configure TensorFlow and PyTorch training logic to utilize multiple CPU and GPU devices on different machines. Then, we look at tools developed for distributed training: SageMaker, Horovod, Ray, and Kubeflow.
Chapter 7, Revealing the Secret of Deep Learning Models, introduces hyperparameter tuning, the most standard process of finding the right training configuration. We also cover Explainable AI, a set of processes and methods for understanding what DL models do behind the scenes.
Chapter 8, Simplifying Deep Learning Model Deployment, describes how you can utilize open neural network exchange (ONNX), a standard file format for machine learning models, to convert models for various frameworks, which helps in separating the model development from model deployment.
Chapter 9, Scaling a Deep Learning Pipeline, covers the two most popular AWS features designed for deploying a DL model as an inference endpoint: Elastic Kubernetes Service (EKS) and SageMaker.
Chapter 10, Improving Inference Efficiency, introduces techniques for improving the inference latency upon deployment while maintaining the original performance as much as possible: network quantization, weight sharing, network pruning, knowledge distillation, and network architecture search.
Chapter 11, Deep Learning on Mobile Devices, describes how to deploy TensorFlow and PyTorch models on mobile devices using TensorFlow Lite and PyTorch Mobile, respectively.
Chapter 12, Monitoring Deep Learning Endpoints in Production, explains existing solutions for monitoring a system running a DL model in production. Specifically, we discuss how to integrate CloudWatch into endpoints running on SageMaker and EKS clusters.
Chapter 13, Reviewing the Completed Deep Learning Project, covers the last phase of a DL project, the reviewing process. We describe how to effectively evaluate a project and prepare for the next project.