前言:
😊😊😊欢迎来到本博客😊😊😊
🌟🌟🌟 本专栏主要是记录工作中、学习中关于AI(Deep Learning)相关知识并分享。
😊😊😊 具体食用方式:可以点击本专栏【笔记目录】快速查阅您和我遇到的一样的问题、想查阅的知识以及其他相关问题。
🎁🎁🎁支持:如果觉得博主的文章还不错或者您用得到的话,可以悄悄关注一下博主哈,如果三连收藏支持就更好啦!这就是给予我最大的支持!😙😙😙

疑问:我要干什么?我该怎么装?装的对不对?
工欲善其事,必先利其器! 很多同学在配置深度学习环境的时候,踩过很多坑!尤其是在CUDA、cuDNN 和 PyTorch版本选择的时候一直装不对。下面就以笔记本RTX3050、CUDA11.7、PyTorch1.3.0为例,详细介绍安装过程
。
(1) 了解各组件
组件名 | 定义 | 作用 |
---|---|---|
显卡驱动 (GPU Driver) | 用于连接计算机的操作系统和显卡之间的通信。它负责管理和控制显卡的功能,使其能够正常地与操作系统和其他应用程序进行交互。 | 显卡驱动在计算机中起着桥梁的作用,将操作系统和显卡连接起来,确保它们能够有效地协同工作,提供高性能的图形处理能力。 |
CUDA (Compute Unified Device Architecture) | 由NVIDIA开发的一种并行计算平台和编程模型。它允许开发人员使用GPU(图形处理器)进行通用计算,而不仅仅局限于图形渲染。简单说,CUDA提供了一套编程接口和工具,使开发人员能够利用GPU的强大并行计算能力来加速各种应用程序,包括科学计算、数据分析、机器学习等。 | CUDA提供了一种利用GPU进行并行计算的平台和编程模型,使开发人员能够更好地利用GPU的性能来加速各种计算任务。它的出现极大地提高了计算能力和效率,推动了科学计算和数据分析等领域的发展。 |
CUDA Toolkit | CUDA Toolkit是由NVIDIA提供的一套开发工具和库,用于支持CUDA平台上的并行计算应用程序的开发和优化。 | CUDA Toolkit是一套专门用于开发和优化CUDA并行计算应用程序的工具和库。它提供了编译器、调试器、运行时库、并行计算库以及各种开发工具,方便开发人员利用GPU的并行计算能力来加速各种计算密集型任务。CUDA Toolkit极大地简化了CUDA程序开发过程,并提供了优化工具和库,使开发人员能够更好地利用GPU的性能。 |
cuDNN (CUDA Deep Neural Network Library) | 由NVIDIA提供的一个深度神经网络库,用于加速深度学习应用程序的开发和训练。简单来说,cuDNN提供了一套高性能的深度学习算法和函数集合,以及针对GPU硬件的优化实现。 | uDNN是一个高性能的深度神经网络库,用于加速深度学习应用程序在GPU上的训练和推断过程。它提供了优化的算法实现、硬件加速和算法调优等功能,方便开发人员利用GPU的计算能力来获得更高的性能和效率。cuDNN大大简化了深度学习应用程序的开发过程,使开发人员能够更专注于模型设计和算法调优。 |
PyTorch | PyTorch 是一个深度学习框架,它提供了用于构建和训练神经网络的高级API。PyTorch支持GPU加速,可以利用CUDA来加速深度学习任务。 | PyTorch允许开发者构建灵活的神经网络模型,并使用CUDA加速训练和推理过程。PyTorch的深度学习库可与cuDNN和CUDA Toolkit集成,以获得GPU性能提升。还有其他框架,比如:TF(TensorFlow、Caffe等等) |
(2) 组件之间的关系
通过一张图可以清除了解以上一些组件之间的关系:

简单介绍如下:
【Nvidia Driver显卡驱动】:操作系统和硬件GPU进行沟通交互的程序,没有显卡驱动,GPU就是一个摆设,调用不起来。先装好驱动,电脑就能使用GPU,但是深度学习搞不定。
【CUDA Toolkit工具包】:是基于驱动程序,用来实现GPU并行计算和加速深度学习的软件包。通过这个软件包,调用驱动,实现更加高级的功能。
【cuDNN深度学习加速库】:是专门针对深度学习的GPU加速库,如果你要使用深度学习框架,这个是必需的。虽然也是CUDA Toolkit的组件,但是官方的下载包里面并没有,需要自己额外下载。
【pytorch,tensorflow深度学习框架】:CUDA Toolkit并没有提供深度学习的框架,只是提供了如何高效调用GPU的软件库。如果你要创建深度学习模型,进行训练。还是要使用深度学习框架。
【Nvidia官方下载的CUDA】:官方下载的CUDA Toolkit是包含了驱动的,并且联合到一块是称为CUDA的。
conda下载的CUDA:是不包含驱动的,但是高版本的驱动,是向前兼容的,可以下载相匹配的cuda toolkit,构成不同版本的cuda
(3) 选择各个组件的版本
选择安装主要流程如下:

