我一直在使用移动 gpu 在笔记本电脑上运行 DL4J 项目。它运行良好,检测到 gpu 并且我的模型得到了训练。但是切换到独立显卡的桌面后,同样的程序尝试使用cpu!两台机器都运行 ubuntu 18.04 并安装了 cuda 9.0。
当程序启动时,我从笔记本电脑得到这个输出:
信息:已加载 [JCublasBackend] 后端 2018 年 12 月 5 日凌晨 3:26:33 org.nd4j.nativeblas.NativeOpsHolder 信息:用于 NativeOps 的线程数:2018 年 12 月 5 日 32:26:33 org.nd4j.nativeblas。 Nd4jBlas 信息:用于 BLAS 的线程数:0 Dec 05, 2018 3:26:33 AM org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner printEnvironmentInformation INFO:后端使用:[CUDA];操作系统:[Linux] 2018 年 12 月 5 日上午 3:26:33 org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner printEnvironmentInformation INFO:核心:[8];内存:[3.4GB];2018 年 12 月 5 日凌晨 3:26:33 org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner printEnvironmentInformation INFO:Blas 供应商:[CUBLAS] 2018 年 12 月 5 日凌晨 3:26:33 org.nd4j.linalg.jcublas。 ops.executioner.CudaExecutioner printEnvironmentInformation INFO:设备名称:[GeForce GTX 960M];抄送:[5.0];
这来自桌面:
03:29:44.843 [main] INFO org.nd4j.linalg.factory.Nd4jBackend - 加载 [CpuBackend] 后端
由于我的依赖项包括 nd4j-cuda-9.0-platform 而不是 nd4j-native-platform,因此立即发生崩溃。
我很确定 cuda 在桌面上工作,我已经在上面运行了 tensorflow-gpu 程序,没有任何问题。
我使用 gradle,这是我的 build.gradle 的依赖项部分:
compile group: 'org.deeplearning4j', name: 'deeplearning4j-core', version: '1.0.0-beta'
compile group: 'org.nd4j', name: 'nd4j-cuda-9.0-platform', version: '1.0.0-beta'
compile group: 'org.datavec', name: 'datavec-api', version: '1.0.0-beta'
compile group: 'org.deeplearning4j', name: 'rl4j-core', version: '1.0.0-beta'
compile group: 'org.deeplearning4j', name: 'rl4j-api', version: '1.0.0-beta'
compile group: 'org.deeplearning4j', name: 'deeplearning4j-cuda-9.0', version: '1.0.0-beta'
compile group: 'org.deeplearning4j', name: 'deeplearning4j-ui_2.10', version: '1.0.0-beta'
我可能在这里遗漏了一些基本的东西。任何帮助是极大的赞赏。