【问题标题】:How to deploy our ML trained model?如何部署我们的 ML 训练模型?
【发布时间】:2019-07-19 13:48:51
【问题描述】:

我是机器学习的新手。我完成了 k-means 聚类,并且训练了 ml 模型。我的问题是如何为我的训练模型传递输入?

示例: 考虑一个谷歌图像处理机器学习模型。为此,我们传递了一个图像,该图像可以从该图片中提供适当的输出,例如情感。

现在我的疑问是如何做到这一点,我已经完成了 k-means 来预测 mall_customer 谁花了更多的钱来购买我想要调用的产品或将输入传递给我训练的模型。

我正在使用 python 和 sci-kit 学习。

【问题讨论】:

标签: python machine-learning scikit-learn


【解决方案1】:

您需要的是一个 API,您可以在其中发送请求/输入并获取响应/预测。

您可以创建 Flask 服务器,将经过训练的模型保存为 pickle 文件,并在进行预测时加载它。这可能需要做一些工作。

请参考这些:

注意:Flask 内置服务器尚未准备好生产。你可能想参考 uwsgi + ngnix

如果您使用 docker : https://hub.docker.com/r/tiangolo/uwsgi-nginx-flask/ 这将是一个很大的帮助。

【讨论】:

    【解决方案2】:

    部署 ML 模型通常基于您的业务需求。如果您有大量需要预测的数据,并且您不需要立即得到结果。你可以做批量预测。此方法的典型用例是推荐。通常它被部署为更大管道的一部分。设置此管道的方法有很多,这实际上取决于您的公司拥有什么,因此我不会对此进行太多详细说明。

    另一种方法是其他人提到的,实时服务。典型的用例是欺诈检测。它需要立即进行预测。它通过 REST/gRPC/others 接收请求并响应预测结果。取决于您的延迟要求,人们将使用高性能环境(JAVA/C)来存档低延迟。通常,大多数情况下,烧瓶服务器都可以胜任这项工作。

    对于烧瓶应用程序,您需要创建一个端点来接收请求数据并进行预测,然后返回响应。

    让我知道它对你有没有帮助。

    只是一个自我插头。我们开源了一个用于打包和部署的 ML 工具包。标语是在 5 分钟内从 Jupyter 笔记本到生产。它将您的模型和依赖项导出到存档中,您可以将其存储在本地文件或 s3 中。您可以将存档导入为python模块进行预测,也可以使用内置的rest服务器进行实时预测。您还可以从生成的 dockerfile 创建用于生产的 docker 映像。你可以在这里找到开源项目。它叫BentoML

    【讨论】:

      【解决方案3】:

      自 2019 年提出该问题以来,已有许多 Python 库允许用户快速部署机器学习模型,而无需学习 Flask、容器化和获取网络托管解决方案。最佳解决方案取决于您需要部署模型多长时间以及是否需要能够处理大量流量等因素。

      对于用户描述的用例,听起来gradio 库可能会有所帮助(http://www.gradio.app/),它允许用户使用几行 Python 代码通过公共链接和用户界面软部署模型,如下所示:

      【讨论】:

        猜你喜欢
        • 2018-12-24
        • 1970-01-01
        • 2017-12-31
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 2019-04-19
        • 1970-01-01
        相关资源
        最近更新 更多