Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将tensorflow模型部署到azure ml workbench_Python_Azure_Tensorflow_Workbench - Fatal编程技术网

Python 如何将tensorflow模型部署到azure ml workbench

Python 如何将tensorflow模型部署到azure ml workbench,python,azure,tensorflow,workbench,Python,Azure,Tensorflow,Workbench,我正在使用Azure ML Workbench执行二进制分类。到目前为止,一切都很好,我有很好的准确性,我希望将该模型部署为一个用于推理的web服务 我真的不知道从哪里开始:azure提供了这一点,但示例使用了sklearn和pickle,而不是tensorflow 我甚至不确定是否应该使用tf.train.Saver()或tf.saved\u model\u builder()保存和恢复模型 如果有人有一个在azure ml workbench中使用vanilla tensorflow的好例子

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

我真的不知道从哪里开始:azure提供了这一点,但示例使用了
sklearn
pickle
,而不是
tensorflow

我甚至不确定是否应该使用
tf.train.Saver()
tf.saved\u model\u builder()
保存和恢复模型


如果有人有一个在azure ml workbench中使用vanilla tensorflow的好例子,那就太好了

好吧,对于那些想知道同样问题的人,我找到了答案。 我没有使用
pickle
模型,而是通过以下方式将模型保存为
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()))
可能需要一些清洁,但它工作