Python & Tensorflow & CUDA 环境设置问题

Python & Tensorflow & CUDA Environment Setup Problems

昨天在Windows 10 Enterprise 64 位上使用 tensorflow 2.2 和Python 3.7.4,包括使用GPU。今天早上,同一个系统不再看到 GPU。我有 uninstalled/reinstalled 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)。

自然地,那个版本拒绝安装在我的电脑上。这些组件在安装过程中失败:

所以,我安装了 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 版本吗?我应该一起放弃这个环境吗?那么,什么是稳定学习ML的环境?

下面是我如何让它工作的。 Tensorflow 2.2.0,Windows 10,Python 3.7(64 位)。再次感谢 Yahya 对这个解决方案的温和推动。

卸载 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 计算 Toolkit\CUDA\v10.1\bin
  • C:\Program Files\NVIDIA GPU 计算 Toolkit\CUDA\v10.1\libnvvp

重新启动以初始化路径变量。

通过 PIP 卸载 所有 个 tensorflow 变体。

通过 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))