2016-09-02 46 views
3

我想通過Java使用Vowpal Wabbit。我已經下載併成功編譯了GitHub的代碼。命令行工具正常工作。 在快速瀏覽版本庫(尤其是here)之後,我只能假設通過Java使用它已經是可能的了,我並不想重新發明輪子。Vowpal Wabbit的Java API?

Vowpal Wabbit的包裝,允許通過Java使用。這個包裝被設計成獨立包裝。由於使用JNI的 ,這個JAR支持許多平臺。

我已經加入了Maven的依賴關係(找到here)到我的項目,但沒有任何類型的文檔,我真的不知道從哪裏開始。 我在another question中看到,似乎可以在Java中使用VW,但該人只使用Runtime.getRuntime.exec()來調用他的bash命令,並且我找不到任何其他方式的文檔(並且只有2 questions在SO上混合VW和Java,這沒有幫助)。 我是JNI的新手,所以很可能有一些我看不到的東西。 要非常清楚,我的問題是:

  • 我應該做一個有效的大衆命令,並使用它來Runtime.getRuntime.exec()?這似乎不是JNI的精神,因爲不需要任何包裝器/庫。另外,這並不會使它非常便於攜帶。
  • 哪裏(地獄)是(Java API)文檔?

任何形式的幫助或指導將受到歡迎。

回答

1

This鏈接對於設置JNI包裝可能有一些幫助。

+0

謝謝。事實上,其他兩個問題中的一個已經指出了這個聯繫,它不僅沒有幫助我,反而幫助了另一個聯盟,更不用說現在已經過時了。 此外,如果我理解正確,那麼這個人試圖做的事情幾乎已經在存儲庫的'java'目錄中完成了。我的主要問題是我不知道如何使用它。 – Vongo

1

我無法在任何地方找到Java API文檔,但Java代碼看起來很好記錄 - 您是否可以嘗試從代碼中自己生成Javadoc?

+1

到目前爲止,這實際上是我最好的(誰說「只」?)機會。我只是希望在某個地方還有別的東西能夠讓我成爲切入點。 – Vongo

0

確實有一個Java JNI包裝器可以對VW進行基本訪問。基本上,我的意思是教你的模型,並在以後預測概率。他們還提供了Python庫,它可以做的遠不止Java的封裝。最近我不得不通過擴展代碼提供更多的VW方法給Java。

回到問題:

  • 而是使用Maven中央回購可用的VW-JNI神器和克隆他們的代碼並運行「使所有的Java」。我自己編譯代碼的一些情況將是唯一的解決方案,例如提供的工件不會在OpenSuse上運行(我的情況)
  • 代碼可用非常簡單。 VWLearners :: create是一個從Java獲取VW實例的工廠。
相關問題