首页 > 解决方案 > TensorFlow在Windows上检测不到GPU是什么原因

问题描述

我已经在配备 NVIDIA GTX 1080 显卡的机器上安装了 CUDA 9.0。当我运行命令时nvcc --version,我得到:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:32_Central_Daylight_Time_2017
Cuda compilation tools, release 9.0, V9.0.176

但是我已经尝试了 TensorFlow 官方网站上的步骤来安装支持 GPU 的 TF,但它仍然使用 CPU。

我试过pip安装和Anaconda安装,结果都是一样的。没有人能够检测到 GPU,然后我在网上尝试了许多其他教程,他们能够检测到 GPU,但我没有。

可能是什么原因,新的GPU版本的TF有什么变化吗?如果是,那么安装具有 GPU 支持的 TF 的最新文档是什么,如果不是,那么我做错了什么。

谢谢!

Update1 : ​​Tensorflow 真的很浪费我的时间。非常烦人,起初我决定从源代码构建 TF,将它与 CUDA 10 一起使用,但在 Windows 10 和 Ubuntu 18.04 操作系统上我都无法成功构建它。所以我放弃了,然后我决定使用 CUDA 9.0,Ubuntu 18.04 不支持,所以我回到了 windows,但即使 TF 的预建库仍然无法正常工作,真的很烦人。

不知道为什么TF还在使用CUDA 10.0已经正式发布的CUDA 9.0,而TF仍然不支持Python 3.7?很神奇不是吗?与 MS Build Tools 2015 相同,2017 已经存在,还有更多工具。TF 依赖旧版本的工具,这给一些人带来了很多问题,他们必须卸载仍在使用的新版本,这很烦人...

更新2: nvidia-smi输出:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 417.71       Driver Version: 417.71       CUDA Version: 9.0      |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080   WDDM  | 00000000:01:00.0  On |                  N/A |
| 27%   35C    P8     8W / 180W |    498MiB /  8192MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1264    C+G   Insufficient Permissions                   N/A      |
|    0      2148    C+G   ...0108.0_x64__8wekyb3d8bbwe\HxOutlook.exe N/A      |
|    0      4360    C+G   ...mmersiveControlPanel\SystemSettings.exe N/A      |
|    0      7332    C+G   C:\Windows\explorer.exe                    N/A      |
|    0      7384    C+G   ...t_cw5n1h2txyewy\ShellExperienceHost.exe N/A      |
|    0      8488    C+G   ...dows.Cortana_cw5n1h2txyewy\SearchUI.exe N/A      |
|    0      9704    C+G   ...osoft.LockApp_cw5n1h2txyewy\LockApp.exe N/A      |
|    0     10588    C+G   ...al\Google\Chrome\Application\chrome.exe N/A      |
|    0     10904    C+G   ...x64__8wekyb3d8bbwe\Microsoft.Photos.exe N/A      |
|    0     12608    C+G   ...DIA GeForce Experience\NVIDIA Share.exe N/A      |
|    0     13000    C+G   ...241.0_x64__8wekyb3d8bbwe\Calculator.exe N/A      |
|    0     14668    C+G   ...ng4wbp0\app\DellMobileConnectClient.exe N/A      |
|    0     17628    C+G   ...2.0_x64__8wekyb3d8bbwe\WinStore.App.exe N/A      |
|    0     18060    C+G   ...oftEdge_8wekyb3d8bbwe\MicrosoftEdge.exe N/A      |
+-----------------------------------------------------------------------------+

标签: tensorflowgpu

解决方案


我终于弄清楚了问题所在。这可能对其他人有帮助这是 TF 1.12 的一个错误,我已经删除并重新安装了 TF 1.11,它能够检测 GPU。

给TF团队的一些建议:

  • 在发布新版本之前,请确保它在所有操作系统系统中都可以正常工作,并且没有任何错误(我反对的这种错误实际上是一个非常低级的错误)
  • 还请刷新您的第三方库以支持最新版本,例如:CUDA 10,我已经安装在我的机器上,但由于安装了TF,我退回到了9.0;恼人的。VS 2015、Python 3.7 以及 and and ... 也是如此。
  • 请更新文档,无论是从源代码安装还是构建,都必须清楚地描述所有内容,需要什么,安装什么,如何构建所有需要的工具和实用程序必须清楚地描述。在文档中,我发现从源代码构建 TF 非常容易,但实际上并非如此,在那里我发现了很多错误,因此我无法从源代码构建。

到目前为止,我发现 TF 是最烦人的框架,构建和安装。TF 非常敏感,无论是在构建还是安装过程中发生错误的概率都非常高。

祝你好运!!


推荐阅读