尽管安装了 tensorflow-gpu,但 GPU 不用于计算
Posted
技术标签:
【中文标题】尽管安装了 tensorflow-gpu,但 GPU 不用于计算【英文标题】:GPU is not used for calculations despite tensorflow-gpu installed 【发布时间】:2017-10-05 00:06:08 【问题描述】:我的电脑安装了以下软件:Anaconda (3)、TensorFlow (GPU) 和 Keras。 有两个 Anaconda 虚拟环境 - 一个用于 Python 2.7 的 TensorFlow,一个用于 3.5,两个 GPU 版本,installed according to the TF instructions。 (我之前在单独的环境中安装了 TensorFlow 的 CPU 版本,但我已将其删除。)
当我运行以下命令时:
source activate tensorflow-gpu-3.5
python code.py
并检查 nvidia-smi
它仅显示 Python 的 3MiB GPU 内存使用情况,因此看起来 GPU 不用于计算。
(code.py
是使用 Keras 实现的简单深度 Q 学习算法)
有什么想法可能会出错吗?
【问题讨论】:
【参考方案1】:调试这些问题的一个好方法是检查哪些操作已分配给哪些设备。
您可以通过将配置参数传递给会话来检查这一点:
session = tf.Session(config=tf.ConfigProto(log_device_placement=True))
当您运行您的应用程序时,您将看到一些指示正在使用哪些设备的输出。
您可以在此处找到更多信息: https://www.tensorflow.org/tutorials/using_gpu
【讨论】:
【参考方案2】:Windows 上的 TensorFlow
我花了好几个小时来修复 Windows 上的 TensorFlow 安装问题,所以这里是总结:
检查 TensorFlow-gpu 是否正常工作(使用此代码):
with tf.device('/gpu:0'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.Session() as sess:
print(sess.run(c))
检查可用 CPU 或 GPU 的列表(使用此代码):
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
if tf.test.gpu_device_name():
print('Default GPU Device: '.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
使用 CUDA 和 cuDNN 在 Windows 上安装 Tensorflow GPU
指南概述
在您的计算机上安装 Nvidia 的卡以及驱动程序 下载并安装 CUDA 下载并“安装”cuDNN 卸载 Tensorflow,安装 Tensorflow GPU 更新系统上的 %PATH% 验证安装指南完整细节
install-tensorflow-gpu-windows-cuda-cudnn how-to-install-and-run-gpu-enabled-tensorflow-on-windows确保
您已经卸载了 tensorflow,并且只安装了 tensorflow-gpu 以完成任务。 根据您的项目设置从 pip 和 conda 环境中卸载 tensorflow,然后只安装 tensorflow-gpu 设置 PATH 变量后,请确保注销或重新启动系统。希望对你有帮助:))
【讨论】:
【参考方案3】:我的 GPU 没有运行的原因是 CuDNN 的安装损坏,更准确地说,库和源来自不同版本的 CuDNN。
已用the following piece of advice. 修复
【讨论】:
【参考方案4】:这是一个棘手的问题,几乎就像计算机将使用任何可能的借口恢复到 CPU 一样。为确保当前正在使用 tensoflow、keras 和 pytorch,请参阅https://***.com/a/53244520/420400
【讨论】:
以上是关于尽管安装了 tensorflow-gpu,但 GPU 不用于计算的主要内容,如果未能解决你的问题,请参考以下文章
已安装 Tensorflow-gpu、CUDA 和 cudnn,但发现 GPU 设备但未使用 [重复]