the*_*Kid 9 python machine-learning tensorflow
我正在尝试使用自定义输入函数进行预测estimator.predict
,但它给了我:
WARNING:tensorflow:Input graph does not contain a QueueRunner. That means predict yields forever. This is probably a mistake.
它没有给我一个错误,但predict
只是说它的恢复参数并没有返回实际的预测.这是我的代码:
test_data = [0.03, 0.91, 0.95, 0.10, 0.56, 0.93]
test_data_in = { k: test_data[index] for index, k in enumerate(FEATURES) }
print(test_data_in)
def predict_input_fn(data_set):
feature_cols = { k: tf.reshape(tf.constant(data_set[k], dtype=tf.float32), [-1]) for k in FEATURES }
return feature_cols
predictions = estimator.predict(input_fn=lambda: predict_input_fn(test_data_in))
print(list(predictions))
Run Code Online (Sandbox Code Playgroud)
我看过这个问题,但是我找不到与我的问题相关的解决方案.为什么TensorFlow会显示此警告,如何摆脱它?
我也遇到了这个,阅读线程https://github.com/tensorflow/tensorflow/issues/11621
我认为你的程序是完全正确的,但警告是错误的:)。它是在数据集 API 存在之前很久就添加的,并且是出于好意。(AFAICT Predict() API 依赖于您的输入以 tf.errors.OutOfRangeError 终止,并且在数据集存在之前,只有基于 QueueRunner 的管道才会以这种方式终止,因此如果不存在队列运行程序,这可能是一个错误。)@xiejw 我们应该这样做吗?删除此警告,或者是否有更巧妙的方法来检测错误情况?
希望他们能在不必要的时候消除错误。
归档时间: |
|
查看次数: |
1474 次 |
最近记录: |