如何在siddhi中将参数传递给tensorflow的预测函数?

时间:2019-05-15 11:08:28

标签: tensorflow siddhi stream-processing wso2sp

哪些参数传递给了预测函数?是否有任何文档可用于使用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;

有人可以帮我理解吗?

1 个答案:

答案 0 :(得分:1)

请找到文档here。在样本中提供了一个简单的线性回归模型。给出一个二维x坐标,将从保存的模型中得到一个二维y坐标预测。

要传递给预测的参数将取决于预测所需的参数,并且模型之间会有所不同。在这种情况下,需要x坐标。您可以按照以下示例使用Siddhi编辑器事件模拟将值传递给x坐标。请注意,在事件模拟中,二维x坐标应以字符串形式传递,例如“ [1,-2]”。

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