Windows 安装 TensorFlow、CUDA Toolkit、cuDNN
- 整体流程概述
- TensorFlow 与 CUDA Toolkit
- TensorFlow 是一个基于数据流图的深度学习框架
- CUDA 充分利用 NIVIDIA GPU 的计算能力
- CUDA Toolkit
 
- cuDNN
 
- 安装详细流程
- 整理流程一:安装 CUDA Toolkit
- 步骤一:获取CUDA版本信息
- 步骤二:下载安装 CUDA Toolkit
- 步骤三:按照默认步骤安装
- 步骤四:检查CUDA安装成功
 
- 整体流程二:安装cuDNN
- 步骤一:下载 cuDNN
- 步骤二:解压缩下载的 zip,并将其中的文件复制到 CUDA Toolkit 的相应目录
- 步骤三:配置环境变量
 
- 整体流程三:安装 TensorFlow-gpu
- 步骤一:Anaconda中创建新的环境
- 步骤二:查看下载 tensorflow-gpu 的版本号
- 步骤三:检查整体流程安装成功
- 步骤四:检查 cuDNN 安装成功可用
 
 
整体流程概述
TensorFlow 与 CUDA Toolkit
TensorFlow 是一个基于数据流图的深度学习框架
- TensorFlow是一个基于数据流图的深度学习框架,它使用张量(Tensor)作为数据的基本单位,在GPU上进行张量运算可以极大地提高深度学习模型的训练和推理速度。而CUDA则提供了在GPU上执行高性能并行计算所需的API和运行时环境,能够实现深度学习任务的加速。
CUDA 充分利用 NIVIDIA GPU 的计算能力
- 安装 TensorFlow 之前需要首先安装 CUDA,准确的说是 CUDA Toolkit。是因为 TensorFlow 使用 CUDA 作为其后端计算引擎。CUDA 是由 NVIDIA 提供的并行计算平台和编程模型,可以充分利用 NVIDIA GPU 的计算能力,实现高性能的并行计算。
CUDA Toolkit
- 即 TensorFlow 默认会安装与系统和 GPU 兼容的版本,这需要依赖 CUDA Toolkit。CUDA Toolkit 包含 GPU 驱动程序、CUDA Runtime 库和相关工具,使 TensorFlow 能够与 NVIDIA GPU 进行交互并利用其计算能力。
cuDNN
-  在安装 TensorFlow 之前需要安装 cuDNN(CUDA Deep Neural Network library),是因为 TensorFlow 使用 cuDNN 来加速深度神经网络的计算。cuDNN 是由 NVIDIA 开发的用于深度学习的 GPU 加速库,它针对深度神经网络的计算任务进行了高度优化,可以显著加快训练和推理过程。 
-  TensorFlow 通过调用 cuDNN 的 API 来利用 GPU 上的硬件加速功能,特别是在卷积操作等深度学习任务中,cuDNN 能够提供很大的性能提升。在没有 cuDNN 的情况下,TensorFlow 会使用 CPU 来执行这些计算任务,但是由于 CPU 的计算速度相对较慢,处理大规模的深度学习模型时可能会非常耗时。 
安装详细流程

整理流程一:安装 CUDA Toolkit
步骤一:获取CUDA版本信息
桌面 > 右键 >
NVIDIA控制面板> 查看系统信息> 点击组件> 查看NVCUDA64.DLL的 CUDA版本 > 成功获取CUDA版本信息;

步骤二:下载安装 CUDA Toolkit
访问 CUDA Toolkit Archive https://developer.nvidia.com/cuda-toolkit-archive 下载对应版本的
CUDA Toolkit,根据步骤一中的 CUDA 版本信息(例如我的CUDA版本为12.0.134),选择下载 Toolkit 版本:

并开始下载,耐心等待10分钟;

步骤三:按照默认步骤安装
按照向导进行安装即可;

 
 
 
步骤四:检查CUDA安装成功
安装完成后,你可以在命令提示符或 PowerShell 中输入以下命令来验证 CUDA 是否成功安装:
nvcc -V
或者同:
nvcc --version

如果安装成功,将会输出 CUDA 的版本号。下面我们进行安装 cuDNN;
整体流程二:安装cuDNN
步骤一:下载 cuDNN
-  访问 cuDNN 下载网址:https://developer.nvidia.com/rdp/cudnn-download; 
-  出现下图界面说明你需要首先登陆你的 NIVIDIA 账户; 

