When building machine learning models from the ground up, a practitioner would typically go through a number of high-level stages. These include training, evaluation, prediction, and shipping for use at scale (or exporting). Until now, developers have had to write custom code to implement each one of these steps. A lot of the boilerplate code necessary to run these processes remains the same across applications. To make things worse, this code can easily necessitate operating at low levels of abstraction. These issues, when put together, can become a huge inefficiency in the development process.
The TensorFlow team attempted to fix this problem by introducing Estimators, a high-level API that aims to abstract out a lot of the complexities incurred whilst performing different tasks in the aforementioned phases. Specifically, Estimators are a high-level API used to encapsulate...