我一直在使用移动gpu在笔记本电脑上运行DL4J项目。它运行正常,检测到gpu并训练了我的模型。但是,切换到具有独立图形的桌面后,同一程序将尝试使用cpu! 两台机器都运行ubuntu 18.04,并安装了cuda 9.0。
程序启动时,我从笔记本电脑获得以下输出:
信息:已加载[JCublasBackend]后端Dec 05,2018 3:26:33 AM org.nd4j.nativeblas.NativeOpsHolder信息:线程数 用于NativeOps:32 Dec 05,2018 3:26:33 AM org.nd4j.nativeblas.Nd4jBlas信息:用于的线程数 BLAS:2018年12月5日0上午3:26:33 org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner printEnvironmentInformation信息:使用的后端:[CUDA];作业系统:[Linux] 2018年12月5日3:26:33 AM org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner printEnvironmentInformation INFO:核心:[8];记忆体:[3.4GB]; 12月5日, 2018 3:26:33 AM 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]; CC: [5.0];总/可用内存:[4242604032]
这是在桌面上
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'
我在这里可能会缺少一些基本知识。任何帮助将不胜感激。