gpt4 book ai didi

python - TensorFlow:如何从 SavedModel 进行预测?

转载 作者:太空狗 更新时间:2023-10-29 17:58:28 25 4
gpt4 key购买 nike

我已经导出了一个 SavedModel,现在我可以将其重新加载并进行预测。它使用以下特征和标签进行训练:

F1 : FLOAT32
F2 : FLOAT32
F3 : FLOAT32
L1 : FLOAT32

假设我想输入值 20.9, 1.8, 0.9 得到一个 FLOAT32 预测。我该如何做到这一点?我已成功加载模型,但我不确定如何访问它以进行预测调用。

with tf.Session(graph=tf.Graph()) as sess:
tf.saved_model.loader.load(
sess,
[tf.saved_model.tag_constants.SERVING],
"/job/export/Servo/1503723455"
)

# How can I predict from here?
# I want to do something like prediction = model.predict([20.9, 1.8, 0.9])

此问题与发布的问题不重复 here .这个问题侧重于对任何模型类(不仅限于 tf.estimator)的 SavedModel 执行推理的最小示例,以及指定输入和输出节点名称的语法.

最佳答案

假设您想要使用 Python 进行预测,SavedModelPredictor可能是加载 SavedModel 并获得预测的最简单方法。假设您像这样保存模型:

# Build the graph
f1 = tf.placeholder(shape=[], dtype=tf.float32)
f2 = tf.placeholder(shape=[], dtype=tf.float32)
f3 = tf.placeholder(shape=[], dtype=tf.float32)
l1 = tf.placeholder(shape=[], dtype=tf.float32)
output = build_graph(f1, f2, f3, l1)

# Save the model
inputs = {'F1': f1, 'F2': f2, 'F3': f3, 'L1': l1}
outputs = {'output': output_tensor}
tf.contrib.simple_save(sess, export_dir, inputs, outputs)

(输入可以是任何形状,甚至不必是图中的占位符或根节点)。

然后,在将使用 SavedModel 的 Python 程序中,我们可以获得如下预测:

from tensorflow.contrib import predictor

predict_fn = predictor.from_saved_model(export_dir)
predictions = predict_fn(
{"F1": 1.0, "F2": 2.0, "F3": 3.0, "L1": 4.0})
print(predictions)

This answer展示了如何在 Java、C++ 和 Python 中获得预测(尽管 问题 集中在 Estimators 上,但答案实际上独立于 SavedModel 的创建方式) .

关于python - TensorFlow:如何从 SavedModel 进行预测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45900653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com