1 回答
TA贡献1831条经验 获得超10个赞
您必须像训练时一样创建输入函数。
代码:
def my_input_fn(features, batch_size=256):
"""An input function for prediction."""
# Convert the inputs to a Dataset without labels.
return tf.data.Dataset.from_tensor_slices(dict(features)).batch(batch_size)
testX = pd.DataFrame(trainX.loc[0]).T
predictions = est.predict(
input_fn=lambda: my_input_fn(testX))
预测将为您提供一个生成器对象。你必须迭代它才能获得预测
for pred_dict in predictions:
class_id = pred_dict['class_ids'][0]
probability = pred_dict['probabilities'][class_id]
print(class_id, probability)
class_id是预测的ID。
请注意,pred_dict 还包含其他信息。
以下是 pred_dict 中包含的信息:
{'all_class_ids': array([0, 1]),
'all_classes': array([b'0', b'1'], dtype=object),
'class_ids': array([0], dtype=int64),
'classes': array([b'0'], dtype=object),
'logistic': array([0.17926924], dtype=float32),
'logits': array([-1.5213063], dtype=float32),
'probabilities': array([0.82073075, 0.17926925], dtype=float32)}
添加回答
举报