7 A deep dive into Keras
This chapter covers
- Ways to create Keras models: the
Sequentialclass, the Functional API, and model subclassing - Using the built-in Keras training and evaluation loops, including custom metrics and custom losses
- Using Keras callbacks to customize how training proceeds
- Using TensorBoard to monitor training and evaluation metrics over time
- Writing training and evaluation loops from scratch
You’re starting to have some experience with Keras. You’re familiar with the Sequential model, Dense layers, and built-in APIs for training, evaluation, and inference: compile(), fit(), evaluate(), and predict(). You even learned in chapter 3 how to inherit from the Layer class to create custom layers and how to use the gradient APIs in TensorFlow, JAX, and PyTorch to implement a step-by-step training loop.
In the coming chapters, we’ll dig into computer vision, timeseries forecasting, natural language processing, and generative deep learning. These complex applications will require much more than a Sequential architecture and the default fit() loop. So let’s first turn you into a Keras expert! In this chapter, you’ll get a complete overview of the key ways to work with Keras APIs: everything you’re going to need to handle the advanced deep learning use cases you’ll encounter next.