【发布时间】:2014-12-16 23:18:24
【问题描述】:
我写了一个java代码来执行Vowpal Wabbit,方式如下:
System.out.println("Executing command " + command);
final Runtime r = Runtime.getRuntime();
final Process p = r.exec(command);
System.out.println("waiting for the process");
try (final BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
String line;
while ((line = b.readLine()) != null) {
final T lineResult = textParser.parseLine(line);
parserResultCombiner.addToCombiner(lineResult);
}
}
p.waitFor();
System.out.println("done");
}
命令在哪里
vw -d input.txt --loss_function=logistic -f model.vw
这样做的缺点是它需要写入磁盘。经过一番搜索,我了解到 vowpal wabbit 支持从标准输入读取数据 example in R
我在 Java 1.8 中找不到任何示例来完成此操作。谁能和我分享一个?
【问题讨论】:
-
看看here,它展示了如何通过Java 与外部程序的标准输入和标准输出进行交互。那个帖子还指向this question,也值得一读。
-
由于您的代码已经从外部进程的标准输出中读取,因此弄清楚如何写入其标准输入应该不难。只需使用
p.getOutputStream()而不是p.getInputStream()并写信给它...
标签: java java-8 vowpalwabbit