Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
branch: master

multilabel works with predictions

latest commit 45921d5e94
John Langford authored
Failed to load latest commit information.
acinclude.d macosx_c++11_clang
c_test Merge pull request #388 from smartkiwi/c_wrapper
cluster macosx_c++11_clang
cs_test fixed warnings with: 1. early return statement, 2. sprintf not secure…
demo New demo using conversions logs from Criteo
deploy_vw Add an optional deploy_vw project to the VW solution/
explore cbify_virtual_dtors
java Removing eH stuff
library macosx_c++11_clang
python fix major bug (re setup_example) in python search interface
test Fix one more reference to match new C++ fixed-column format and preci…
utl utl/vw-hypersearch: add --affix to options accepting integer-only
vowpalwabbit multilabel works with predictions
.gitignore Removing unncessary gitignore entry
.gitkeep
.travis.yml made g++ default with clang++ backup
AUTHORS Update: many new names since last time this was changed
ChangeLog
INSTALL README -> README.md
LICENSE merged john's changes
Makefile Merge pull request #542 from hal3/master
Makefile.am remove memory.cc
NEWS
README.deploy.txt Add an optional deploy_vw project to the VW solution/
README.md Merge pull request #531 from bscottm/upstream2
README.windows.txt Add missing step + symetric step x86 / 64 + misc
autogen.sh autoconf_cleanups
configure.ac Merge pull request #531 from bscottm/upstream2
deployvw.bat Change deplowvw.bat to include cluster spanning_tree.exe
mkdevdist.sh added missing files
zlibpatch.zip add a zlibpatch.zip to preserve windows line endings

README.md

/*
Copyright (c) by respective owners including Yahoo!, Microsoft, and
individual contributors. All rights reserved.  Released under a BSD (revised)
license as described in the file LICENSE.
 */

Build Status

This is the vowpal wabbit fast online learning code. For Windows, look at README.windows.txt

Prerequisite software

These prerequisites are usually pre-installed on many platforms. However, you may need to consult your favorite package manager (yum, apt, MacPorts, brew, ...) to install missing software.

  • Boost library, with the Boost::Program_Options library option enabled.
  • GNU autotools: autoconf, automake, libtool, autoheader, et. al.
  • (optional) git if you want to check out the latest version of vowpal wabbit, work on the code, or even contribute code to the main project.

Getting the code

You can download the latest version from here. The very latest version is always available via 'github' by invoking one of the following:

## For the traditional ssh-based Git interaction:
$ git clone git://github.com/JohnLangford/vowpal_wabbit.git

## For HTTP-based Git interaction
$ git clone https://github.com/JohnLangford/vowpal_wabbit.git

Compiling

You should be able to build the vowpal wabbit on most systems with:

$ make
$ make test    # (optional)

If that fails, try:

$ ./autogen.sh
$ make
$ make test    # (optional)
$ make install

Note that ./autogen.sh requires automake (see the prerequisites, above.)

./autogen.sh's command line arguments are passed directly to configure as if they were configure arguments and flags.

Be sure to read the wiki: https://github.com/JohnLangford/vowpal_wabbit/wiki for the tutorial, command line options, etc.

The 'cluster' directory has it's own documentation for cluster parallel use, and the examples at the end of test/Runtests give some example flags.

C++ Optimization

The default C++ compiler optimization flags are very aggressive. If you should run into a problem, consider running configure with the --enable-debug option, e.g.:

$ ./configure --enable-debug

or passing your own compiler flags via the CXXOPTIMIZE make variable:

$ make CXXOPTIMIZE="-O0 -g"

Mac OS X-specific info

OSX requires glibtools, which is available via the brew or MacPorts package managers.

Complete brew install of 7.10

brew install vowpal-wabbit

The homebrew formula for VW is located on github.

brew install dependencies + manual install of vowpal wabbit

brew install libtool
brew install boost --with-python

MacPorts

## Install glibtool and other GNU autotool friends:
$ port install libtool autoconf automake

## Build Boost for Mac OS X 10.8 and below
$ port install boost +no_single +no_static +openmpi +python27 configure.cxx_stdlib=libc++ configure.cxx=clang++

## Build Boost for Mac OS X 10.9 and above
$ port install boost +no_single +no_static +openmpi +python27

Mac OS X 10.8 and below: configure.cxx_stdlib=libc++ and configure.cxx=clang++ ensure that clang++ uses the correct C++11 functionality while building Boost. Ordinarily, clang++ relies on the older GNU g++ 4.2 series header files and stdc++ library; libc++ is the clang replacement that provides newer C++11 functionality. If these flags aren't present, you will likely encounter compilation errors when compiling vowpalrabbit/cbify.cc. These error messages generally contain complaints about std::to_string and std::unique_ptr types missing.

To compile:

$ sh autogen.sh --enable-libc++
$ make
$ make test    # (optional)
Something went wrong with that request. Please try again.