【问题标题】:VowPal Wabbit for Ubuntu 18, Java 1.8适用于 Ubuntu 18、Java 1.8 的 VowPal Wabbit
【发布时间】:2020-10-13 16:05:02
【问题描述】:

我们一直在 Ubuntu 16 上使用 VowPal Wabbit。我们想迁移到 Ubuntu 18,但似乎没有针对 Ubuntu 18 的 VW 版本。首先 - 存在吗?其次,如果没有,有人可以向我指出构建和制作 Ubuntu 18 兼容库的说明吗?我们目前使用 Java 和 JNI 与库进行通信。

谢谢, 罗恩

【问题讨论】:

    标签: java ubuntu-18.04 vowpalwabbit


    【解决方案1】:

    目前我们还没有合适的二进制版本,因此您需要从源代码构建。这方面的文档有些稀少,所以我会在这里详细介绍。

    要在 Ubuntu 上构建 Java JNI 库,您需要以下依赖项:

    sudo apt install libboost-dev libboost-thread-dev libboost-program-options-dev libboost-system-dev libboost-math-dev libboost-test-dev zlib1g-dev cmake g++ default-jdk
    

    从这里:https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Dependencies#ubuntu

    然后你需要使用 CMake 生成构建文件并运行构建:

    # The important bit here is that the submodules are downloaded.
    git clone --recursive https://github.com/VowpalWabbit/vowpal_wabbit.git
    cd vowpal_wabbit
    mkdir build
    cd build
    cmake .. -DCMAKE_BUILD_TYPE=Release -DWARNINGS=Off -DBUILD_JAVA=On -DBUILD_DOCS=Off -DBUILD_PYTHON=Off -DSTATIC_LINK_VW_JAVA=On -DBUILD_TESTS=Off
    make vw_jni -j `nproc`
    cd ..
    mvn test -f java/pom.xml
    
    • -DBUILD_JAVA=On Java 是可选的,因此需要它来生成目标
    • -DSTATIC_LINK_VW_JAVA=On 这将静态链接一些依赖项,可选
    • vw_jni 目标也运行 mvn check
    • -DBUILD_DOCS=Off -DBUILD_PYTHON=Off -DBUILD_TESTS=Off不做你不需要的事情来节省时间

    Java 是作为 CI 的一部分构建和测试的,可以在此处查看示例脚本。 在 CI 中运行的示例如下:

    【讨论】:

    • 在 8.2.0 中是否有上述任何变化?我按照 github 上的构建说明进行操作,一切正常。不过不确定 JNI 库。
    • 以上说明不适用于 8.2.0。该版本是否有具体说明?另外 - 只是好奇 - 从 8.2.0 到最新版本是否有任何 API 中断?也就是说,我可以从 8.2.0 升级到最新版本而不用担心吗?
    • 8.2.0 在 CMake 构建系统之前,所以完全不同。不确定8.2.0,那是很久以前的事了。最好的办法是查看历史上那个时候的自述文件以获取构建说明。我对 8.6 之前的变化不太熟悉,所以我无法评论那里的 API 稳定性。但是,如果使用命令行界面,您可能还不错。从 8.6 开始,人们更加专注于 API 更改。
    • 只是为了验证 - 如果我正在构建 8.8.1 并使用 ubuntu 18,我相信我需要更改 Java 代码,以便它可以在运行时引入正确的库。那是对的吗?我应该适当地命名图书馆,对吧​​?只是想确保我已经掌握了事物的范围。我将尝试让团队离开 8.2。
    • 我刚刚意识到我们在这里发布了 Java 绑定:search.maven.org/artifact/com.github.vowpalwabbit/vw-jni 它应该引入正确的运行时库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 2013-12-15
    • 2013-04-07
    • 2015-04-16
    • 2014-11-23
    • 2015-01-06
    • 2017-10-09
    相关资源
    最近更新 更多