Vowpal Wabbit的Java API?
我正在尝试通过Java使用。我已经从GitHub下载并成功编译了代码。命令行工具工作正常。 在快速查看了存储库(尤其是)之后,我只能假设通过Java使用它已经是可能的了,我真的不想重新发明轮子 围绕Vowpal Wabbit的包装器,允许通过Java使用。此包装器设计为自包含式。因为 关于JNI的使用,这个JAR支持许多平台 我已经在我的项目中添加了maven依赖项(find),但是没有任何文档,我真的不知道从哪里开始。 我已经看到,似乎可以将VW与Java结合使用,但这家伙只使用Vowpal Wabbit的Java API?,java,java-native-interface,vowpalwabbit,Java,Java Native Interface,Vowpalwabbit,我正在尝试通过Java使用。我已经从GitHub下载并成功编译了代码。命令行工具工作正常。 在快速查看了存储库(尤其是)之后,我只能假设通过Java使用它已经是可能的了,我真的不想重新发明轮子 围绕Vowpal Wabbit的包装器,允许通过Java使用。此包装器设计为自包含式。因为 关于JNI的使用,这个JAR支持许多平台 我已经在我的项目中添加了maven依赖项(find),但是没有任何文档,我真的不知道从哪里开始。 我已经看到,似乎可以将VW与Java结合使用,但这家伙只使用Runtime
Runtime.getRuntime.exec()
调用他的bash命令,我找不到任何关于其他方法的文档(而且只有将VW与Java混合在一起,这没有帮助)。
我是JNI的新手,所以很可能有一些简单的东西我看不到。
说得很清楚,我的问题是:
- 我是否应该创建一个有效的vw命令并通过
使用它?这似乎不是JNI的精神,因为不需要任何包装器/库。另外,这并不能使它非常便携Runtime.getRuntime.exec()
- (javaapi)文档在哪里
欢迎提供任何帮助或指导。链接可能对设置JNI包装器有所帮助。我在任何地方都找不到Java API文档,但是Java代码似乎有很好的文档记录——您是否尝试过自己从代码中生成Javadoc?确实有Java JNI包装器可以基本访问VW。我所说的“基本”是指教授你的模型,并在以后预测概率。它们还提供了Python库,其功能远远超过Java包装器。最近,我被迫通过扩展提供的代码向Java公开更多的VW方法 回到问题上来:
- 而是使用central maven repo中提供的vw jni工件,克隆它们的代码并运行
。在某些情况下,自己编译代码将是唯一的解决方案,例如,提供的工件不会在OpenSuse上运行(我的情况)make all java
- 代码非常简单。create是一个从Java获取VW实例的工厂
希望这会有所帮助。我不认为这会增加很多,但之前的答案都没有给出明确的答案。就像前面提到的@Macchiatow一样,要使用Vowpal Wabbit附带的Java包装器,您需要:
makeall-java
或makejava
java
并使用mvn测试验证安装
mvn
,以便将javaapi安装到本地maven存储库中。假设这将在您的机器上构建JNI部件,以便在安装了必要的本机C/C++库并可供make
命令使用的情况下适合您平台的C/C++库我用Ubuntu 16.04和Java 8重新克隆了上述过程。我是大众JNI包装器的两位主要作者之一。自发布此问题以来,界面发生了重大变化。我们现在鼓励用户自己编译本机端,并在
java.library.path
上提供它。我们对自述文件进行了重大更新,以展示如何从Java使用该库
我完全同意你的批评,我们没有发布JavaAPI。我将在下一次修改此代码时处理此问题。同时,请随意克隆库并运行
mvn install
,您可以自己生成Java API文档。它们应该非常详细,因为我们花了大量精力编写详细的文档。谢谢。事实上,另外两个问题中的一个已经指向了这个链接,它对我的帮助并不比对另一个OP的帮助更大,更何况它现在已经过时了。此外,如果我理解正确的话,这个家伙试图做的事情与存储库的“java”目录中已经做过的差不多。我的主要问题是我不知道如何使用它。到目前为止,这实际上是我最好的机会(谁说“只有”?)。我只是希望在某个地方有别的东西能给我一个切入点。