我希望部署一个Tensorflow模型,以便可以使用RESTful应用程序接口访问它以进行推理。
Tensorflow Serving看起来是这项工作的理想工具。我现在使用Tensorflow服务运行了一些MWEs。我也有我的模型工作。
用户将通过Flask网站访问模型,并通过该网站上传数据。Flask网站会将数据发送到模型容器,并返回结果。
但是,对于我的用例,该模型每月最多访问几次,并且延迟不是很大的问题。让模型全天候运行在云服务器上将是一种巨大的资源浪费。
是否有任何工具、工作流或指南允许用户通过web界面部署然后关闭模型?他们愿意等待实例启动的时间。
我是云服务不可知论者,甚至还没有和Tensorflow服务系统结过婚。This question提出了类似的担忧,但没有得到回答。
谢谢
发布于 2019-04-12 02:39:05
您可以在flask应用程序上进行预测,而不是将数据发送到tensorflow服务服务器进行预测。
这是一个基本的例子:
@app.route('/predict/', methods=['GET','POST'])
def predict():
# get data from drawing canvas and save as image
data = parseData(request.get_data())
graph = tf.get_default_graph()
with graph.as_default():
out = model.predict(x)
response = np.array_str(np.argmax(out, axis=1))
return response 我们还构建了一个开源工具包,用于打包和部署模型www.github.com/bentoml/bentoml。使用我们的工具包,您可以将模型导出到文件存档中,并将其作为python模块导入flask应用程序中。这样,当你做出预测时,你将与你的flask应用程序共享资源。
https://stackoverflow.com/questions/53468124
复制相似问题