Python 尽管安装了所有先决条件,TensorFlow仍未使用GPU
我已经安装了CUDA 11.0、cuDNN 8.0.5(适用于CUDA 11.0)和tensorflow gpu 2.4.1。在Windows10Pro下。 我正在使用以下代码检查安装:Python 尽管安装了所有先决条件,TensorFlow仍未使用GPU,python,tensorflow,Python,Tensorflow,我已经安装了CUDA 11.0、cuDNN 8.0.5(适用于CUDA 11.0)和tensorflow gpu 2.4.1。在Windows10Pro下。 我正在使用以下代码检查安装: import tensorflow as tf from tensorflow.python.client import device_lib print(tf.version) print(tf.test.is_built_with_cuda()) print() print(tf.config.list_p
import tensorflow as tf
from tensorflow.python.client import device_lib
print(tf.version)
print(tf.test.is_built_with_cuda())
print()
print(tf.config.list_physical_devices())
print()
print(device_lib.list_local_devices())
import numpy as np
import tensorflow as tf
tf.debugging.set_log_device_placement(True)
for i in range(100):
a = tf.constant(np.random.randn(1000, 1000))
b = tf.constant(np.random.randn(1000, 1000))
c = tf.matmul(a, b)
print(c[465][266])
输出似乎表明TensorFlow看到了GPU:
真的
[物理设备(名称='/物理设备:CPU:0',设备类型='CPU')
PhysicalDevice(名称='/physical_设备:GPU:0',设备_类型='GPU')]
[名称:“/device:CPU:0”设备类型:“CPU”内存限制:268435456
地点{}化身:279105922589511936,名称:“/device:GPU:0”
设备类型:“GPU”内存限制:3173331764位置{总线id:1链接{}化身:12842674850440179486物理设备描述: 设备:0,名称:NVIDIA Quadro M1200,pci总线id:0000:01:00.0, 计算能力:5.0“]
路径中的相关条目
:
C:\Program Files\NVIDIA GPU计算工具包\CUDA\v11.0\bin
C:\Program Files\NVIDIA GPU计算工具包\CUDA\v11.0\extras\CUPTI\libx64
C:\Program Files\NVIDIA GPU计算工具包\CUDA\v11.0\include
C:\Program Files\NVIDIA GPU计算工具包\CUDA\v11.0\libnvp
以下是CUDA_路径
(虽然可能没有必要,因为我将cuDNN的.dll、.h和.lib文件复制到了CUDA的相应目录中):
C:\cudnn-11.0-windows-x64-v8.0.5.39\cuda\bin
然而,当我训练卷积神经网络时,CPU负载几乎达到100%,而GPU负载保持在0%。
要使TensorFlow使用GPU,我需要做什么
更新:
我尝试了以下代码:
import tensorflow as tf
from tensorflow.python.client import device_lib
print(tf.version)
print(tf.test.is_built_with_cuda())
print()
print(tf.config.list_physical_devices())
print()
print(device_lib.list_local_devices())
import numpy as np
import tensorflow as tf
tf.debugging.set_log_device_placement(True)
for i in range(100):
a = tf.constant(np.random.randn(1000, 1000))
b = tf.constant(np.random.randn(1000, 1000))
c = tf.matmul(a, b)
print(c[465][266])
输出(部分显示)清楚地表明TensorFlow相信它正在使用GPU:
在设备中执行op MatMul
/作业:本地主机/副本:0/任务:0/设备:GPU:0正在执行操作
在设备/作业中:localhost/replica:0/任务:0/设备:GPU:0执行操作
设备/作业中的磁盘:本地主机/副本:0/任务:0/设备:GPU:0
tf.张量(48.741279799952544,shape=(),dtype=float64)
但是,
NZXT-Cam
仅显示CPU使用情况。当我使用Zoom
时,它确实显示了GPU的利用率,因此NZXT-Cam
没有问题。看起来TensorFlow认为它在使用GPU,而实际上它并没有这样做…你在这里执行了所有的事情吗?@SırrıKırımlıoğlu我使用了其他来源,但是的,我认为我做了所有事情。此外,列出的部分代码正是他们建议的验证。好的,它显示了GPU。可能没什么问题。我检查您的GPU是否与cuda兼容。那么,也许是环境变量?@SırrıKırımlıoğlu我遵循了指示。PATH
和CUDA\u PATH
都设置好了。你看起来很有经验,我只是想检查一下,因为这个问题看起来有点毫无意义。当我尝试自己,它只是工作良好。我要投票表决这个问题,希望有人能帮忙。