深入浅出学习Pytorch---Pytorch简介
学习原因:Pytorch日益增长的发展速度与深度学习时代的迫切需要
Pytorch模型训练
pytorch实现模型训练包括以下的几个方面(学习路线)
- 数据:数据预处理与数据增强
- 模型:如何构建模型模块
- 损失函数:创建并设置损失函数的超参数
- 优化器:管理模型参数
- 迭代训练:观察训练效果,并绘制Loss/Accuray曲线
- 模型应用:图像分类、图像分割、目标检测。
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显存)
- 首先,确定自己显卡的算力
- 确定自己的可选择CUDARuntimeVersion
- 确保自己的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安装成功
python
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安装成功