tensorflow - 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 |
+-----------------------------------------------------------------------------+
解决方案
我终于弄清楚了问题所在。这可能对其他人有帮助这是 TF 1.12 的一个错误,我已经删除并重新安装了 TF 1.11,它能够检测 GPU。
给TF团队的一些建议:
- 在发布新版本之前,请确保它在所有操作系统系统中都可以正常工作,并且没有任何错误(我反对的这种错误实际上是一个非常低级的错误)
- 还请刷新您的第三方库以支持最新版本,例如:CUDA 10,我已经安装在我的机器上,但由于安装了TF,我退回到了9.0;恼人的。VS 2015、Python 3.7 以及 and and ... 也是如此。
- 请更新文档,无论是从源代码安装还是构建,都必须清楚地描述所有内容,需要什么,安装什么,如何构建所有需要的工具和实用程序必须清楚地描述。在文档中,我发现从源代码构建 TF 非常容易,但实际上并非如此,在那里我发现了很多错误,因此我无法从源代码构建。
到目前为止,我发现 TF 是最烦人的框架,构建和安装。TF 非常敏感,无论是在构建还是安装过程中发生错误的概率都非常高。
祝你好运!!
推荐阅读
- r - 按 ASCII 顺序排列 R 中的列
- scala - 有没有办法将 parquet 分区下的所有文件读取到单个 spark 分区上?
- python - 矩阵的小调
- ffmpeg - 创建 PIP 视频,同时为画中画添加透明度?
- javascript - 使用节点 js 的 ajax 响应
- c++ - 在 C++ 中使用 Tesseract OCR 时如何启用“安静模式”?
- c++ - C ++将函数的结果传递给另一个函数
- android-source - 将移动网络添加到 Android 设备
- mysql - 如何在本月 1 日到上月 17 日之间进行选择
- javascript - 将相同函数的结果添加到没有临时变量的多个变量中