我正在尝试使用c++
模块从sent2Vec
p程序运行模型(python
)的subprocess
实现。 c++
程序运行如下循环:
while(raw_input):
print(perform_action(input))
这是因为它将一个巨大的模型加载到内存中,然后在将查询传递给它时使用它。所以,c ++输出如下所示:
Pre-computing vectors... done.
Query sentence?
query
0.603723 1 a1
0.306778 2 a2
0.262201 4 a3
0.198674 0 a4
0.131687 3 a5
0.121209 5 a6
0 6
Query sentence?
我想运行该程序,然后在需要时发送输入并读取输出。我知道每个查询生成的行数,所以如果我每次都必须读取整个输出,那就没问题了。
我尝试了以下内容:
process = Popen(cmd, stdin=PIPE, stdout=PIPE)
process.stdin.write(query)
process.stdout.readlines()
然而,这似乎陷入了一个循环。我查看了多个stackoverflow线程,其中大多数都是我尝试过的。我真的很感激任何帮助。
提前致谢!
答案 0 :(得分:0)
出现了僵局。您需要准确计算写入providers: [
GooglePlus
]
的行数,然后才写入stdout
。