通过yolov5进行训练出数据集,做出哆来A梦识别的流程

 一.关于版本

1.python 3.9 (强烈建议使用3.9,因为3.11版本和3.8版本亲测不太好弄,3.11版本直接是失败了)

2.pytorch 最新版也行的

二.准备工作

1.在yolov5-master文件夹下新建文件夹test(可以自定义命名)

2.在test文件夹下新建三个文件夹,train,valid,test

3.在这三个文件夹下分别建images和labels文件夹

-train文件夹用于存放训练图像

-valid文件夹用于存放测试图像

-test文件夹用于存放训练出的权重文件后,对一些未处理的图像进行操作

在这三个文件夹下,分别新建images和labels

-images用于存放未经处理的图像

-labels用于存放标记后的图像(下一步讲如何标记)

4.使用labelImg标记图像

1.安装labelImg

下载地址:GitHub - HumanSignal/labelImg: LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check out Label Studio, the open source data labeling tool for images, text, hypertext, audio, video and time-series data.

解压

打开anaconda prompt

在命令行中输入以下指令

cd C:\labelImg-master

进入labelImg的文件夹

conda install pyqt=5

安装pyqt5

pyrcc5 -o libs/resources.py resources.qrc

运行此代码是没啥结果的,然后继续输入

python labelImg.py

就可以打开labelImg了

2.图像处理

tips:

--在file目录下可选择自动保存,就很方便

--如果是多图像,切记右侧的命名要分开标

同时,只需要对train文件夹和valid文件夹下的图像进行处理,test不用,处理出来的是txt文件,具体如下图

3.配置文件的创建

在test文件夹下新建一个txt文件(填写完内容后要改成yaml文件的)

其中填写以下内容(记得要空格!!)

三.训练过程

打开spyder,打开train.py文件

在运行格下打开单文件配置选项

在这个格子里填上以下代码(具体路径要修改)

--batch-size="2" --epochs="200" --data="test_DLAM/data.yaml" --weights=".\weight\yolov5n.pt"

处理好后点运行,等几个小时就可以弄出自己的权重文件辣!!!!

(后面会给出一些问题的解决方法)

四.自定权重文件的使用

到这里,基本就是成功了99%,接下来就是用用这个辛苦好久才训练出来的权重文件

1.打开detect.py文件,还是在运行框下,点击单文件配置,并输入以下命令

--source=".\test_DLAM\test" --weights=".\runs\train\exp\weights\best.pt"

注意:这里的“exp”是假定你的train文件夹下只有一个测试结果,如果有多的结果,就以你的文件夹名为标准

等它顺利跑完

至此,已经成功!

恭喜你,完成了这项操作!

五.一些遇到的问题

其实,很多问题都没有办法只看我的博客解决,因为在完成此项任务的时候,我一直报错,折磨了我三天,所以我下了很多东西,很多我都不知道干啥用的,我估计,也有很多问题,是我瞎下的时候弄好的,现在给出一些我知道的问题的解决方法

这里,应该是你的git没下载好,建议重下,同时,把那个example找个地方塞进去(我忘了放在哪了...)

如果出现某一段很正常的语句报错,那就有可能下载出了问题(pip下载的话,是有概率下载不全的,因为如果你的磁盘空间不足,或者下载的时候断了网之类的,就会下载不全),这边建议删了重下,如果还不行,那你就比较倒霉了,我也经历过这个,我是重新弄了个虚拟环境,然后把那些要下的包全都再下了一次(所以我现在有四个python...)

还有,出现这种的

ImportError: cannot import name 'classproperty' from 'torch._utils

可能是pytorch没下好,也有可能是版本没对上

如果是labelImg一直闪退,那很可能是python版本不行,我也试过,3.11版本的python环境打开的labelImg一直闪退,所以我开头就说用3.9的比较好,起码不闪退

还有一些问题,例如不断陷入内核重启啊,找不到指定模块啊,某个参数找不到之类的,我也没办法一一给出解决方法,具体可以去chat一下,挺不错的

完结撒花!!!

终于,我这三天完成任务的心路历程和一些遇到并解决了的问题都写了出来,还是不错的

怎么说呢,我这份任务完成的,绝对是顶级折磨,一开始下载的权重文件,是破损的,就被折磨了好久(所以一定要找个靠谱的地方下载,关于如何判断权重文件有没有破损,可以去找找视频,看看他们权重文件的文件大小和你的文件大小一不一样,不一样就是出问题了)

不管过程如何,结局突出的就是一个->

开心o(* ̄▽ ̄*)ブ

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用YOLOv5训练自己的数据集的一般流程: 1. 数据准备:收集并标注自己的图像数据集。可以使用工具(如LabelImg)手动标注,也可以使用自动化工具(如CVAT)进行辅助标注。确保在标注时将数据集分为训练集和验证集,并将它们放在不同的文件夹中。 2. 数据转换:将图像和标签转换为YOLOv5所需的格式。YOLOv5需要一个text文件来存储每个图像的标注信息。每个text文件应该包含每个标注的类别id、中心x、中心y、宽度和高度(均为0到1之间的比例)。可以使用自己编写的脚本或使用第三方工具(如LabelBox)来自动完成此任务。 3. 模型配置:根据自己的需求和数据集构建YOLOv5模型。可以使用预训练模型(如COCO或ImageNet)作为基础模型,并添加自己的输层。也可以从头开始训练一个新模型。 4. 训练模型:将准备好的数据集输入到YOLOv5模型中进行训练。可以使用训练参数(如批量大小、学习率和迭代次数)调整训练过程。训练过程可以在本地计算机或云端GPU上完成。 5. 模型评估:在训练完成后,使用验证集来评估模型的性能。可以使用常见的指标(如平均精度)来评估模型的准确性。 6. 应用模型:将训练好的YOLOv5模型部署到自己的应用程序中。可以使用YOLOv5的预测功能来检测新图像中的对象。 这是一个简单的流程,具体操作可以参考YOLOv5官方文档或其他相关资源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值