深入浅出学习Pytorch—Pytorch简介与2024年最新安装(GPU)

发布于:2024-05-07 ⋅ 阅读:(25) ⋅ 点赞:(0)

深入浅出学习Pytorch—Pytorch简介

学习原因:Pytorch日益增长的发展速度与深度学习时代的迫切需要

Pytorch模型训练

pytorch实现模型训练包括以下的几个方面(学习路线

  1. 数据:数据预处理与数据增强
  2. 模型:如何构建模型模块
  3. 损失函数:创建并设置损失函数的超参数
  4. 优化器:管理模型参数
  5. 迭代训练:观察训练效果,并绘制Loss/Accuray曲线
  6. 模型应用:图像分类、图像分割、目标检测。

Pytorch简介

2017年1月,FAlR(FacebookAl Research)发布PyTorch。

PyTorch是在Torch基础上用python语言重新打造的一款深度学习框架Torch是采用Lua语言为接口的机器学习框架,但因Lua语言较为小众,导致Torch知名度不高。

在这里插入图片描述

解释器与工具包

解释器:将python语言翻译成机器指令语言python.exe(解释器)
问题:python2与python3不兼容

工具包:工具包又称为依赖包、模块、库、包python之所以强大是因为拥有大量工具包内置包:os、sys、glob、re、math等第三方包:pytorch,tensorflow,numpy等
在这里插入图片描述

通常存在的位置:虚拟环境下的lib文件夹下面

涉及到了虚拟环境的概念:引入了Anaconda这类管理工具

其中包括了 Base虚拟环境,python解释器,conda pip等管理工具,常见的包等工具。

创建的虚拟环境与Base环境基本相同 ,我们在Pycharm中配置对应需要使用的虚拟环境

conda config --show channels  (查看镜像源)
conda config --remove channels <channel_name>  (删除镜像源)
持久添加通道:condaconfig--addchannels通道地址
删除通道:condaconfig--removechannels通道地址

显卡GPU与驱动

GPU (Graphics ProcessingUnit)

显卡,主要就是用于在屏幕上显示图像。用于与视频,图像处理相关的任务。

显卡:独立显卡,核显。

驱动:让计算机识别特定的硬件。

深度学习显卡,CUDA深度学习显卡,英伟达品牌的显卡。NVIDIA有了CUDA,我们就可以操作英伟达品牌的显卡。

  • NVIDIA驱动:硬件显卡驱动,是为了告诉系统如何使用这张显卡的。
  • CUDA:NVIDIA为了构建自己的护城河而开发的高性能计算库,主要用于3D渲染和深度学习等。
  • CUDNN:NVIDIA针对深度学习而开发的,在CUDA之上的深度学习工具库。
  • 简单来说,就是如果你想加速你的AI程序的训练和推理速度,那么 CUDA 与 CUDNN 是必须的。

在这里插入图片描述

安装前准备

判断是否有英伟达的GPU

在任务管理器中确定GPU的型号 例如我自己的电脑中带的GPU是4060的显卡(8G显存)

在这里插入图片描述

  1. 首先,确定自己显卡的算力
  2. 确定自己的可选择CUDARuntimeVersion
  3. 确保自己的CUDADriver版本>=CUDARuntime版本

首先要验证英伟达的显卡驱动安装成功了:打开终端后,输入 “nvidia-smi”,如果有如下图所示的结果,就说明NVIDIA驱动安装成功了:

在这里插入图片描述

根据命令行可以确定支持的CUDA版本可以到12.4的型号上。但也要通过最新的官网文档进行确认

https://en.wikipedia.org/wiki/CUDA
在这里插入图片描述
在这里插入图片描述
我自己的是新的电脑,可以安装全新的驱动。
在这里插入图片描述

pytorch这里可以支持到12.1的驱动版本,在之后安装cuda时我们选择安装12.1的版本号来进行实验

配置镜像加速

如何查看配置文件中有哪些通道?
condaconfig–get
condaconfig–show
conda install xxx-c通道地址
conda create yyy -c 通道地址

核心技巧:配置文件的镜像地址默认保持不变,而使用-c参数只在当前的安装中生效

确定cuda runtimeversion

通过上面对pytorch版本的分析我们确定安装的版本为12.1的最新版本

如果对应的时老的显卡信息则需要找到历史版本的记录信息。

在这里插入图片描述

安装对应版本的cuda

在官网中找到指定要安装的cuda版本,我这里时12.1.0的版本,与pytorch中的版本型号进行对应。

https://developer.nvidia.com/cuda-toolkit-archive
在这里插入图片描述
下载windows64位的安装包
在这里插入图片描述

安装相对应版本的cuDNN

https://developer.nvidia.com/rdp/cudnn-archive

在这里插入图片描述
下载完成安装包之后按照对应的步骤安装好cuda12.0.0.1的驱动。

在这里插入图片描述
等待一段时间之后即可安装完成conda(需要一定时间的验证过程)
在这里插入图片描述
提示:推荐使用自定义下载的方式来进行安装,许可协议自定义安装路径

在这里插入图片描述
之后等待安装结束,同时验证安装是否成功,完成后配置对应的环境变量信息。

验证CUDA安装是否成功

找到D盘的安装位置
在这里插入图片描述

添加环境变量

参考位置:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib\x64

实际对应的位置:
在这里插入图片描述

安装cudnn

然后,对cudnn 进行解压,最后将解压后的 bin,include,lib 文件夹下的内容拷贝 到 cuda 对应的 bin,include,lib 下即可。至此,我们就完全安装了 AI 相关硬件环境。

在这里插入图片描述

三个文件夹对应位置安装

验证安装是否成功

首先win+R启动cmd,cd到安装目录下的 …\extras\demo_suite,然后分别执行bandwidthTest.exe和deviceQuery.exe(进到目录后需要直接输“bandwidthTest.exe”和“deviceQuery.exe”),应该得到下图:

两个pass代表安装成功。

在这里插入图片描述
在这里插入图片描述

虚拟环境安装pytorch

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

在终端中使用命令进行安装安装完成之后进行验证。(到此pytorch安装成功)
在这里插入图片描述
环境安装选择在D盘,空间需要2.4G的空间(此时安装完成进行代码的验证)
在这里插入图片描述

验证GPU版本的Pytorch安装成功

import torch
#%%
torch.__version__
#%%
torch.cuda.is_available()
#%%
# 返回当前设备索引
torch.cuda.current_device()
#%%
# 返回GPU的数量
torch.cuda.device_count()
#%%
# 返回gpu的名字,设备索引默认从0开始
torch.cuda.get_device_name(0)
#%% md
### GPU版本的pytorch安装成功

在这里插入图片描述