Keras 不使用 GPU - 如何排除故障?
Posted
技术标签:
【中文标题】Keras 不使用 GPU - 如何排除故障?【英文标题】:Keras does not use GPU - how to troubleshoot? 【发布时间】:2018-10-25 02:35:19 【问题描述】:我正在尝试在 GPU 上训练一个 Keras 模型,使用 Tensorflow 作为后端。
我已经按照https://www.tensorflow.org/install/install_windows 设置好了一切。这是我的设置:
我正在虚拟环境中的 Jupyter 笔记本中工作。 当前 virtualenv 环境已安装tensorflow-gpu
。
我安装了 CUDA 9.1 和用于 CUDA 9.1 的 cudaDNN。
cuDNN64_7.dll
位于可通过 PATH
变量访问的位置。
我的计算机上有一个 NVIDIA GeForce GTX 780 和最新的驱动程序。
但是,Tensorflow 没有看到任何可用的 GPU:
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality
incarnation: 5275203639471190827
]
Keras 两者都没有:
from keras import backend as K
K.tensorflow_backend._get_available_gpus()
[]
我该如何调试呢?如何找出问题所在?
【问题讨论】:
您是否按照安装手册中的说明执行了验证 CUDA 和 cuDNN 安装正确的步骤? 呃,我用的是 CUDA 9.1 而不是 CUDA 9.0。也许这就是原因。将切换到 9.0 并重试。 【参考方案1】:检查nvcc -V
和
nvidia-smi
看看它是否显示我们的gpu。
假设你的 cuda cudnn 并且一切都检查好了,
你可能只需要
1.卸载keras
2. 卸载张量流
3.卸载tensorflow-gpu
4.只安装tensorflow-gpupip install tensorflow-gpu==1.5.0
5. 立即安装 Keras。
我遵循了这些步骤,现在 keras 使用了 gpu。
希望它在一定程度上有所帮助。
【讨论】:
以上是关于Keras 不使用 GPU - 如何排除故障?的主要内容,如果未能解决你的问题,请参考以下文章
使用 LSTM 和 CNN 对 Keras 进行故障排除以进行时间序列分类
如何检查keras tensorflow后端是GPU还是CPU版本? [复制]