I am fairly new to deep learning and TensorFlow, and in the set of lectures from the course I am taking they go over two methods of employing TensorFlow: using estimators and using sessions. It seems like the estimators method is much easier to understand and simpler as it is similar to what I have done using the sklearn classifier packages. Is there any particular reason why one would use sessions instead of estimators? Or will it depend on the type of dataset I am dealing with?
A simple answer would be:
Estimator hides some TensorFlow concepts, such as Graph and
Session, from the user. This is best for newbies since it makes new learners be able to get started much easier (this is nothing to do with the type of dataset, just use tf.dataset
API to write an input_fn
is sufficient to provide input data for an estimator).
Once you have played with tensorflow for a while, understanding how Estimator works and maybe start to use low-level APIs is definitely needed to make you an expert.