2016-09-02 3 views
3

Я пытаюсь использовать Vowpal Wabbit через Java. Я загрузил и успешно скомпилировал код из GitHub. Инструмент командной строки отлично работает. После быстрого просмотра репозитория (особенно here), я могу только предположить, что использование его через Java должно быть уже возможно, и я действительно не хочу изобретать велосипед.Java API для Vowpal Wabbit?

Обертка вокруг Vowpal Wabbit, которая позволяет использовать ее через Java. Эта оболочка предназначена для автономного использования. Поскольку использования JNI, в этом JAR поддерживается ряд платформ.

Я добавил зависимость Maven (найденную here) в моем проекте, но без какого-либо документа, я не знаю, с чего начать. Я видел в another question, что, возможно, можно использовать VW с Java, но парень использует только Runtime.getRuntime.exec() для вызова своей команды bash, и я не могу найти никакой документации о каком-либо другом способе работы (и есть только 2 questions смешение VW и Java на SO, что не помогает). Я новичок в JNI, поэтому, скорее всего, есть что-то легкое, чего я не вижу. Чтобы быть совершенно ясно, что мои вопросы:

  • Должен ли я просто сделать правильный команду Vw и использовать его через Runtime.getRuntime.exec()? Это не похоже на дух JNI, потому что для этого нет необходимости в какой-либо обертке/библиотеке. Кроме того, это не делает его очень портативным.
  • Где (черт возьми) это документация (API Java)?

Любая помощь или руководство будут приветствоваться.

ответ

1

This Ссылка может оказать некоторую помощь в отношении создания обертки JNI.

+0

Спасибо. На самом деле один из двух других вопросов уже указывал на эту ссылку, и это не могло помочь мне больше, чем помогло другому ОП, тем более, что теперь оно довольно устарело. Кроме того, если я правильно понял, что этот парень пытается сделать, это в значительной степени то, что уже было сделано в «java» каталоге репозитория. Моя основная проблема заключается в том, что я не знаю, как ее использовать. – Vongo

1

Я не смог найти документацию по API Java в любом месте, но код Java выглядит хорошо документированным - возможно, вы попытались создать Javadoc самостоятельно из кода?

+1

Это на самом деле мой лучший (кто сказал «только»?) Шанс, до сих пор. Я просто надеялся, что есть что-то еще, где-то, это даст мне входную точку. – Vongo

0

Существует действительно Java JNI-обертка, чтобы иметь базовый доступ к VW. В основном я хочу научить вашу модель и прогнозировать вероятность позже. Они также предоставляют библиотеку Python, которая может сделать гораздо больше, чем оболочку для Java. В последнее время мне пришлось выставить еще несколько VW-методов на Java, расширив предоставленный код.

Назад к вопросам:

  • Вместо использования Vw-JNI артефакт, доступные в центре Maven репо и клонировать свой код и запустить «сделать все Java». Я в некоторых случаях сам компиляция кода будет единственным решением, например, если артефакт не будет работать на OpenSuse (мой случай)
  • Код доступен довольно прямолинейно. VWLearners :: create - это фабрика для получения экземпляра VW с Java.
0

Вы можете проверить wowpal wabbit JNI-упаковку, которую мы построили на самом деле: https://github.com/indeedeng/vowpal-wabbit-java.

Мы написали интеграционный тест, который может работать как примеры использования, и мы также написали документацию по API. Проверьте раздел «using the library» README.

Надеюсь, это поможет.

Смежные вопросы