【CUDA&cuDNN安装】深度学习基础环境搭建

目录

前言

[一、检查CUDA 版本必须与电脑的显卡型号匹配](#一、检查CUDA 版本必须与电脑的显卡型号匹配)

[1.1 确定你的显卡型号](#1.1 确定你的显卡型号)

1.1.1【可能遇到错误】

[1.1.2 【报错原因】](#1.1.2 【报错原因】)

1.1.3【解决方法】

方法一:将驱动添加到环境变量

方法二:安装更新显卡驱动

[1.2 查显卡支持哪个 CUDA 版本](#1.2 查显卡支持哪个 CUDA 版本)

二、安装CUDA

[2.1 官网下载](#2.1 官网下载)

[2.2 双击安装](#2.2 双击安装)

[2.3 查看cuda是否自动添加到环境变量](#2.3 查看cuda是否自动添加到环境变量)

[2.4 验证是否安装成功](#2.4 验证是否安装成功)

三、安装cuDNN

[3.1 官网下载](#3.1 官网下载)

[3.2 文件解压](#3.2 文件解压)

[3.3 验证cudnn是否安装成功](#3.3 验证cudnn是否安装成功)

四、CUDA和CUDNN简介

[4.1 CUDA简介](#4.1 CUDA简介)

[4.1.1 主要用途](#4.1.1 主要用途)

[4.1.2 CUDA 能干的 vs 不能干的](#4.1.2 CUDA 能干的 vs 不能干的)

[4.1.3 举个例子:CPU vs GPU vs CUDA](#4.1.3 举个例子:CPU vs GPU vs CUDA)

[4.1.4 CUDA 支持的语言和框架](#4.1.4 CUDA 支持的语言和框架)

[4.1.5 总结一句话](#4.1.5 总结一句话)

[4.2 cuDNN简介](#4.2 cuDNN简介)

[4.2.1 通俗解释一句话](#4.2.1 通俗解释一句话)

[4.2.2 它解决了什么问题?](#4.2.2 它解决了什么问题?)

[4.2.3 cuDNN 是什么和不是](#4.2.3 cuDNN 是什么和不是)

[4.2.4 PyTorch / TensorFlow 和 cuDNN 的关系](#4.2.4 PyTorch / TensorFlow 和 cuDNN 的关系)

[4.2.5 与 CUDA 的关系](#4.2.5 与 CUDA 的关系)

[4.2.6 总结一句话](#4.2.6 总结一句话)


前言

**操作系统:**windows 10

**显卡配置:**NVIDIA GeForce GTX 1050

安装前提: 电脑必须要有 NVIDIA 独立显卡,且已经安装显卡驱动。

**CUDA版本选择:**11.8(根据自己电脑显卡配置进行选择)

安装说明:

1、CUDA和CUDNN(CUDA的一个补丁,用于优化深度学习),先安装CUDA,后安装CUDNN。

2、根据教程步骤,以及自己的显卡配置选择合适自己电脑的CUDA和CUDNN版本进行安装;
参考资料【备用】:

CUDA & CUDNN安装解说视频:03_CUDA11.8及CUDNN的安装与配置教程_哔哩哔哩_bilibili

win11安装CUDA与CUDNN:深度学习环境配置------Windows安装CUDA与CUDNN_cudnn tarball-CSDN博客

▲官方文档参考

CUDA工具包发行说明: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

CUDA版本汇总: https://developer.nvidia.com/cuda-toolkit-archive


一、检查CUDA 版本必须与电脑的显卡型号匹配

安装CUDA注意事项说明:

1、确保自己的电脑显卡与所安装的CUDA型号能够相互匹配;

2、保证CUDA和cuDNN版本的对应;

1.1 确定你的显卡型号

打开命令行(Win+R → 输入 cmd → 回车):nvidia-smi

通过该命令可以查看,显卡所对应最高可安装的版本。

运行后会显示类似:

python 复制代码
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 537.13       Driver Version: 537.13       CUDA Version: 12.2    |
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
|  0  GeForce RTX 3060    On   | 00000000:01:00.0 Off |                  N/A |
+-----------------------------------------------------------------------------+

【 CUDA Version:12.2】:这就说明该显卡最高可安装CUDA 12.2的版本


1.1.1【可能遇到错误】

如果前面步骤没问题 ,直接看【1.2】

python 复制代码
C:\Users\asus>nvidia-smi
'nvidia-smi' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
1.1.2 【报错原因】

没有正确安装 NVIDIA 显卡驱动 ,或者 驱动未添加到系统环境变量中

1.1.3【解决方法】
方法一:将驱动添加到环境变量

说明:第【1】步你电脑如果没有找到【C:\Program Files\NVIDIA Corporation\NVSMI】路径,直接进入【方法二】

1、查看是否有相关驱动

查看路径是否有【C:\Program Files\NVIDIA Corporation\NVSMI】该路径,并且包含nvidia-smi.exe。


2、添加系统环境变量


3、运行命令

打开命令行(Win+R → 输入 cmd → 回车):nvidia-smi

通过该命令可以查看,显卡所对应最高可安装的版本。

运行后会显示类似:

python 复制代码
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 537.13       Driver Version: 537.13       CUDA Version: 12.2    |
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
|  0  GeForce RTX 3060    On   | 00000000:01:00.0 Off |                  N/A |
+-----------------------------------------------------------------------------+

如果能够看到CUDA Version的版本信息,直接看【1.2】


如果没有看到CUDA Version的版本信息,例如:

python 复制代码
C:\Users\asus>nvidia-smi
Fri Jun 20 20:25:42 2025
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 399.24                 Driver Version: 399.24                    |
|-------------------------------+----------------------+----------------------+
| 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 1050   WDDM  | 00000000:01:00.0 Off |                  N/A |
| N/A   47C    P8    N/A /  N/A |     75MiB /  4096MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

造成的原因: 是因为显卡的版本太旧,从而导致没有显示CUDA Version的版本信息,直接看【方法二:安装更新显卡驱动】

方法二:安装更新显卡驱动

①【设备管理器】查看是否有独立显卡

  1. 按下 Win + X → 选择 设备管理器

  2. 展开【显示适配器】

看看下面列出的内容是:

  • 只有类似 Intel HD GraphicsAMD Radeon → 没有 NVIDIA 显卡

  • NVIDIA GeForce xxx(如 1050、3060、RTX 4050)→ 你是有 NVIDIA 显卡的 ✅

根据该图显示,显卡型号为【NVIDIA GeForce GTX 1050】


②如果你确实有 NVIDIA 显卡但 nvidia-smi 无法用

1. 去官网下载并安装显卡驱动:

注意:语言选择简体中文【Chinese(simplified)】


2、安装

默认【OK】即可

▲这里是选择一个临时解压目录,用于解压安装程序里的驱动文件,以便接下来正式运行安装程序。

▲点【OK】,程序就会把解压内容放在你指定的地方;

▲解压后它会自动打开安装界面,正式开始驱动安装流程;

【说明】

  • 这不是最终驱动安装路径,只是解压临时文件的路径

  • 安装完成后,这个解压目录是可以删除的,通常占用 600MB ~ 1GB 左右

自动弹窗进入【系统检查】

精简安装就是默认安装,出于安装习惯,这里我们选择自定义安装,然后下一步。

到这步发现,其实精简安装和自定义安装的区别主要在于你可以选择清洁安装,如果不选择其实和精简安装方式相同。其实GPU也没什么配置内容,清洁安装可选可不选,然后下一步。

安装完成,可以看到右下角的NVIDIA图标,我们重启下电脑。至此,显卡驱动安装完成!

重启之后,打开图形面板可以进行显卡设置。

安装显卡驱动或者电脑的其他硬件驱动,其实和安装软件很相似,就是先卸载旧版,然后安装新版,安装完成后重启即可。


3、命令窗口运行nvidia-smi

python 复制代码
C:\Users\asus>nvidia-smi
Fri Jun 20 23:37:16 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 576.80                 Driver Version: 576.80         CUDA Version: 12.9     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1050      WDDM  |   00000000:01:00.0 Off |                  N/A |
| N/A   55C    P8            N/A  / 5001W |       0MiB /   4096MiB |      1%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A           15584      C   ...al\Programs\Ollama\ollama.exe      N/A      |
+-----------------------------------------------------------------------------------------+

可以发现已经有CUDA Version的版本信息了,最高可以安装CUDA 12.9


1.2 查显卡支持哪个 CUDA 版本

依据上面显卡【NVIDIA GeForce GTX 1050】,可选择的CUDA型号为:【CUDA 11.x(最高支持 12.1)】

你可以根据自己的电脑显卡型号查 NVIDIA 官网的列表(或者直接看下面这份整理):

显卡系列 计算能力(Compute Capability) 最大支持 CUDA 版本
GTX 10 系列(如 1050、1080) 6.1 -- 6.2 CUDA 11.x(最高支持 12.1)
RTX 20 系列(如 2060、2080) 7.5 支持 CUDA 12.x
RTX 30 系列(如 3060、3080) 8.6 支持 CUDA 12.x +
RTX 40 系列(如 4060、4090) 8.9 支持 CUDA 12.x +
GTX 9xx(如 960) 5.2 最多支持 CUDA 11.4 左右
更老的显卡(如 GT 730) < 5.0 不再被 CUDA 支持

💡 CUDA 12.x 之后已经不支持 Compute Capability < 5.0 的老显卡了。

确定安装版本后,查看**【二、安装CUDA】**


二、安装CUDA

【CUDA是干嘛用的?】

让程序员可以用 C/C++、Python 等语言编写代码,跑在显卡(GPU)上,进行高性能并行计算。

2.1 官网下载

CUDA11.8下载地址:CUDA Toolkit 11.8 Downloads | NVIDIA Developer

2.2 双击安装

说明:

这里是选择一个临时存放文件,安装时会占用8-10G的空间,如果C盘空间不够的话,可以存放在其它盘

组件 是否勾选 理由
CUDA ✅ 勾选 包含 nvcc 编译器、libcudart.socublas 等开发用组件
NVIDIA GeForce Experience components ❌ 不勾选 属于消费级图形界面程序,无关 CUDA 编程
Other components ✅ 可选(如你需要 Nsight、Profiler 工具)
Driver components 千万不要勾选 会降级或覆盖你当前 CUDA 12.9 对应的新显卡驱动!

点击展开,取消Visual Studio Integration

如果想节省c盘空间,点击【浏览】,切换成非c盘路径即可

例如:

这里我选择存放的位置是:【D:\computer_soft\CUDA\v11.8】

安装完成,重启


2.3 查看cuda是否自动添加到环境变量

一般会默认添加到系统环境变量,如果没有的话自己手动添加;

先查看系统环境变量是否有添加以下2个环境变量,没有则手动添加,例如:

变量名:CUDA_PATH

变量值:D:\computer_soft\CUDA\v11.8

==============================

变量名:CUDA_PATH_V11_8

变量值:D:\computer_soft\CUDA\v11.8

再到【系统环境变量→Path】,查看是否有以下2个环境变量,没有则手动添加 【Path→新建→复制粘贴路径即可】

说明:这是你安装时选择的存储路径

D:\computer_soft\CUDA\v11.8\bin

D:\computer_soft\CUDA\v11.8\libnvvp


2.4 验证是否安装成功

win+R→输入【cmd】→输入命令【nvcc -V】

有对应的输出信息代表安装成功


三、安装cuDNN

【cuDNN 是干嘛的?】

cuDNN (CUDA Deep Neural Network library)是 NVIDIA 专门为深度学习优化的 GPU 加速库


3.1 官网下载

下载地址:cuDNN Archive | NVIDIA Developer

注意:一定得选择与CUDA对应版本的CUDNN

1、选择与CUDA对应版本的cuDNN,例如:前面CUDA是11.8版本,cuDNN则对应选择后面带【for CUDA 11.X】的。

根据自己的系统选择对应系统,这里选择windows为例。


3.2 文件解压

下载好后,是一个.zip的压缩包,先解压;

解压好后进入该文件夹

再到设置的CUDA的路径下【D:\computer_soft\CUDA\v11.8】,把这4个文件【粘贴】在这个路径下

需要注意:之后重启电脑


3.3 验证cudnn是否安装成功

cmd进入目录:【D:\computer_soft\CUDA\v11.8\extras\demo_suite】

说明:该路径为你定义的CUDA路径

【输入命令】

python 复制代码
.\deviceQuery.exe

【观察结果】

如果结果为pass证明安装成功,如下图

【再输入命令】

python 复制代码
.\bandwidthTest.exe

【观察结果】

两条命令都出现 PASS 说明 cudnn 环境配置成功。

到此安装结束


四、CUDA和CUDNN简介

4.1 CUDA简介

4.1.1 主要用途
应用领域 用途说明
AI / 深度学习 训练和推理神经网络(如 PyTorch、TensorFlow 都支持 CUDA 加速)
科学计算 大规模矩阵运算、数值模拟(如物理、化学、天气模拟)
图像/视频处理 实时滤镜、图像增强、视频解码/编码
金融建模 风险模拟、复杂金融工具估价(如蒙特卡洛模拟)
密码学 大规模并行哈希计算、挖矿等

4.1.2 CUDA 能干的 vs 不能干的
能干的事 不能干的事(或不适合)
并行执行大量数据(如矩阵操作) 串行逻辑复杂、分支跳转多的算法
加速深度学习模型训练/推理 少量数据的小程序
图像、视频批量处理 与硬件无关、对平台要求低的任务

4.1.3 举个例子:CPU vs GPU vs CUDA
  • CPU 是通用处理器,比如你在跑 Word、看网页。

  • GPU 是显卡,能一次并行计算上千个小任务。

  • CUDA 是一套让你能"控制显卡做你想做的计算"的工具。

如果没有 CUDA,你的程序不能直接用 GPU 来做通用计算。你只能画图(OpenGL、DirectX),而不能用它来加速 AI、物理模拟等。


4.1.4 CUDA 支持的语言和框架
  • C/C++(原生支持)

  • Python(通过 PyCUDA、Numba、TensorFlow、PyTorch 等)

  • Fortran、MATLAB、Julia 等也可以通过接口调用 CUDA


4.1.5 总结一句话

CUDA 是 NVIDIA 给程序员提供的"显卡编程工具包",让你用 GPU 干更多原本 CPU 干的计算活,而且更快。


4.2 cuDNN简介

4.2.1 通俗解释一句话

cuDNN 是 NVIDIA 提供的"深度学习加速引擎",它把卷积、池化、激活等操作的底层实现做了极致优化,跑得又快又稳。


4.2.2 它解决了什么问题?

深度学习框架(如 TensorFlow、PyTorch)都要用大量的基础操作:

  • 卷积(convolution)

  • 池化(pooling)

  • 批归一化(batch normalization)

  • 激活函数(ReLU, Sigmoid, Tanh)

  • RNN、LSTM 结构

  • tensor 运算

这些底层操作如果每个框架都自己写一遍,既慢又不统一。

🔧 所以 NVIDIA 把这些"常用神经网络操作"提前做成了高度优化的 GPU 函数库 ------ 这就是 cuDNN


4.2.3 cuDNN 是什么和不是
cuDNN 是什么 cuDNN 不是
一个高度优化的、用于深度学习的 GPU 库 不是深度学习框架
用 C/C++ 写的,可以被调用来加速底层计算 不是 AI 模型
被 PyTorch、TensorFlow 等框架自动使用 不是你手写代码直接用的东西(通常由框架调用)

4.2.4 PyTorch / TensorFlow 和 cuDNN 的关系

举个例子:

你写了这样一行 PyTorch 代码:

python 复制代码
nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3)

看起来你只是在写神经网络层。但 PyTorch 背后会自动调用 cuDNN 提供的卷积实现,用 GPU 跑得飞快。


4.2.5 与 CUDA 的关系
CUDA cuDNN
更底层,更通用 基于 CUDA,专注于深度学习
可用于任何 GPU 加速 只用于神经网络运算加速
框架和你都可能用 通常由框架(PyTorch等)调用

可以理解为:

CUDA 是显卡驱动,cuDNN 是深度学习的"性能外挂"。


4.2.6 总结一句话

cuDNN 是深度学习操作的"加速库",让卷积等计算在 GPU 上跑得快、跑得省、跑得准,自动由主流框架调用。

相关推荐
静心问道20 分钟前
SELF-INSTRUCT:使用自生成指令对齐语言模型
人工智能·语言模型·大模型
芷栀夏26 分钟前
基于Anything LLM的本地知识库系统远程访问实现路径
数据库·人工智能
AI生存日记26 分钟前
AI 日报:阿里、字节等企业密集发布新技术,覆盖语音、图像与药物研发等领域
人工智能·华为云·语音识别·open ai大模型
hjs_deeplearning1 小时前
认知篇#10:何为分布式与多智能体?二者联系?
人工智能·分布式·深度学习·学习·agent·智能体
瑶光守护者1 小时前
【卫星通信】超低比特率语音编解码器(ULBC)的信道特性评估
深度学习·华为·卫星通信·3gpp·ulbc
kngines1 小时前
【字节跳动】数据挖掘面试题0001:打车场景下POI与ODR空间关联查询
人工智能·数据挖掘·面试题
.30-06Springfield3 小时前
利用人名语言分类案例演示RNN、LSTM和GRU的区别(基于PyTorch)
人工智能·pytorch·python·rnn·分类·gru·lstm
xingshanchang5 小时前
PyTorch 不支持旧GPU的异常状态与解决方案:CUDNN_STATUS_NOT_SUPPORTED_ARCH_MISMATCH
人工智能·pytorch·python
reddingtons6 小时前
Adobe Firefly AI驱动设计:实用技巧与创新思维路径
大数据·人工智能·adobe·illustrator·photoshop·premiere·indesign
CertiK6 小时前
IBW 2025: CertiK首席商务官出席,探讨AI与Web3融合带来的安全挑战
人工智能·安全·web3