我昨天让tensorflow 2.2在Windows 10 Enterprise 64位上使用Python 3.7.4,包括使用GPU。今天早上,同一系统不再看到 GPU。我已经卸载/重新安装了 CUDA, 以及基于Tensorflow文档的其他要求,但它只是拒绝工作。
PC 规格:i7 CPU 3.70GHz,64GB RAM,已安装 NVidia GeForce GTX 780 Ti 显卡(驱动程序 26.21.14.4122(。
https://www.tensorflow.org/install/gpu 说Tensorflow需要NVidia CUDA Toolkit 10.1(不是10.0,不是10.2(。
当然,该版本拒绝在我的PC上安装。 这些组件在安装过程中失败:
- 视觉工作室集成
- 新系统 公司
- N计算
所以,我安装了 10.2,它可以正确安装,但事情无法运行(考虑到 tensorflow 文档,这并不奇怪(。
安装的内容:
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 441.22 Driver Version: 441.22 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| 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 780 Ti WDDM | 00000000:01:00.0 N/A | N/A |
| 27% 41C P8 N/A / N/A | 458MiB / 3072MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:32:27_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.2, V10.2.89
我知道 10.2.89 的 nvcc 输出不是我需要的,但它根本不会安装 10.1,所以我不知道我能做什么。这是一个常见问题吗?我可以运行诊断程序以确保卡没有死吗?我应该降级我的张量流版本吗?我应该一起放弃这个环境吗?是这样,什么是学习机器学习的稳定环境?
以下是我如何让它工作。Tensorflow 2.2.0,Windows 10,Python 3.7(64位(。再次感谢叶海亚对这个解决方案的温柔推动。
卸载 NVIDIA 软件的每一点。
安装 CUDA 工具包 10.1。我做了软件包cuda_10.1.243_win10_network.exe的快速安装。任何其他版本的 CUDA 10.1 都未正确安装。
安装 CUDNN 软件包 7.6。将cudnn-10.1-windows10-x64-v7.6.5.32中的所有文件提取到 CUDA 文件结构中(即 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1(
将这些目录添加到路径变量中(假设您在安装过程中没有更改路径(:
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\libnvvp
重新启动以初始化 Path 变量。
通过 PIP 卸载所有张量流变体。
通过 PIP 安装 tensorflow 2.2。
然后你可以在bash中运行下面的代码,以确认tensorflow能够访问你的视频卡。
# Check if tensorflow detects the GPU
import tensorflow as tf
from tensorflow.python.client import device_lib
# Query tensorflow to see if it recognizes your GPU. This will output in the bash window
physical_devices = tf.config.list_physical_devices()
GPU_devices = tf.config.list_physical_devices('GPU')
print("physical_devices:", physical_devices)
print("Num GPUs:", len(GPU_devices))