Estimators in TensorFlow are high-level APIs used to provide a high amount of code reusability when training a model. They can also override the default behavior of any aspect of the model.
There are two ways of the model building using estimators:
Premade estimator: Used to create a specific model like DNNClassifier
Base class estimator: Used to control a model using a model_fn function