首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Intellij项目中使用Nd4j

在Intellij项目中使用Nd4j
EN

Stack Overflow用户
提问于 2018-10-08 02:51:08
回答 2查看 1K关注 0票数 0

我正尝试在Intellij IDEA的一个Kotlin项目中使用Nd4j。在Project Structure -> Libraries中,我使用"From Maven“命令添加了以下库。

代码语言:javascript
复制
org.deeplearning4j:deeplearning4j-core:1.0.0-beta
org.nd4j:nd4j-native-platform:1.0.0-beta
org.datavec:datavec-api:1.0.0-beta

有了这些库,我可以编译我的项目,但当我运行它时,它会失败并出现异常。

代码语言:javascript
复制
Caused by: java.lang.RuntimeException: ND4J is probably missing dependencies. For more information, please refer to: http://nd4j.org/getstarted.html
    at org.nd4j.nativeblas.NativeOpsHolder.<init>(NativeOpsHolder.java:51)
    at org.nd4j.nativeblas.NativeOpsHolder.<clinit>(NativeOpsHolder.java:19)
    ... 10 more
Caused by: java.lang.UnsatisfiedLinkError: no jnind4jcpu in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1220)
    at org.bytedeco.javacpp.Loader.load(Loader.java:980)
    at org.bytedeco.javacpp.Loader.load(Loader.java:879)
    at org.nd4j.nativeblas.Nd4jCpu.<clinit>(Nd4jCpu.java:10)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.bytedeco.javacpp.Loader.load(Loader.java:938)
    at org.bytedeco.javacpp.Loader.load(Loader.java:879)
    at org.nd4j.nativeblas.Nd4jCpu$NativeOps.<clinit>(Nd4jCpu.java:1310)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.nd4j.nativeblas.NativeOpsHolder.<init>(NativeOpsHolder.java:29)
    ... 11 more
Caused by: java.lang.UnsatisfiedLinkError: no nd4jcpu in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1220)
    at org.bytedeco.javacpp.Loader.load(Loader.java:965)
    ... 21 more

查看项目文件夹,我发现IDEA已经下载了许多用于nd4j-native-platform的jar文件,但没有任何JNI库的迹象。我还需要做什么?

EN

回答 2

Stack Overflow用户

发布于 2018-10-19 15:44:22

Intellij的"From Maven“特性不支持JavaCPP和ND4J (以及其他使用本机代码的库)使用的分类器。openblas-0.3.0-1.4.2-macosx-x86_64.jar将工作得很好,但是如果您由于某些原因不能使用它,您可以手动添加Maven文件和Maven文件。这应该足以运行简单的东西,但当您使用越来越多的东西(如OpenCV)时,您必须为每个其他本机依赖项手动执行此操作。这就是推荐使用Maven的原因。

票数 1
EN

Stack Overflow用户

发布于 2018-10-08 10:17:56

如果你包含了这3个依赖项,除非你出于某种原因在不支持的操作系统上运行,否则它失败的原因是没有的。

我们支持从android到IBM power的一切,所以这是不太可能的。

我也被你说的看不到任何JNI库的意思搞糊涂了。这些都在jar文件中。我们使用javacpp (我们也维护它)来管理这些东西。您可以在~/.javacpp/cache下找到这些库--不过您应该没有任何理由去接触它们。

你能说清楚你在找什么吗?

除此之外,你不需要做任何其他的事情。我猜是有什么东西没有正确加载。

我们独立的pom可以开箱即用:https://github.com/deeplearning4j/dl4j-examples/blob/master/standalone-sample-project/pom.xml -也许可以仔细检查这个,那个或者重新加载。我只能假设你以某种方式创建了错误的项目。文件->新的Maven项目应该是所有您需要做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52691773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档