We saw in the first part of this chapter that the Estimator API is a high-level alternative to the Keras API. Estimators simplify training, evaluation, prediction, and serving.
There are two types of Estimators. Pre-made Estimators are very simple models provided by TensorFlow, allowing you to quickly try out machine learning architectures. The second type is custom Estimators, which can be created using any model architecture.
Estimators handle all the small details of a model's life cycle—data queues, exception handling, recovering from failure, periodic checkpoints, and many more. While using Estimators was considered best practice in TensorFlow 1, in version 2, it is recommended to use the Keras API.