【发布时间】:2018-08-16 05:52:07
【问题描述】:
我正在尝试使用 Keras 和 Tensorflow 后端来训练一个 CNN 模型。问题是,尽管我安装了 tensorflow-gpu 而不是普通的 tensorflow solution described in this link。
我已经安装了 CUDA 9.0 版和 cuDNN 7.1 版,this link described 没有收到任何问题。
我还确保 tensorflow 能够检测到我的 GPU
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 18032619952595111467
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 3187841433
locality {
bus_id: 1
}
incarnation: 7706357628903921514
physical_device_desc: "device: 0, name: GeForce GTX 1050, pci bus id: 0000:01:00.0, compute capability: 6.1"
]
经过进一步研究,我发现了这个link。而且我的脚本没有加载本地 cuDNN 库。
编辑
下面是nvidia-smi.exe的截图,这是我开始CNN训练前后(即没有变化)。
编辑 v2
好的,我取得了一些小进展,结果发现在 Spyder 中运行脚本有些奇怪,所以我在命令提示符中使用 python my_python_script.py 运行它。我可以肯定地说 GPU 是被 tensorflow 识别的,因为 Keras 已经给 GPU 分配了工作。但是,我仍然得到 0% 的利用率
我不知道还有什么问题。请帮忙。
提前致谢!
【问题讨论】:
-
能否请您尝试在终端上运行
nvidia-smi,看看您运行cnn时内存使用和进程是否有任何变化? -
@skr_robo 我已经进行了编辑,虽然我不确定如何解释结果
-
我的错。我没有注意到这一点。你知道
PID 13636对应的是什么进程吗?这看起来像 Keras CNN 代码。另外,你能通过运行nvcc -V来验证CUDA的安装吗? -
我认为那是 Spyder 编辑器。是的,
CUDA已安装,nvcc -V的输出为nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2017 NVIDIA Corporation Built on Fri_Sep__1_21:08:32_Central_Daylight_Time_2017 Cuda compilation tools, release 9.0, V9.0.176 -
Spyder 被广泛用于运行 Keras CNN 代码。您是否使用 Spyder IDE 运行 Keras CNN 代码?
标签: python tensorflow keras