Skip to content

indeedeng/vowpal-wabbit-java

Repository files navigation

Vowpal Wabbit Wrapper

OSS Lifecycle

A java wrapper and friendly API for the Vowpal wabbit machine learning package.

Background

The Vowpal Wabbit (VW) package is very production friendly and it implements the state of the art in modern machine learning research.

The existing java binding for VW has drawbacks:

  • Because of a bug, saved models may have incorrect weights
  • It requires the boost library to be installed on every machine where the wrapper is used, which is not always feasible
  • its API is low-level, requiring you to operate with strings instead of providing a more convenient domain abstraction

This project addresses these drawbacks.

Building the library

To build this library run the following command:

mvn clean install

Dependencies

  • guava
  • log4j

Rebuilding C++ binaries

This distribution includes pre-built C++ binaries along with the code. You can rebuild the binaries from source if necessary. Refer to build-jni/README.md for instructions.

Using the library

Refer to the official vowpal wabbit wiki for general instructions and advice on training the Vowpal Wabbit model.

Refer to API javadocs for instructions specific to this wrapper and java API.

The following integration tests provide references for using the API.

Reporting issues

Create an issue in this project if you encounter issues or need help.

Tested platform

We have tested this wrapper on the following platforms:

  • OS X Yosemite
  • Ubuntu 14
  • Enterprise Linux 5
  • Enterprise Linux 6
  • CentOS 5
  • CentOS 6
  • CentOS 7

Code of Conduct

This project is governed by the Contributor Covenant v 1.4.1

License