我正在尝试使用TensorFlow的DNNClassifier(tf.estimator.DNNClassifier)构建实时预测器。以下是用于预测和读取预测值的代码段
def predictor( horizontal, vertical1, vertical2):
predict_x = {
'horizontal': [horizontal],
'vertical1': [vertical1],
'vertical2': [vertical2],
}
predictions = classifier.predict(input_fn=lambda:evaluate_input(predict_x))
print(list(predictions))
def evaluate_input(features):
"""An input function for prediction"""
features=dict(features)
# Convert the inputs to a Dataset.
dataset = tf.data.Dataset.from_tensor_slices(features)
# Batch the examples
dataset = dataset.batch(8)
# Return the dataset.
return dataset
在此,预测属于“生成器”类型,并且消耗大量时间来访问内部值。我只想要两个值'class_ids'和'probabilities'。
我用
尝试了predict_keys = ("class_ids","probabilities"),
yield_single_examples = True
作为classifier.predict的参数但结果仍然相同
预测的这种缓慢访问时间使我的代码不是实时的。
如何更快地访问它并使其实时化。