基于anaconda的yolov5安装教程

基于anaconda的yolov5安装教程

下载所需文件

从以下方法下载yolov5

https://github.com/ultralytics/yolov5
或者我的百度网盘(非最新)
链接:https://pan.baidu.com/s/1g4ddiSrw0UMLiavvTTD2Wg
提取码:zqze

在anaconda中配置环境

创建环境存放文件夹

conda create -n yolov5 python=3.7
conda activate yolov5

在这里插入图片描述

登录pytorch的官网 https://pytorch.org/get-started/locally/,根据自己的环境,进行选择,网站会给出相应的安装命令。我这里的环境是linux、pip、cuda 10.1
(查看cuda版本号nvcc -V
在这里插入图片描述
显然这张图中并没有我所需要的版本,那么就点击红色的install previous versions of PyTorch,或者打开网址https://pytorch.org/get-started/previous-versions/自行寻找对应的版本安装
*

注意:是在conda activate yolov5后输入指令,即处于yolov5环境

pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html`

或者

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch

为了成功安装,我采用了pip安装,并且在后面加了-i https://pypi.douban.com/simple/

下图为cuda10.1的安装pytorch
在这里插入图片描述
安装成功后,继续

pip install ipython

安装完pytorch后,我们在ipython中查看安装的结果

$ ipython
Python 3.7.10 (default, Feb  26 2021, 18:47:35)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.22.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import torch

In [2]: torch.cuda.is_available()
Out[2]: True

在这里插入图片描述
键入exit()推出ipython
此时,说明GPU版本的pytorch安装成功

安装yolov5

进入刚刚解压的yolov5文件夹

cd yolov5-4.0/

安装yolov5所需环境

pip install -U -r requirements.txt

在这里插入图片描述
运行python detect.py,默认情况下,脚本会去读取inference/images下的所有图片并进行目标检测,带有目标框的结果图片保存在inference/out下。

训练

准备数据集,与yolov4一样,.jpg.txt放在一个文件夹中
*1.*修改/data/中的coco128.yaml,将第十行注释即#download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip
修改以下两个部分:

#number of classes
 nc: 
#class names
 names:
train:
val:
路径最好为绝对路径,工程应用中将测试集与训练集为同一文件,保证样本足够

在这里插入图片描述
*2.*修改models中的.yaml文件,根据需求进行选取,只需修改第二行的nc: 2 #number of classes
3.

python train.py --img 480 --batch 32 --epochs 400 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights ./weights/yolov5s.pt --device 0,1
--epochs:训练的epoch,默认值300
--batch-size:默认值16
--cfg:模型的配置文件,默认为yolov5s.yaml
--data:数据集的配置文件,默认为data/coco128.yaml
--img-size:训练和测试输入大小,默认为[640, 640]
--rect:rectangular training,布尔值
--resume:是否从最新的last.pt中恢复训练,布尔值
--nosave:仅仅保存最后的checkpoint,布尔值
--notest:仅仅在最后的epoch上测试,布尔值
--evolve:进化超参数(evolve hyperparameters),布尔值
--bucket:gsutil bucket,默认值''
--cache-images:缓存图片可以更快的开始训练,布尔值
--weights:初始化参数路径,默认值''
--name:如果提供,将results.txt重命名为results_name.txt
--device:cuda设备,例如:0或0,1,2,3或cpu,默认''
--adam:使用adam优化器,布尔值
--multi-scale:改变图片尺寸img-size +/0- 50%,布尔值
--single-cls:训练单个类别的数据集,布尔值

多 GPU分布式数据并行模式
必须通过python -m torch.distributed.launch --nproc_per_node,然后是通常的参数。

python -m torch.distributed.launch --nproc_per_node 3 train.py --batch 96 --data coco.yaml --weights yolov5s.pt --device 0,1,2

–nproc_per_node指定要使用的 GPU 数量。在上面的例子中,它是 3。
–batch 是总批次大小。它将平均分配给每个 GPU。在上面的示例中,每个 GPU 是 96/3=32。

上面的代码将使用 GPU 0… (N-1)

测试

权重在runs/train/exp*中,一般使用best.pt

python test.py --weights runs/train/exp2/weights/best.pt --data ./data/coco.yaml --save-txt --iou-thres 0.2 --img-size 480
--weights :预训练模型路径,默认值weights/yolov5s.pt
--data:数据集的配置文件,默认为data/coco.yaml
--batch-size:默认值32
--img-size:推理大小(pixels),默认640
--conf-thres:目标置信度阈值,默认0.001
--iou-thres:NMS的IOU阈值,默认0.65
--save-json:把结果保存为cocoapi-compatible的json文件
--task:默认val,可选其他值:val, test, study
--device:cuda设备,例如:0或0,1,2,3或cpu,默认''
--half:半精度的FP16推理
--single-cls:将其视为单类别,布尔值
--augment:增强推理,布尔值
--verbose:显示类别的mAP,布尔值

可视化

使用tensorboard可视化结果

在yolov5目录下,使用:

tensorboard --logdir=runs

注意:
如果返回拒绝了我们的请求,可以在tensorboard的后面加上参数–port ip:

tensorboard --logdir=runs --host=192.168.0.134
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值