Preface
Acknowledgements
1. About this Book
1.1 Welcome to Deep Learning in Production
1.2 Is this book for me?
1.3 What is the book’s goal?
1.4 Will this be difficult to learn?
1.5 Why should you read this book?
1.6 How to use this book?
1.7 How is the book structured?
1.8 Do I need to know anything else before I get started?
2. Designing a Machine Learning System
2.1 Machine learning: phase zero
2.2 Data engineering
2.3 Model engineering
2.4 DevOps engineering
2.5 Putting it all together
2.6 Tackling a real-life problem
3. Setting up a Deep Learning Workstation
3.1 Laptop setup
3.2 Frameworks and libraries
3.3 Development tools
3.4 Python package and environment management
4. Writing and Structuring Deep Learning Code
4.1 Best practices
4.2 Unit testing
4.3 Debugging
5. Data Processing
5.1 ETL: Extract, Transform, Load
5.2 Data reading
5.3 Processing
5.4 Loading
5.5 Optimizing a data pipeline
6. Training
6.1 Building a trainer
6.2 Training in the cloud
6.3 Distributed training
7. Serving
7.1 Preparing the model
7.2 Creating a web application using Flask
7.3 Serving with uWSGI and Nginx
7.4 Serving with model servers
8. Deploying
8.1 Containerizing using Docker and Docker Compose
8.2 Deploying in a production environment
8.3 Continuous Integration and Delivery (CI / CD)
9. Scaling
9.1 A journey from 1 to millions of users
9.2 Growing with Kubernetes
10. Building an End-to-End Pipeline
10.1 MLOps
10.2 Building a pipeline using TFX
10.3 MLOps with Vertex AI and Google Cloud
10.4 More end-to-end solutions
11. Where to Go from Here
Appendix
Table of Figures
About the Author