首页 > 解决方案 > 如何在siddhi中将参数传递给tensorflow的预测函数?

问题描述

将哪些参数传递给预测函数?是否有任何文档可用于使用 siddhi 的 tensorflow 插件?

虽然样本中有一个 pbtxt 模型,但它本身非常模糊,没有关于使用什么来预测什么的背景。

@App:name("TensorFlowTestApp")

define stream InputStream (x string);

@sink(type='log') 
define stream OutputStream (outputPoint0 double, outputPoint1 double);

@info(name = 'query1')
from InputStream#tensorFlow:predict('{SP_HOME}/samples/artifacts/TensorflowSample/Regression', 'inputPoint', 'outputPoint', x)
select outputPoint0, outputPoint1
insert into OutputStream;

有人可以帮我理解吗?

标签: tensorflowsiddhistream-processingwso2sp

解决方案


请在此处找到文档。在提供的示例中,使用了简单的线性回归模型。您给出一个二维 x 坐标,您将收到一个从保存的模型预测的二维 y 坐标。

您传递给 predict 的参数将取决于预测所需的参数,这将因模型而异。在这种情况下,需要 x 坐标。您可以按照示例使用 Siddhi 编辑器事件模拟将值传递给 x 坐标。请注意,在事件模拟中,二维 x 坐标应作为字符串传递,例如“[1,-2]”。

“inputPoint”是 TensorFlow 图中我们从流中注入值的节点的名称。“outputPoint”是我们从中读取预测值的预测输出节点的名称。由于 Siddhi 不知道 TensorFlow 模型中的节点名称(用户可以使用他训练过的任何 TensorFlow 模型),我们需要将输入和输出名称作为参数传递来进行预测。第一个参数是 TensorFlow 模型的路径。


推荐阅读