Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java API for Vowpal Wabbit?

Tags:

I am trying to use Vowpal Wabbit through Java. I have downloaded and successfully compiled the code from GitHub. The command line tool works fine. After having a quick look at the repository (especially here), I can only assume that using it through Java is supposed to be already possible, and I don't really want to reinvent the wheel.

A wrapper around Vowpal Wabbit that allows use through Java. This wrapper is designed to be self contained. Because of the use of JNI, a number of platforms are supported in this JAR.

I have added the maven dependency (found here) to my project, but without any kind of document, I don't really know where to start. I have seen in another question that it seems to be possible to use VW with Java, but the guy only uses Runtime.getRuntime.exec() to call his bash command, and I can't find any documentation about any other way of doing (and there are only 2 questions mixing VW and Java on SO, which doesn't help). I am new to JNI, so most likely there is something easy that I don't see. To be perfectly clear, my questions are :

  • Should I just make a valid vw command and use it through Runtime.getRuntime.exec()? This doesn't seem to be the spirit of JNI, for there is no need for any wrapper/library for this. Plus, this doesn't make it very portable.
  • Where (the hell) is the (Java API) documentation ?

Any kind of help or guidance would be welcome.

like image 681
Vongo Avatar asked Sep 02 '16 14:09

Vongo


1 Answers

I was one of the two primary authors of the VW JNI wrapper. Since the posting of this question the interface has significantly changed. We now encourage users to compile the native side on their own and provide it on the java.library.path. We have updated the README significantly to show how to use the library from Java.

I totally agree with your criticism that we have not published the Java API. I will work on that the next time I modify this code. In the meantime please feel free to clone the library and run mvn install and you can generate the Java API docs yourself. They should be quite detailed as we spent a lot of effort writing detailed docs.

like image 125
Jon Avatar answered Oct 11 '22 10:10

Jon