python Tensorflow-GPU 环境搭建(win11)

本文详细介绍了检查电脑GPU驱动以确定支持的CUDA版本,下载并安装CUDA的步骤,包括选择历史版本、配置环境变量,以及验证CUDA安装成功的各种方法。接着,文章讲述了下载和安装cuDNN的过程,以及配置环境变量的关键步骤。在确保CUDA正确安装后,创建Anaconda虚拟环境并安装特定版本的Tensorflow-GPU,最后通过编写Python代码来验证Tensorflow-GPU是否能正常加载。在遇到问题时,还提供了错误排除和库版本对齐的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 检查电脑GPU驱动型号等信息 获悉电脑支持的最高cuda型号

(1)打开英伟达控制面板 如下图

(2)查看对应显卡型号 如下图 我的版本是517

 

(3)在网站 CUDA 12.1 Update 1 Release Notes (nvidia.com) 查看该显卡驱动型号对应的cuda型号(支持的cuda最高型号) 如下图 可以看到 我的最高能支持到cuda11.8

ps:以上步骤参考:win11配置深度学习环境GPU - 知乎 (zhihu.com) 

2. 在Tensorflow官网上根据需要的Tensorflow版本查找所对应的cuda和cuDNN的版本

在网站 Tensorflow中文官网 上找到满足自己需要的 tensorflow-gpu 的版本,并查看其对应需要的cuda 和 cuDNN 型号。如下图,我的代码需要 tensorflow2.6,其需要的cuda版本是11.2cuDNN版本是8.1,是可以被我电脑的显卡驱动所支持的。

3. NVIDIA官网上下载相应型号的cuda 并正确安装配置

(1)下载

cuda在英伟达官网上下载即可:英伟达官网

当根据自己的电脑进行选择后,请一定要注意,如下图红框所示,要选择找到所需的历史版本,并进行下载。

 

(2)安装

安装时,要注意

- 选择默认文件夹 并记得安装路径 便于之后修改添加环境变量 并安装cuDNN

- 选择自定义安装 而非精简安装 如下图所示

之后出现了一个争议性问题:

如下图所示,红框所示的三个是否要勾选

不同的参考源给出了不同的选择,但总的来说,原则如下:

如果是第一次安装,尽量全选;如果是第n次安装,尽量只选择第一个,否则可能会出现错误

PS:cmd命令行敲 nvcc -V 如果反馈了cuda版本号 则证明已经安装了cuda

(3)配置环境变量

