在Apache Flink中嵌入现有机器学习模型

我们在离线环境中训练机器学习模型,并将它们保存为Python的pickle文件。

我们正在考虑将这些pickle格式的模型嵌入到流处理中的最佳方法(例如,传感器输入流 > 预测作业 > 输出流)。

Apache Flink ML似乎是使用流数据训练模型的合适选择,但不适合引用现有模型。

感谢您的回应。

此致 Lomungo


回答:

根据您使用的模型,有两种可能的解决方案:

  1. 可能是最简单的想法是创建一个外部服务,该服务将调用模型并返回结果,然后使用AsyncFunction简单地调用该服务。
  2. 使用某个库,同样取决于您的模型,在ProcessFunctionopen方法中加载预训练模型。然后对每条到达的数据简单地调用模型。

第二种解决方案有两个缺点,首先您需要有特定库的Java版本可用,其次如果您希望能够随着时间的推移更新模型,您需要以某种方式外部化模型的元数据。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注