Chapter 7. Advanced deep-learning best practices

This chapter covers

  • The Keras functional API
  • Using Keras callbacks
  • Working with the TensorBoard visualization tool
  • Important best practices for developing state-of-the-art models

This chapter explores a number of powerful tools that will bring you closer to being able to develop state-of-the-art models on difficult problems. Using the Keras functional API, you can build graph-like models, share a layer across different inputs, and use Keras models just like Python functions. Keras callbacks and the TensorBoard browser-based visualization tool let you monitor models during training. We’ll also discuss several other best practices including batch normalization, residual connections, hyperparameter optimization, and model ensembling.

7.1. Going beyond the Sequential model: the Keras functional API

Until now, all neural networks introduced in this book have been implemented using the Sequential model. The Sequential model makes the assumption that the network has exactly one input and exactly one output, and that it consists of a linear stack of layers (see figure 7.1).

Figure 7.1. A sequential model: a linear stack of layers

7.2. Inspecting and monitoring deep-learning models using Keras callba- acks and TensorBoard

7.3. Getting the most out of your models