我目前正在尝试训练聊天机器人,更具体地说是this one。但是,当我开始训练聊天机器人时,它会占用100%的CPU和大约10%的GPU。有人可能知道为什么吗?
我已经安装了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
答案 0 :(得分:1)
GPU设置似乎没有任何问题(特别是如果您可以确定训练时使用的GPU比不训练时使用的更多,例如使用nvidia-smi
)
但是请注意,您的GPU不一定会成为培训的瓶颈,这意味着某些仅CPU密集型计算(例如数据增强)可能太慢了,以致GPU使用不足。 / p>
我建议对您的训练代码进行概要分析,以了解消耗所有CPU能量的原因。