Tensorflow未使用GPU

3

我目前正在尝试训练一个聊天机器人,具体来说是这个。但是当我开始训练聊天机器人时,它会占用我的100% CPU和大约10%的GPU。有人可能有任何想法吗?

GPU utilization CPU utilization

我已经安装了tensorflow-gpu并确保我拥有正确版本的CUDA和cuDNN。我还确保没有安装基本的pip tensorflow包。我的GPU也安装了最新的Nvidia驱动程序。我还尝试卸载和重新安装所有驱动程序、CUDA、cuDNN、tensorflow-gpu以及所有依赖项和Python本身-但这些都没有起作用。

我可以创建一个Python脚本,并包括with tf.device('/gpu:0');,并没有问题地创建一个图形,所以它肯定检测到了GPU,但似乎没有利用它。

当运行sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))时,我得到以下输出:

2019年5月22日16:47:00.168170:I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137]您的CPU支持本TensorFlow二进制文件未编译使用的指令集:AVX AVX2 2019年5月22日16:47:00.433514:I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1105]找到设备0,其属性为: 名称:GeForce GTX 1060 with Max-Q Design,主版本号:6,次版本号:1,显存时钟频率(GHz):1.48 pciBusID:0000:01:00.0 总内存:6.00GiB,可用内存:4.97GiB 2019年5月22日16:47:00.450094:I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\gpu\gpu_device.cc:1195]正在创建TensorFlow设备(/device:GPU:0) -> (设备:0,名称:GeForce GTX 1060 with Max-Q Design,PCI总线ID:0000:01:00.0,计算能力:6.1) 设备映射: /job:localhost/replica:0/task:0/device:GPU:0 -> 设备:0,名称:GeForce GTX 1060 with Max-Q Design,PCI总线ID:0000:01:00.0,计算能力:6.1 2019年5月22日16:47:01.391802:I C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\36\tensorflow\core\common_runtime\direct_session.cc:297]设备映射: /job:localhost/replica:0/task:0/device:GPU:0 -> 设备:0,名称:GeForce GTX 1060 with Max-Q Design,PCI总线ID:0000:01:00.0,计算能力:6.1
1个回答

2

看起来你的GPU设置没有任何问题(特别是如果你可以使用nvidia-smi确认在训练时使用的GPU比不训练时多)。

然而要注意的是,你的GPU不一定是你训练中的瓶颈,这意味着一些仅使用CPU的计算任务(如数据增强)可能会很慢,导致GPU利用率降低。

我建议对你的训练代码进行分析,查看是什么占用了所有的CPU资源。

最初的回答


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接