【问题标题】:Contingent Tensorflow Model Deployment条件 TensorFlow 模型部署
【发布时间】:2018-11-25 13:48:11
【问题描述】:

我希望部署一个 Tensorflow 模型,以便可以使用 RESTful API 访问它以进行推理。

Tensorflow Serving 看起来是完成这项工作的理想工具。我现在使用 Tensorflow Serving 运行了一些 MWE。我的模型也在工作。

用户将通过 Flask 网站访问模型,并通过该网站上传数据。 Flask 网站会将数据发送到模型容器,并返回结果。

但是,对于我的用例,该模型每月最多会被访问几次,延迟不是一个大问题。让模型在云服务器上 24/7 全天候运行将代表大量资源浪费。

是否有任何工具、工作流程或指南可以让用户通过网络界面部署模型然后关闭?他们愿意等待实例启动的时间。

我与云服务无关,甚至没有与 Tensorflow 服务系统结婚。 This question 提出了类似的担忧,但没有得到答复。

谢谢

【问题讨论】:

    标签: docker tensorflow deployment cloud devops


    【解决方案1】:

    您可以在烧瓶应用程序上进行预测,而不是将数据发送到 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 模块导入到您的烧瓶应用程序中。这样,您将在进行预测时与您的烧瓶应用共享资源。

    【讨论】:

      猜你喜欢
      • 2019-04-02
      • 2019-03-08
      • 2021-04-20
      • 1970-01-01
      • 2021-04-29
      • 2020-07-10
      • 2016-08-31
      • 1970-01-01
      • 2020-12-24
      相关资源
      最近更新 更多