YOLOv5学习记录

YOLOv5学习记录

众所周知
YOLOv5是基于PyTorch框架开发的,为了使用YOLOv5我们首先要去做好一些前置工作

1.安装YOLOv5

(1)打开Github在右上角搜索栏搜索yolov5

在这里插入图片描述

(2)点开第一个项目

在这里插入图片描述

(3)我此次使用的版本是6.0所以在左边的master中点开Tags选择我想要的版本

在这里插入图片描述

(4)然后再右边点击绿色的Code,然后Download ZIP,下载压缩包

在这里插入图片描述

2.配置环境

(1)解压后使用pycharm或者vscode打开yolov5文件,作者使用也推荐用pycharm编译器,相对于VSC,pycharm一些库可以直接导入,VSC奇怪的报错真的很难绷

在这里插入图片描述

(2)在pytorch官网下载与你配置对应版本的Pytorch

进入官网点击上方Get Started
在这里插入图片描述
选择版本,复制下方的Run this Command
在这里插入图片描述
复制进入终端中等待下载
在这里插入图片描述

(3)做完以上的任务后环境大体配置成功了,可以点击上方的虫子图标进行Debug查看自己是否有哪个库没有安装好,这些通常都可以在网上找到答案,每个人的情况各不相同

这边可以看看我学长写的一篇blog,里面有提到部分问题以及对于参数的推荐 点我

3.训练

(1)获得训练样本(打标)

将收集到的图片进行打标,这里使用的工具是make sense
具体操作可以参考 blog
训练样本的去处还是可以在我学长的 blog 找到

(2) 开始训练

这里简单放两个我遇到的错误情况

1.torch的版本有问题

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

在这里插入图片描述
如果你是GPU训练并出现上面的报错,检查一下解释器选项中torch和torchvision是不是都是cuda版本,如果不是可能需要重新安装pytorch
参考解决方案

2. memory error

通常出现这种报错就是在train.py中batch调太高了,调低就ok在这里插入图片描述

3.根本没有进入训练,最后在runs文件夹中exp只有统计样本数量

在这里插入图片描述
在这里插入图片描述
这种情况是训练失败了,这是因为安装了新版本的 Pillow (10)删除了该getsize 功能,可以对Pillow的版本降级处理,在终端输入下面的指令

pip install Pillow==9.5

3.训练成功的情况

如图,可在看到有confusion_matrix(混淆矩阵),F1_curve,召回率,准确率等图片,还有results,模型打标后的部分结果

在这里插入图片描述
然后就可以根据result的曲线判断是否过拟合亦或是欠拟合,对参数进行修改重新训练,附带一张查到的对参数的翻译

lr0: 0.01  # 初始学习率 (SGD=1E-2, Adam=1E-3)
lrf: 0.2  # 循环学习率 (lr0 * lrf)
momentum: 0.937  # SGD momentum/Adam beta1 学习率动量
weight_decay: 0.0005  # 权重衰减系数 
warmup_epochs: 3.0  # 预热学习 (fractions ok)
warmup_momentum: 0.8  # 预热学习动量
warmup_bias_lr: 0.1  # 预热初始学习率
box: 0.05  # iou损失系数
cls: 0.5  # cls损失系数
cls_pw: 1.0  # cls BCELoss正样本权重
obj: 1.0  # 有无物体系数(scale with pixels)
obj_pw: 1.0  # 有无物体BCELoss正样本权重
iou_t: 0.20  # IoU训练时的阈值
anchor_t: 4.0  # anchor的长宽比(长:宽 = 4:1)
# anchors: 3  # 每个输出层的anchors数量(0 to ignore)

#以下系数是数据增强系数,包括颜色空间和图片空间

fl_gamma: 0.0  # focal loss gamma (efficientDet default gamma=1.5)
hsv_h: 0.015  # 色调 (fraction)
hsv_s: 0.7  # 饱和度 (fraction)
hsv_v: 0.4  # 亮度 (fraction)
degrees: 0.0  # 旋转角度 (+/- deg)
translate: 0.1  # 平移(+/- fraction)
scale: 0.5  # 图像缩放 (+/- gain)
shear: 0.0  # 图像剪切 (+/- deg)
perspective: 0.0  # 透明度 (+/- fraction), range 0-0.001
flipud: 0.0  # 上下翻转概率 (probability)
fliplr: 0.5  # 左右翻转概率 (probability)
mosaic: 1.0  # 进行Mosaic概率 (probability)
mixup: 0.0  # 进行图像混叠概率(即,多张图像重叠在一起) (probability)
  • 21
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Yolov5是一个目标检测算法,它采用了和Yolov4一样的Mosaic数据增强方式,该方式由Yolov5团队的成员提出。Mosaic数据增强使用了随机缩放、随机裁剪和随机排布的方式进行拼接,对于小目标的检测效果很不错。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [YOLOv5 学习笔记](https://blog.csdn.net/W1995S/article/details/118114221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [YOLOv5学习笔记](https://blog.csdn.net/qq_54809548/article/details/125403163)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [YOLOv5 自学笔记(持续更新)](https://blog.csdn.net/Mr_wjjianyan/article/details/128475887)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值