如下图所示 查看变量名为 CUDA_PATHCUDA_PATH_V11_2 的系统变量,是否如下图所示被添加了正确的路径(值)。如果没有,则需要手动添加,且添加的内容应该是刚刚安装 cuda 的路径。(比如我的就是 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2

(4)校验

参考 “5.检查cuda是否安装成功 ” 

ps:参考源

cuda下载安装1

cuda下载安装2

4. NVIDIA官网或镜像网站上下载相应型号的cuDNN 并正确安装配置

(1)说明

cuDNN是一个下载安装包,获取方式有以下三种

- 找公司或者学校的数据库 看有没有(我采用的)

- 从英伟达官方网站上下载 但需要注册 英伟达官方

- 从镜像网站上下载 参考中间部分

(2)安装

cuDNN解压后应该是一个文件夹 包含了 bin, include, lib 三个子文件夹以及一个txt说明文件

如下图所示,找到自己cuda的安装路径,并将相应的内容拷贝到对应的位置(不会有冲突文件),如下图所示。

(3)配置环境变量

类似于cuda配置环境变量,但不同的是,cuDNN需要对变量名为 Path 的变量进行编辑操作,再如下图所示,查看并添加以下四个路径。

(4)校验

参考 “7.检验tensorflow-GPU能否正常加载” 

5. 检查cuda是否安装成功

(1)cmd进入命令行窗口 键入 nvcc -V 显示如下图红框所示 即为该版本安装成功

(2)cd 进入到cuda的安装路径(比如我的就是 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2),并继续向下进入到 ...\extras\demo_suite 文件夹,找到如下两个.exe文件,并在cmd窗口内执行,看是否得出如下图所示的结果:

(3)参考源:检验cuda是否安装成功

6. 创建虚拟环境 并在该环境里下载安装相应版本的tensorflow

(0)使用 Anaconda Powershell Prompt 命令行通过conda创建虚拟环境

(1)conda 创建虚拟环境。依据步骤2,可知需要tensorflow版本为2.6时,python版本应为3.8

因此:conda create --name 英文环境名 python==3.8 

(我的英文环境名为 tensorflow26)

(2)激活该虚拟环境 

conda activate 英文环境名

(3)在该激活虚拟环境下通过pip安装tensorflow

pip install tensorflow-gpu==版本号

(我想安装的版本号是2.6)

7. 检验tensorflow-GPU能否正常加载

在任意位置创建一个py文件(路径没有中文),python代码如下:

import tensorflow as tf

print(tf.config.list_physical_devices('GPU'))


a = tf.constant(2.)
b = tf.constant(4.)

print(a * b)

在步骤6所述的虚拟环境(已激活)下,运行该代码。如下图所示:

8. 排除相应的错误

事实上,我的步骤7一开始并没有成功,遇到了报错:

内容类似于下面:

TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

解决办法是,按照提示,对 protobuf进行降级。

具体来说,

(0)Anaconda Powershell Prompt中激活该虚拟环境(如果已经在该虚拟环境中,可不做)

(1)pip uninstall protobuf      卸载当前protobuf

(2)pip install protobuf==3.20     安装符合要求的protobuf

参考

9. tensorflow2.6.0 版本对齐

备注:即使 “7.检验tensorflow-GPU能否正常加载” 顺利通过也不能证明tensorflow完全ok。在实践中,tensorflow不同版本对某些库的版本要求苛刻。

这里仅列出 tensorflow2.6.0 对各种库/python/环境的版本要求

请务必仔细检查(每安装一个库都要查一遍)

tensorflow2.6.0配套库/环境版本
python

3.7

cuda11.2
cuDNN8.1
protobuf3.20.0
numpy1.19.5
keras2.6.0
matplotlib3.3.4

相应的安装方式

pip uninstall numpy

pip install numpy==1.19.5

pip uninstall protobuf

pip install protobuf==3.20.0

pip3 install keras==2.6.0

pip install matplotlib==3.3.4

### 在 Windows 11安装 TensorFlow GPU 支持 #### 版本兼容性注意事项 对于希望在 Windows 11 上使用带有 GPU 加速功能的 TensorFlow 用户来说,需要注意的是自 2.10 版本之后官方已停止对原生 Windows 平台下的 GPU 配置的支持[^1]。因此,在此操作系统环境中部署 TensorFlowGPU 功能通常建议通过 WSL2 (Windows Subsystem for Linux version 2) 来实现。 #### 使用 WSL2 进行安装 为了能够在 Windows 11 中利用 GPU 资源运行 TensorFlow,推荐的方法是在 WSL2 下创建 Ubuntu 或其他受支持的 Linux 发行版实例,并在此基础上完成必要的软件栈搭建工作。具体操作流程涉及以下几个方面: - 打开 PowerShell 作为管理员执行命令 `wsl --install` 自动下载并设置默认的 Linux 发行版。 - 对于某些特定情况可能还需要调整 `/etc/wsl.conf` 文件中的选项来优化性能表现。 - **安装 NVIDIA CUDA 工具包与驱动程序** - 访问[NVIDIA 官方网站](https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=2004&target_type=deblocal),按照指引获取适用于目标系统的二进制文件。 - 注意选择与所使用的显卡型号相匹配的版本号。 - **配置 cuDNN 库** - 获取来自同一制造商提供的深度神经网络库——cuDNN,它能够显著提升模型训练效率。 - 将解压后的头文件夹复制到 CUDA 安装路径下相应位置即可生效。 - **准备 Python 开发环境** - 推荐采用 Miniconda 或 Anaconda 创建独立的工作区以隔离不同项目间的依赖关系冲突风险。 - 利用 pip 或者 conda 命令行工具快速拉取最新的稳定版 TensorFlow 包含 GPU 支援的部分。 ```bash # 更新系统包索引 sudo apt update && sudo apt upgrade -y # 添加NVIDIA APT仓库密钥和源列表条目 distribution=$(. /etc/os-release;echo $UBUNTU_CODENAME) curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/7fa2af80.pub | gpg --dearmor -o /usr/share/keyrings/nvidia.gpg echo "deb [signed-by=/usr/share/keyrings/nvidia.gpg] https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | tee /etc/apt/sources.list.d/cuda.list # 安装CUDA Toolkit及其配套组件 sudo apt-get install cuda-drivers cuda-toolkit -y # 设置环境变量使当前shell会话立即可用新安装的内容 export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH # 关闭终端重新打开使之永久有效 ``` ```python # 创建新的Conda环境名为tf_gpu_env conda create -n tf_gpu_env python=3.9 # 激活该环境 conda activate tf_gpu_env # 安装TensorFlow GPU版本及相关科学计算库 pip install tensorflow==2.12.0 numpy matplotlib jupyterlab ipython ``` 最后一步验证是否成功加载了 GPU 设备信息: ```python import tensorflow as tf print(tf.__version__) device_name = tf.test.gpu_device_name() if device_name != '/device:GPU:0': raise SystemError('GPU device not found') print(f'Found GPU at: {device_name}') ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值