gpt4 book ai didi

python - 如何将 tensorflow 模型部署到azure ml工作台

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:41 25 4
gpt4 key购买 nike

我正在使用 Azure ML Workbench 执行二进制分类。到目前为止,一切正常,我有很好的准确性,我想将模型部署为用于推理的 Web 服务。

我真的不知道从哪里开始:azure 提供了这个 doc ,但该示例使用 sklearnpickle,而不是 tensorflow

我什至不确定是否应该使用 tf.train.Saver() 还是使用 tf.saved_model_builder() 保存和恢复模型。

如果有人有一个在 azure ml 工作台中使用普通 tensorflow 的好例子,那就太好了。

最佳答案

好的,对于有同样疑问的人,我找到了答案。我没有使用 pickle 模型,而是按照 this 将模型保存为 protobuf。 。然后,我编写 init()、run() 和 load_graph() 方法,如下所示:

def init():
global persistent_session, model, x, y, keep_prob, inputs_dc, prediction_dc
#load the model and connect the inputs / outputs
model = load_graph(os.path.join(os.environ['AZUREML_NATIVE_SHARE_DIRECTORY'], 'frozen_model.pb'))
x = model.get_tensor_by_name('prefix/Placeholder:0')
y = model.get_tensor_by_name('prefix/convNet/sample_prediction:0')
keep_prob = model.get_tensor_by_name('prefix/Placeholder_3:0')
persistent_session = tf.Session(graph=model)

# load the graph from protobuf file
def load_graph(frozen_graph_filename):
with tf.gfile.GFile(frozen_graph_filename, "rb") as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())

with tf.Graph().as_default() as graph:
tf.import_graph_def(graph_def, name="prefix")
return graph

# run the inference
def run(input_array):
import json
global clcf2, inputs_dc, prediction_dc
try:
prediction = persistent_session.run(y, feed_dict={ x: input_array, keep_prob:1.0})
print("prediction : ", prediction)
inputs_dc.collect(input_array)
prediction_dc.collect(prediction.tolist())
return prediction
except Exception as e:
return (str(e))
return json.dumps(str(prediction.tolist()))

可能需要一些清洁,但它有效!

关于python - 如何将 tensorflow 模型部署到azure ml工作台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48205428/

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