以下内容还请仔细阅读!
一、显卡驱动
显卡驱动一般电脑自带(预先安装好),如果没有,可以到官方:链接。选择与自己本机显卡配置、操作系统等匹配的驱动下载:

二、CUDN选择与安装
一般来讲是需要先确定CUDA版本,然后再按照后续流程确定其他配置版本。
那么如何选择一个CUDA版本呢,首先有一个原则,就是选择的CUDA版本不可以高于本机支持的最高CUDA版本。而本机支持的最高CUDA版本由显卡驱动决定,查看方式为:
win + R:进入命令行模式
nvidia -smi:查看详细内容

重点来了!!!
下表总结了目前最新版本的CUDA、PyTorch、torchvision、显卡算力以及python版本对应:

显卡算力详见官网:链接



接下来就是CUDA(CUDA Toolkit下载安装):官方链接。
(1) 进入官网选择对应版本

最新版本下载

旧版本下载:链接


(2) 安装
1.点击下载的.exe
文件,选择安装位置【此位置临时使用,后面会自动删除】。

2.等待安装完成。

3.检查系统兼容性。

4.继续。

5.同意并继续。

6.自定义。

7.组件可全选,仅选第一个也可。

8.点击“下一步”,默认位置即可。

9.等待安装。

10.下一步。

11.安装完成。

(3) 检查是否成功
1.查看环境变量是否添加。

2.命令行分别打出如下命令后,显示如下,则说明安装成功。
nvcc -V
set cuda

三、cuDNN选择与安装
cuDNN【官方地址】,要注意的是,我们需要注册一个账号,才可以进入到下载界面。大家可以放心注册。
(1) 进入官网选择对应版本

以下图为例:

(2) 下载解压、复制替换
下载完成后,将压缩包解压,将文件夹内的文件(bin/include/lib
),复制粘贴(替换)至CUDA安装目录下(默认地址):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7



拷贝时看到,CUDA 的安装目录中,有和 cuDNN 解压缩后的同名文件夹,这里注意,不需要担心,直接复制即可。cuDNN 解压缩后的同名文件夹中的配置文件会添加到 CUDA安装目录中的同名文件夹中。
(3) 设置环境变量
现在应该可以理解,cuDNN 其实就是 CUDA 的一个补丁而已,专为深度学习运算进行优化的。然后再添加环境变量。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvp

(4) 验证安装是否成功
启动cmd打开命令行,cd到安装目录下的 …\extras\demo_suite
,然后分别执行bandwidthTest.exe
和deviceQuery.exe
(进到目录后需要直接输“bandwidthTest.exe”和“deviceQuery.exe”)。

或者直接将两个.exe
文件拖进去:




得到以上信息,说明安装成功!
四、PyTorch选择与安装
(1) 虚拟环境
在安装PyTorch之前,python相关环境准备好。这里推荐使用Anaconda并创建虚拟环境,至于Anaconda的安装,这里不赘述了,网上有一大堆,基本都是通俗易懂的。重要的是:使用pip
的时候,网速过慢,建议使用清华镜像源或其他!!
(2) 选择下载安装PyTorch
虚拟环境创建好之后,进入虚拟环境,并进入PyTorch官网(链接),选择合适的环境安装。

以下是我安装的环境(如果有问题使用pip3
):
pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117

(3) 验证安装是否成功
安装完成之后,首先进入虚拟环境,然后通过以下几个命令来验证:

import torch
print(torch.__version__) # 查看torch当前版本号
print(torch.version.cuda) # 编译当前版本的torch使用的cuda版本号
print(torch.cuda.is_available()) # 查看当前cuda是否有可用的Torch,如果输出True,则表示存在/成功安装

至此,在本文创建的虚拟环境中成功安装深度学习环境,显卡为RTX3050,torch版本为1.13.0,cuda版本为11.7,python为3.7。
