Pytorch安装框架流程/总结

本文使用的在线安装,对安装Pytorch的步骤作总结,整理框架流程,防止踩坑。安装具体细节可以参考别的博主

        安装中涉及到Anaconda,Python,Cuda,CuDnn,Pytorch。

        其中Cuda,CuDnn,Pytorch不兼容严重,一定要找准版本,我的建议是先确定Pytorch版本再确定Cuda,CuDnn版本

离线库网址:

使用离线安装比较麻烦,对python的版本也是有要求的,列如:

指的是这个torch版本为1.10.0,需要Cuda11.3,Python3.6版本,windows64位。

此外还需要添加对应的 torchvision和torchaudio的库

如有不对,请大佬指教

一.安装Anaconda

1.1准备工作

安装Python环境,推荐环境3.8

安装Pycharm,版本是2020.1

安装Anaconda,推荐版本Anaconda为2022.10

解压完后,分别添加Python和Anaconda的相关路径

安装后使用win+r,创建自己的虚拟环境,并指定Python版本,如果没有Python环境。可以自己加一下很简单

1.2常用按键

安装好Anaconda后,需要创建自己的虚拟环境

创建虚拟环境

conda create -n 环境名 python=3.9

进入虚拟环境

conda activate 环境名

退出虚拟环境

conda deactivate

查看conda下的虚拟环境

conda info --e

列出当前环境下的库

conda list

查看Cuda版本

nvcc -V

查看cudnn版本

conda activate yolov5

python

import torchvision

print(torchvision.__version__)

二.安装Cuda和Cudnn

1.1 Cuda的版本

在安装Cudah前,一定要先确认自己要多少版本的pytorch库

        比如安装1.6版本的pytorch库,就需要去安装10.2版本的Cuda

        再去找对应的Cudnn版本,例如:10.2版本的Cuda对应的是7.6.5的Cudnn

如下是Cuda版本对应Pytorch版本

1.2 torchvison 版本

1.2 Cuda官网

Cuda官网:

        安装很简单,一路next,路径需要自定义,注意的是VS不要勾选

1.3 CnDNN官网

CnDNN官网:

        Cudnn安装对应版本,下载解压缩,将三个文件复制到cuda下面( 安装很简单)

       默认路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\这里是你下载Cuda的版本

添加Cuda的环境

三.Pytorch安装

Pytorch的官网

进入官网,点左下角 (Previous versions of PyTorch),下载历史版本

1.1下载自己需要的版本

在自己的 虚拟环境下输入命令,如若运行指令出现网络问题可以多运行几次

1.2安装成功测试

安装结束后输入以下指令,测试是否成功

python

import torch

torch.cuda.is_available()

torch.version.cuda

print(torch.__version__)

四.Yolov5框架

1.1框架下载

在GitHup上选择自己需要的框架,然后解压缩

1.2 文件修改

对 requirements.txt 进行更改,将torch>=版本  给注释掉,因为我们已经安装好了

然后将torchvison改成torch对应的版本

1.3 Pycharm环境设置

将下载的yolov5框架加载到Pycharm上,在设置中更改解释器为我们安装pytorch的coda虚拟环境

如果缺少包,依赖之类的,进行自动安装。也可以使用pip命令到相应的虚拟环境下进行安装

添加完毕后运行,在runs的detect下面输出被预测的图片

1.4 detect.py和train.py

detect.py文件下,220行左右,常用参数解析

train.py文件参数解析

五. labellimg标注

labelimg 是可视化图像标定工具,支持YOLO格式,主要是建立自己的数据集,进行深度学习训练

1.1 获取labellimg

在GitHub上下载labellimg-master,解压完后,拖进Pycharm

注意,因为labellimg-master最高支持3.7版本的Python,所以需要在Pycharm当中新配置一个Pythoon3.7的环境

1.2 Pyqt和常规报错

安装PyQt5的时候,在虚拟环境下使用

pip install pyqt5

如果遇到网络问题可以切换镜像源

如果提示没有 Microsoft Visual C++ 14.0 ,那么需要安装一个VIsual Studio

此外我额外勾选了 C++分析工具,完美解决

PyQt4报错,则需将离线包导入

加载完后,如果labellmg的reource报错,进入到labellimg-master目录下,执行以下操作

1.3LabelImg标注

代码没有报错后,运行程序,切换保存模式为Yolo,打开训练图片的文件夹进行标注

Ctrl + s             保存当前改动

d                      下一张图片

Ctrl + +/Ctrl +   滚轮向前 放大

Ctrl + d           复制当前标签和矩形框

space             将当前图像标记为已验证

