尽管安装了 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 设备但未使用 [重复]

在 WSL2 上安装 TensorFlow-GPU

使用conda安装tensorflow-gpu

win10 配置tensorflow gpu环境

具有多个cuda版本的系统上的tensorflow-gpu安装问题

没有NVIDIA的Tensorflow-GPU,可能吗?