🧸🧸🧸此页面更新历史🧸🧸🧸
2024.9.27——第一版——GPU版的pytorch安装与配置
简介
💻PyTorch 是一个开源的深度学习框架,支持使用 GPU 加速计算,由 Facebook 的人工智能研究团队开发,并于 2016 年发布。
PyTorch 的主要特点包括:
-
动态计算图: PyTorch 使用动态计算图,即在运行时构建计算图,可以方便地调试和修改模型。
-
Pythonic 编程风格: PyTorch 使用 Python 语言开发,语法与 Python 一致,更易于学习和使用。
-
强大的 GPU 加速支持: PyTorch 支持使用 CUDA 和 cuDNN 进行 GPU 加速计算,可以显著提高深度学习模型的训练效率。
-
丰富的预训练模型和数据集: PyTorch 提供了丰富的预训练模型和数据集,方便用户快速上手。
-
活跃的社区和生态系统: PyTorch 拥有活跃的社区和丰富的资源,包括文档、教程、示例代码、开源项目等。
PyTorch 的主要应用领域包括:
-
计算机视觉: 图像分类、目标检测、图像分割、图像生成等。
-
自然语言处理: 文本分类、机器翻译、情感分析、问答系统等。
-
语音识别: 语音识别、语音合成、语音增强等。
-
强化学习: 游戏 AI、机器人控制、自动驾驶等。
PyTorch 的核心概念包括:
-
张量 (Tensor): PyTorch 的基本数据结构,类似于 NumPy 的 ndarray,但支持 GPU 加速计算。
-
自动微分 (Autograd): PyTorch 提供自动微分功能,可以自动计算神经网络的梯度。
-
神经网络模块 (nn.Module): PyTorch 提供了一系列预定义的神经网络模块,例如卷积层、池化层、全连接层等,方便用户构建神经网络模型。
-
优化器 (Optimizer): PyTorch 提供了一系列优化器,例如 SGD、Adam、RMSprop 等,用于优化神经网络模型的参数。
-
损失函数 (Loss Function): PyTorch 提供了一系列损失函数,例如交叉熵损失、均方误差损失等,用于衡量神经网络模型的预测结果与真实标签之间的差距。
pytorch的几个组件的关系
*️⃣首先我们先理解使用pytorch的几个组件的关系。其中组件主要分为三类:电脑GPU显卡、GPU驱动、CUDA(cuDNN是依赖于CUDA的,我们归为一类)
- GPU 是中心组件。
- GPU 驱动 与 GPU 相连,负责硬件与操作系统的通信。
- CUDA 与 GPU 驱动和 GPU 相连,提供通用计算支持。
- cuDNN 依赖 CUDA,用于深度学习优化
GPU与CPU的计算原理与区别
GPU (Graphics Processing Unit) 和 CPU (Central Processing Unit) 是计算机中两种不同的处理器,它们在运行规则和功能上有显著的区别。
1. 运行规则:
-
CPU:
-
采用冯·诺依曼架构,包含控制单元、算术逻辑单元、寄存器等组件。
-
执行顺序指令,擅长处理复杂的逻辑运算和控制任务。
-
通常只有一个或几个核心,每个核心可以处理一个线程。
-
-
GPU:
-
采用 SIMD (Single Instruction, Multiple Data) 架构,包含大量小型、高效的计算单元。
-
执行并行指令,擅长处理大量简单重复的计算任务。
-
通常有数百甚至数千个核心,每个核心可以处理一个线程。
-
2. 区别:
CPU | GPU | |
---|---|---|
架构 | 冯·诺依曼架构 | SIMD 架构 |
核心数量 | 少 (1-16) | 多 (数百-数千) |
擅长任务 | 复杂逻辑运算、控制任务 | 简单重复计算任务 |
应用场景 | 操作系统、应用程序、游戏逻辑 | 图形渲染、科学计算、深度学习 |
功耗 | 高 | 低 |
成本 | 高 | 低 |
3. 举例说明:
-
CPU:
-
运行操作系统,管理计算机资源。
-
执行应用程序,例如文字处理、网页浏览、视频播放。
-
处理游戏逻辑,例如角色移动、碰撞检测。
-
-
GPU:
-
渲染图形图像,例如游戏画面、3D 模型。
-
进行科学计算,例如天气预报、基因测序。
-
训练深度学习模型,例如图像识别、自然语言处理。
-
什么是CUDA
- 定义: CUDA 是 NVIDIA 开发的并行计算平台和编程模型,允许开发者使用 GPU 进行通用计算。
- 功能:
- 提供 C/C++ 编程接口,方便开发者编写 GPU 加速的代码。
- 提供 CUDA 运行时库,包含各种数学函数、线性代数库、图像处理库等。
- 提供 CUDA 驱动程序,管理 GPU 硬件资源。
什么是cuDNN
- 定义: cuDNN 是 NVIDIA 开发的深度神经网络库,提供了针对深度学习优化的 GPU 加速库函数。
- 功能:
- 提供卷积、池化、归一化、激活函数等常用深度学习操作的 GPU 加速实现。
- 针对深度学习任务进行优化,提供更高的计算效率和更低的延迟。
- 与 CUDA 紧密集成,方便开发者使用。
⭕⭕⭕可以理解为CUDA使用GPU进行并行计算,cuDNN提高CUDA使用GPU的速度⭕⭕⭕
安装
📢📢📢总结网上大神们的几种安装方法的优劣,如pip、whl、conda。我选择了whl方式成功配置好环境。所以这里介绍一种安装方法whl 方法📢📢📢
🔴Tip:因为安装和配置深度学习环境,需要pytorch、CUDA、Cudnn、torchvision、torchaudio等版本的对应,各组件版本不对应是会有问题的,所以这里我们可以先确定自己想要安装的pytorch版本,而确定安装的pytorch版本又取决与我们电脑显卡支持的版本,所以
1️⃣先确定自己电脑的显卡
在自己电脑win旁边的搜索任务管理器
可以看到我电脑的显卡是4060
2️⃣确定自己显卡支持的算力
我们需要到维基上查找:https://en.wikipedia.org/wiki/CUDA(需要梯子才可以)
没有也没有关系,直接看图,第一列显示的是算力
这里我的电脑对应的算力是8.9
3️⃣确定好自己电脑的算力,就需要找到所支持的CUDA版本
所以这里我们显卡支持的CUDA是11.8及以下。
⚠️ ⚠️前提:
- 如果之前没有安装过CUDA,可以不用看这一步,直接到Step1开始,或者安装后也可以看,这一步主要说明CUDA的卸载。
- 之前安装过CUDA的,或者当前安装的CUDA不满足我们的pytorch,我们想卸载之前装的CUDA怎么卸载呢?
- 打开电脑的设置找到应用<安装的应用<搜索CUDA<点击后面三个点<卸载
- 再打开环境变量,在系统变量里删除有关CUDA的内容,
在点击path,删除有关CUDA的环境变量。
⏩Step1 确定安装的pytorch版本以及对应的CUDA版本
根据提示,我们首先确定了想要安装的pytorh版本(这里以pytorch2.4.1为例子)
首先进入pytorch官网Start Locally | PyTorch,我们可以看到pytorch2.4.1对应的CUDA版本为11.8. (12.1和12.4也是可以的)
⏩Step2 查看系统支持安装的最高CUDA版本
📍TIP: 这里支持安装最高CUDA版本的意思,不是你的电脑只能支持CUDA12.3(红框你电脑显示的cuda版本)而是当前你的电脑下载的显卡驱动(Driver version)最高支持CUDA12.3,如果后面你安装的CUDA版本大于12.3,只需要重新去nVidia官网下载新的驱动即可。
🔊🔊这里显示的CUDA并不是已经安装在系统中,需要后面自己安装🔊🔊🔊
Win+R打开cmd,输入以下命令
nvidia-smi
🔧🔧如果你的电脑没有显示下面图片的信息,是因为没有安装驱动,进入下面的网站安装即可。
可以看到框内的内容是CUDA version:12.3,表示最高能安装CUDA 12.3的版本,如果你安装的pytorch对应CUDA的版本为12.3及以下版本,就不需要更新显卡驱动,否则就需要安装更高版本的显卡驱动,从而安装更高版本的CUDA
我的CUDA Version是12.3,只要安装小于等于12.3版本的CUDA就不用更新驱动
显卡驱动下载地址为:Download The Official NVIDIA Drivers | NVIDIA
根据自己电脑的显卡,选择对应的信息,最后Find对应的驱动(可能有好几种,选择一个就可以)
⏩Step3 进入官网下载下载CUDA Toolkit
CUDA下载官网地址:CUDA Toolkit Archive | NVIDIA Developer(这里需要登录nvidia账号没有账号先用邮箱注册一个即可)
找到对应的CUDA版本点击进行下载(如我的版本是CUDA11.8)
根据自己电脑的型号,选择对应的选项,最后下载本地的(红框中的)这里的下载速度还是很快的,所以我选择whl的方式,其他的方法可能会因为包和依赖在国外,因为镜像或者网速的问题下载很慢或者失败。等待下载完成
⏩Step4 CUDA的安装
找到下载的位置双击安装程序
这里表示解压到这个文件夹,直接点击OK就行,安装完成,这个解压包会自动删除。
等待解压完成
进入安装:同意并继续
选择自定义安装
点击Driver components 的+号,取消Display Driver 的勾,因为当前的版本大于安装的新版本
接着点击下一步,出现选择按安装位置,是默认的安装目录。安装目录可以自己修改,但是需要自己创建新的目录(自己按照默认的安装位置一个一个新建文件夹即可)。我这里是全放在F盘,比如就为"F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"。大家可以根据自己的情况决定是否更改路径,但是一定要记住安装路径后续需要配置环境变量。
确定好后安装的目录点击下一步进行安装,直到安装成完成,这里CUDA安装完成。
⏩Step5 cuDNN的下载与安装
cuDNN官网地址:cuDNN Archive | NVIDIA Developer
因为我们安装的CUDA11.8选择一个for cuda11.x点击进入。
选择windows,点击下载即可。
将下载好的cuDNN压缩包解压,并将解压后所有的文件复制粘贴至刚才CUDA的安装目录,注意是CUDA的安装目录,如果有提示文件重复则选择全部覆盖即可。
⏩Step6 配置CUDA环境变量
电脑设置里搜索高级系统设置
点击环境变量
系统变量选择Path,双击进入
添加环境变量:可以看到红框标注的是安装CUDA后自动添加的,如果没有可以自己添加(如果有前两项,直接从第三个开始一个一个的添加)
⛔⛔⛔注意修改为自己安装的盘⛔⛔⛔
F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp
F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib
F:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\lib64
添加成功后点击键盘的win+R,在cmd命令行输入nvcc -V查看一下安装的CUDA的版本:
接下来验证CUDA是否安装成功,进入CUDA安装路径下的demo_suite目录,在地址栏输入cmd并回车即可进入该目录下
输入以下命令
.\bandwidthTest.exe
.\deviceQuery.exe
输入两个指令后,结果均为PASS,说明CUDA和cuDNN已经成功安装和配置。
😍😍😍下面正式进入pytorch的安装过程😍😍😍
⏩Step7 torch的下载
确保已经安装好CUDA和CUDNN。进入https://download.pytorch.org/whl/cu+你的cuda版本号
因为我们安装的cuda版本为11.8,所以直接修改网站为https://download.pytorch.org/whl/cu118
点击torch进入,我们看到如下的界面,找到torch并点击。
按住键盘CTRL+F键出现搜索框,输入2.4.1(因为我们一开始确定安装的torch版本是2.4.1),我们上面安装的CUDA11.8,cp310表示的是python版本,这里建议选择3.9及以上(最近新版本的torch支持的3.12>=python>=3.9),然后选择win系统。因为我们搜索了所以可以看到最右边的黄色部分就是我们检索到的,可以快速定位,注意不要下载到CPU版本的。
以上我们就把torch给下载好了,接下来我们需要下载torchvision和torchaudio,因为他们都有很强的版本依赖关系,所以我们必须找到他们对应的版本。
🔆🔆🔆这里先总结一下,在前面我们首先确定了安装pytorch2.4.1,在其官网上找到对应的CUDA版本为11.8,并下载CUDA11.8,接着我们在nvidia官网找到对应的cuDNN。所以这里我们需要找到torchvision和torchaudio的版本。
⏩Step8 查看pytorch与torchvision对应的版本并下载
首先查看pytorch与torchvision对应的版本,点击这个网址:pytorch/vision: Datasets, Transforms and Models specific to Computer Vision (github.com)
我们可以看到torch,torchvision以及python的版本对应关系,我们装的torch版本为2.4.1(看小数点后一位即可:2.4),对应的torchvision为0.19,所以我们去下载torchvision0.19
我们回到Step7中下载torch的网站:https://download.pytorch.org/whl/cu118
找到torchvision,点击进入
与搜索torch一样,CTRL+F搜索,滑动最右侧的黄色快,快速定位,我们发现torchvision的版本有0.19.0和0.19.1,(我一开始下载0.19.0然后安装的时候提示版本不匹配😭 😭 😭)返回下载0.19.1,这里推荐下载最新的,然后确定cu118(cuda11.8的意思),cp310,win系统,接着点击下载就好。
⏩Step9 查看pytorch与torchaudion对应的版本并下载
首先查看pytorch与torchaudion对应的版本,点击这个网站Installing pre-built binaries — Torchaudio 2.5.0.dev20240927 documentation (pytorch.org)
我们发现没有我们需要的torch2.4.1对应的版本(网站的更新不及时),但是没关系,我们可以看到最近的pytorch与torchaudio两个版本前两位号码都是一样的,以前的版本是后两位一样的,我们根据这个规律,确定我们安装的torchaudio版本应为2.4.X
同样我们回到下载torchvision的网站:https://download.pytorch.org/whl/cu118
找到torchaudio,点击进入
Ctrl+F搜索,2.4我们可以看到torchaudio有2.4.1,所以这个版本号应该是和torch2.4.1是对应的(我下载了2.4.1后面可以成功匹配),确定cuda118,cp310,win系统,点击进行下载(注意不要下载到CPU版本)
💯💯💯总结:从Step1——Step6我们安装了CUDA、cuDNN; 从Step7——Step9我们分别安装了torch、torchvision、torchaudio.到这里安装pytorch的准备工作已经完成💯💯💯
⏩Step10 pytorch环境安装
我们安装在anaconda环境中,先打开anaconda prompt,创建一个环境(如果有想装的环境就不需要创建了)
conda create -n 你的环境名
我这里是deeplabcut3.0,如
conda create -n deeplabcut3.0
接着激活你的环境,输入
conda activate 你的环境名
接着我们需要进入上面下载torch、torchvision、torchaudio的位置
🟢🟢我这里下载的位置在G盘,所以输入G:(注意这里有冒号)可以看到从C盘切换到G盘了
🔔🔔如果你下载的位置不是直接在一个盘里,而是盘的文件夹,(这里以"G:\EndNote.20.5\Crack\EndNote "这个文件位置为例子)我们可以先输入G:切换到G盘,接着输入cd G:\EndNote.20.5\Crack\EndNote 即可进入你的文件夹。
先安装torch,输入pip install torch然后按Tab键会自动补全torch的文件名:
看到后面显示Successfully,installeed torch-2.4.1+cu118-cp310-cp310-win_amd64.whl 说明torch已经成功安装。
接着再安装torchvision,输入pip install torchvision然后按Tab键自动补全:
最后安装torchaudio,输入pip install torchaudio然后按Tab键自动补全:
以上所有的安装项目已经装好,最后验证一下Pytorch是否安装成功,在命令行先输入python进入python环境,接着分别输入以下三句命令
import torch
print(torch.__version__)
print(torch.cuda.is_available())
最后我们看到一个true ✔️ ✔️ ✔️,说明我们已经装好了.