1

我正在尝试使用 GPU 运行使用 dl4j 构建的神经网络。使用本机平台依赖项时代码工作正常,但是当我切换到使用 CUDA 时,执行失败并出现异常:

Caused by: java.lang.UnsatisfiedLinkError: ...\cuda-8.0-6.0-1.3-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\jnicuda.dll: Can't find dependent libraries

这是我的 build.gradle 中的内容:

//    compile group: 'org.nd4j', name: 'nd4j-native-platform', version: '0.9.1'
compile group: 'org.nd4j', name: 'nd4j-cuda-8.0-platform', version: '0.9.1'

以下是 IDEA 中显示的依赖项:

依赖项

我能够安装 CUDA Toolkit 并很好地构建示例。运行 deviceQuery 显示我的 CUDA 驱动程序/运行时版本是 9.1,这是一个问题,因为 nd4j-cuda-8.0-platform 引用 8.0?不确定,因为版本是 0.9.1,与我的 CUDA 版本匹配,而且似乎没有 9.0 平台可用。

我还缺少什么额外的东西吗?如果是这样,我该如何解决/解决这个问题?

4

1 回答 1

2

因此,事实证明存在一些问题。首先,deeplearning4j 的当前版本不支持 CUDA 9,我天真地安装了它,认为最新最好的就是最好的。我尝试过的最新快照支持 CUDA 9,但显然由于 Gradle 和快照的一些问题,无法解决该问题。

最终,我从我的 PC 上卸载了与 CUDA 相关的所有内容,并从头开始安装了 CUDA 8,重新启动了计算机,现在一切似乎都正常了。

于 2018-03-02T16:38:25.283 回答