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)。
自然地,那个版本拒绝安装在我的电脑上。这些组件在安装过程中失败:
- Visual Studio 整合
- NSight 系统
- NSight 计算
所以,我安装了 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))
我昨天在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)。
自然地,那个版本拒绝安装在我的电脑上。这些组件在安装过程中失败:
- Visual Studio 整合
- NSight 系统
- NSight 计算
所以,我安装了 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))