Part 2 is structured differently than part 1; it’s almost a book within a book. We’ll take a single use case and explore it in depth over the course of several chapters, starting with the basic building blocks we learned in part 1, and building out a more complete project than we’ve seen so far. Our first attempts are going to be incomplete and inaccurate, and we’ll explore how to diagnose those problems and then fix them. We’ll also identify various other improvements to our solution, implement them, and measure their impact. In order to train the models we’ll develop in part 2, you will need access to a GPU with at least 8 GB of RAM as well as several hundred gigabytes of free disk space to store the training data.