Tensorflow没有利用GPU

时间:2019-05-23 08:58:30

标签: python tensorflow

我目前正在尝试训练聊天机器人,更具体地说是this one。但是,当我开始训练聊天机器人时,它会占用100%的CPU和大约10%的GPU。有人可能知道为什么吗?

GPU utilization CPU utilization

我已经安装了tensorflow-gpu,并确保我具有正确的CUDA和cuDNN版本。我还确保没有安装基本的tensorflow pip软件包。我还为我的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-05-22 16:47:00.168170:我   C:\ tf_jenkins \ workspace \ rel-win \ M \ windows-gpu \ PY \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:137]   您的CPU支持该TensorFlow二进制文件未包含的指令   编译使用:AVX AVX2

     

2019-05-22 16:47:00.433514:我   C:\ tf_jenkins \ workspace \ rel-win \ M \ windows-gpu \ PY \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:1105]   找到具有属性的设备0:

     

名称:采用Max-Q Design的GeForce GTX 1060专业:6个次要:1个   memoryClockRate(GHz):1.48

     

pciBusID:0000:01:00.0

     

总内存:6.00GiB空闲内存:4.97GiB

     

2019-05-22 16:47:00.450094:我   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,名称:   采用Max-Q设计的GeForce GTX 1060,PCI总线ID:0000:01:00.0,计算   能力:6.1)

     

设备映射:

     

/ job:本地主机/副本:0 /任务:0 /设备:GPU:0->设备:0,名称:   采用Max-Q设计的GeForce GTX 1060,PCI总线ID:0000:01:00.0,计算   能力:6.1

     

2019-05-22 16:47:01.391802:我   C:\ tf_jenkins \ workspace \ rel-win \ M \ windows-gpu \ PY \ 36 \ tensorflow \ core \ common_runtime \ direct_session.cc:297]   设备映射:

     

/ job:本地主机/副本:0 /任务:0 /设备:GPU:0->设备:0,名称:   采用Max-Q设计的GeForce GTX 1060,PCI总线ID:0000:01:00.0,计算   能力:6.1

1 个答案:

答案 0 :(得分:1)

GPU设置似乎没有任何问题(特别是如果您可以确定训练时使用的GPU比不训练时使用的更多,例如使用nvidia-smi

但是请注意,您的GPU不一定会成为培训的瓶颈,这意味着某些仅CPU密集型计算(例如数据增强)可能太慢了,以致GPU使用不足。 / p>

我建议对您的训练代码进行概要分析,以了解消耗所有CPU能量的原因。