- 出现如下界面,需要根据本机的 CUDA 版本选择安装,如何获取本机的 CUDA 版本?如下:
获取CUDA版本信息:
桌面 > 右键 >NVIDIA控制面板> 查看系统信息> 点击组件> 查看NVCUDA64.DLL的 CUDA版本 > 成功获取CUDA版本信息,即12.x

- 根据上述获得的 CUDA 版本信息,选择下载 12.x版本的cuDNN;

步骤二:解压缩下载的 zip,并将其中的文件复制到 CUDA Toolkit 的相应目录
- 解压缩后应该包含三个文件夹和一个文件:
 bin、include、lib、LICENSE

- 将三个文件夹中的文件分别复制到各自的 CUDA Toolkit 目录中 -  首先打开 bin文件夹:
  
 复制全部文件,粘贴到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin 文件夹中;
-  然后打开 include文件夹:
  
 同样复制全部文件,粘贴到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include 文件夹中;
-  最后打开 lib\x64文件夹:
  
 将全部文件粘贴到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib\x64 文件夹中;
 
-  
步骤三:配置环境变量
- 确保将 CUDA 和 cuDNN 的安装路径添加到系统的环境变量中,这样 TensorFlow 才能正确地找到这些库和头文件;
- cuDNN 中不会默认配置环境变量,需要读者手动配置环境变量:
- 首先打开 环境变量 path 栏目:

- 将解压缩后的 cuDNN 文件夹的 \bin绝对地址复制粘贴:
 C:\Users\xhong\Downloads\cudnn-windows-x86_64-8.9.3.28_cuda12-archive\cudnn-windows-x86_64-8.9.3.28_cuda12-archive\bin

完成!
cuDNN的完成检查需要等待下一步 tensorflow-gpu 安装完成后;
整体流程三:安装 TensorFlow-gpu
- 在安装完 cuDNN 后,再安装 TensorFlow 时,TensorFlow 将能够识别到你的 cuDNN 并自动与之集成,从而在 GPU 上运行深度学习任务时获得显著的加速效果。总之,安装cuDNN是为了充分发挥GPU的计算能力,提高TensorFlow的性能和效率,特别是在处理复杂的深度学习模型时,cuDNN的优化可以为你节省大量时间。
步骤一:Anaconda中创建新的环境
-  建议在 Anaconda Prompt中创建一个新的环境,因为我的base环境已经安装好了gpu版本的torch,而且如果都放在一个环境中更新环境会比较耗时;
-  创建环境 tensorflowconda create -n tensorflow pip python=3.8
-  激活环境 tensorflowactivate tensorflow 
步骤二:查看下载 tensorflow-gpu 的版本号
https://www.tensorflow.org/install/source_windows?hl=zh-cn
 网址最下方有一个表格,列有 GPU 的 CUDA、cuDNN 对照的安装的 tensorflow-gpu 版本号

-  很明显,根据我的 cuDNN(8.9.3.28) 与 CUDA(12.0.134) 版本的短板效应,我稳妥选择 tensorflow_gpu-2.4.0版本,建议读者到这里也这么选择,稳定能用就是了;
-  输入命令: pip install --ignore-installed --upgrade tensorflow_gpu==2.4.0 # 注意将2.4.0替换为你的版本号
等待安装完成!
步骤三:检查整体流程安装成功
-  打开 Pycharm,记得将环境从 base 切换到刚刚创建配置的 tensorflow: import tensorflow as tf# 检查是否有可用的 GPU 设备 if tf.config.list_physical_devices('GPU'):print('GPU可用') else:print("GPU不可用") 
-  出现上图所示 True,即完成安装步骤,若出现 curand64_10.dll is not found等标识,即说明下载安装相关 CUDA Toolkit 版本出现意外错误,解决办法为通过将文件中已含有的curand64_11.dll文件重命名可解决问题,如下图所示: 
-  bin文件目录地址为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin 
-  安装 CUDA 后,再安装 TensorFlow 时,TensorFlow 将会自动与 CUDA 进行集成,并在 GPU 上利用 CUDA 的功能来加速深度学习任务。这样,TensorFlow 能够更高效地执行张量计算,从而显著提高模型训练和推理的速度。 
步骤四:检查 cuDNN 安装成功可用
import tensorflow as tf# 检查TensorFlow-gpu是否可用
print("TensorFlow-gpu available:", tf.test.is_gpu_available())# 检查cuDNN是否可用
print("cuDNN version:", tf.config.list_physical_devices('GPU'))

 完结撒花!!!!~~~~