w                    创建一个矩形框

1.4标签文件解析

训练完成后,图片的文件夹多了标签文件和类别标签文件

标签类别文件解析:

标签文件解析:

六. 训练模型

可以看这个yolov5文件结构解析

先说流程:

 首先对图片进行标注,将标注好的图片和标注信息放入data文件下,创建datasts文件格式存放

data(必须)下创建超参.yaml,里面存放训练集和标注信息的路径

然后进入Pycharm对创建的超参进行添加数据

全部配置完成后,在train.py当中更改超参的路径

1.1datasts

yolov5-master文件下的data文件夹中创建datasets文件(存放数据集)

将刚刚标注好的训练集和标注信息放入对应文件夹

1.2 hyps下的超参文件

然后在yolov5-master文件下hyps里面,创建test.yaml文件 (存放的超参)

tips:可以使用这个默认的,不需要每次都新建


lr0: 0.01                         # initial learning rate (SGD=1E-2,Adam=1E-3)
lrf: 0.01                         # final OneCycleLR Learning rate (Lr0 lrf)
momentum: 0.937                   # SGD momentum/Adam beta1
weight_decay: 0.0005              # optimizer weight decay 5e-4
warmup_epochs: 3.0                # warmup epochs (fractions ok)
warmup_momentum: 0.8              # warmup initial momentum
warmup_bias_lr: 0.1               # warmup initial bias lr
box: 0.05                         # box loss gain
cls: 0.5                          # cls loss gain
cls_pw: 1.0                       # cls BCELoss positive_weight
obj: 1.0                          # obj loss gain (scale with pixels)
obj_pw: 1.0                       # obj BCELoss positive_weight
1oU_t: 0.20                       # IoU training threshold
anchor_t: 4.0                     # anchor-multiple threshold
#anchors: 3                       #  anchors per output Layer (0 to ignore)
fl_gamma: 0.0                     # ocal loss gamma (efficientDet default gamma=1.5)

hsv_h: 0.015                      #image HSV-Hue augmentation         (概率类型)色调
hsv_s: 0.7                        #image HSV-Saturation augmentation  (概率类型)饱和度
hsv_v: 0.4                        #image HSV-Value augmentation       (概率类型)曝光度
degrees: 0.0                      #image rotation (+/deg)             (随机)旋转角度
translate: 0.1                    #image translation (+/fraction)     (随机)平移
scale: 0.5                        #image scale (+/gain)               (随机)缩放尺度因子
shear: 0.0                        #image shear (+/deg)                (随机)错切/非垂直投影
perspective: 0.0                  #image perspective (+/fraction),range 0-0.001   (随机)透视变换

flipud: 0.5                       #image flip up-down                 (概率类型)上下翻转
fliplr: 0.0                       #mage flip left-right               (概率类型)左右翻转
mosa1c: 1.0                       #image mosaic                       (概率类型)四图拼接
mixup: 0.0                        #image mixup                        (概率类型)图像互相融合
copy_paste: 0.0                   #segment copy-paste                 (概率类型)分割填补、乱入效果

1.2 data下的超参文件

然后在yolov5-master文件下data里面,创建test.yaml文件 (超参配置文件)

data文件夹是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称;

train: ./data/datasets/images/train  #训练集的目录train
val:   ./data/datasets/images/val    #测试集的目录val
test:  ./data/datasets/images/test   #调试信息的目录test

nc: 3                                 #被检测的数量nc
names: ['Grenn','Yellow','Red']       #被检测目标名称,一定要从class文件当中复制进来,顺序不要错

1.3常见报错

1.1页面太小

如果提示页面太小,无法打印。到高级系统设置里分配空间

1.2 OMP报错

OMPQ:Error #15:Initializing libiomp5md.dll,but found libiomp5md.dll already initialized.

解决:进入项目的虚拟环境下(Aconda的env下),搜索libiomp5md.dll,删除第二个就可以了

七.模型成功运行

项目下查看runs下的train,里面存放权重文件和预测结果

1.1使用自己的模型

进入模型的输出文件下(项目的runs下的train)里面有weights权重文件,里面放置了best.t和last.pt

我们可以进入detect.py里面,将权重文件更换为自己的模型

更换别识别图片目录

运行detect.py,等待预测结果

扩展:双Cuda

可以装多个Cuda环境,例如我安装了两个Cuda环境(10.2和11.3)

切换只需将对应的四个环境变量上移

1.1流程

选好自己需要pytorch版本

下载对应CudaCudnn,并将其添加至环境

切换Cuda环境(将其提到最上面)

新建虚拟环境命名并加载pytorch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值