TensorFlow无法在Windows上检测到GPU的原因是什么

时间:2019-01-17 09:57:41

标签: tensorflow 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。

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

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

谢谢!

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

我不知道为什么TF仍然使用CUDA 10.0已经正式发布的CUDA 9.0,而TF仍然不支持Python 3.7?不可思议吗?与MS Build Tools 2015(已存在2017)和更多工具相同。 TF中继了旧版本的工具,这对于某些人来说是一个很大的问题,他们必须卸载仍在使用的新版本,这很烦人...

Update2: 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      |
+-----------------------------------------------------------------------------+

1 个答案:

答案 0 :(得分:1)

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

对TF团队的一些建议:

  • 在发布新版本之前,请确保它正在运行 在所有OS系统中都没有任何错误(我这样的错误 确实是一个非常低的杠杆错误)
  • 也请刷新您的第三方库以支持最新版本 版本,例如:我已经在计算机上安装的CUDA 10,但是由于安装了TF,我退回到了9.0;烦人。 VS 2015, Python 3.7,以及和和...以及。
  • 请更新文档,以从以下位置进行安装和构建 资料来源,清楚描述所有内容,需要,安装什么,如何构建所有需要的工具和实用程序。在文档中,我发现从源代码构建TF是 非常非常容易,但实际上并非如此,我发现了很多错误 和其他人一样,所以我无法从源代码构建。

到目前为止,我发现TF是最令人讨厌的框架,它可以进行构建和安装。 TF非常敏感,在构建或安装过程中发生错误的可能性很高。

祝你好运!