TensorFlow estimator.predict() gives WARNING:tensorflow:Input graph does not contain a QueueRunner

I hit this too, reading the thread https://github.com/tensorflow/tensorflow/issues/11621

I think your program is perfectly correct and it's the warning that's wrong :). It was added long before the Datasets API existed, and was well intentioned. (AFAICT the predict() API relies on your input terminating with a tf.errors.OutOfRangeError and before Datasets existed only QueueRunner-based pipelines would terminate that way, so it probably was an error if no queue runners existed.) @xiejw Should we remove this warning, or is there a more cunning way to detect the error condition?

Hopefully they will remove the error when it's unnecessary.


Until they change the behaviour of this warning, here's a quick patch to suppress it:

tf.estimator.Estimator._validate_features_in_predict_input = lambda *args: None

Include this line after importing tensorflow.

It shouldn't have any unintended side effects, but have a look at the source code if you want to convince yourself.