繁体   English   中英

为什么Tensorflow-gpu仍在使用cpu

[英]why Tensorflow-gpu is still using cpu

我在后端使用带有tensorflow-gpu的Keras,我没有安装tensorflow(CPU - 版本),所有输出显示GPU选择但是tf正在使用CPU和系统内存

当我运行我的代码时,输​​出是: output_code

我甚至运行了device_lib.list_local_device(),输出是: list_local_devices_output

运行代码后,我尝试了nvidia-smi来查看gpu的用法,输出是: nvidia-smi输出

Tensorflow-gpu = "1.12.0"
CUDA toolkit = "9.0"
cuDNN = "7.4.1.5"

环境变量包含:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp;
C:\WINDOWS\system32;
C:\WINDOWS;
C:\WINDOWS\System32\Wbem;
C:\WINDOWS\System32\WindowsPowerShell\v1.0\;
C:\WINDOWS\System32\OpenSSH\;
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;
D:\Anaconda3;D:\Anaconda3\Library\mingw-w64\bin
D:\Anaconda3\Library\usr\bin;
D:\Anaconda3\Library\bin;
D:\Anaconda3\Scripts;D:\ffmpeg\bin\;

但是当我在任务管理器中检查内存使用情况时,输出仍然是

CPU利用率51%,RAM利用率86%GPU利用率1%,GPU-RAM利用率0% Task_manager_Output所以,我认为它仍然使用CPU而不是GPU。

系统配置:

Windows-10 64 bit; IDE: Liclipse; Python: 3.6.5  

它正在使用GPU,正如您在日志中看到的那样。 问题是,在GPU上无法完成很多事情,只要数据很小且复杂性很低,最终你的GPU使用率就会降低。

  • 也许batch_size是低 - >增加直到遇到OOM错误
  • 您的数据加载耗费大量时间,您的gpu必须等待(IO读取)
  • 您的RAM很低,应用程序使用磁盘作为后备
  • 预处理要慢。 如果您正在处理图像,请尽可能将所有内容计算为生成器或gpu
  • 您正在使用一些非GPU加速的操作

是一些更详细的解释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM