笔记:yolov5训练自己的目标检测模型

按照这篇文章来训练的https://blog.csdn.net/didiaopao/article/details/119954291

浅浅记录一下遇到的一些磕磕绊绊以及解决方法!

1、安装依赖项

按照步骤来,输入命令pip install -r requirements.txt,会报错说找不到requirements.txt这个文件,可以从终端进入文件所在位置,再输入一遍命令即可:

打开anoconda prompt,查看已有的虚拟环境:

conda info --envs

进入虚拟环境:

activate TF2_1

通过cd+路径(requirements.txt文件的位置)进入requirements.txt文件所在文件夹,再执行

pip install -r requirements.txt的命令就可以啦。

2、跑demo(测试虚拟环境的可行性)

参考文章https://blog.csdn.net/Kefenggewu_/article/details/115840019

①运行detect.py,报错如下:

AttributeError: Can't get attribute 'SPPF' on <module 'models.common'……

参考文章https://blog.csdn.net/weixin_50920579/article/details/121307820

按照文章说的,把代码复制到common.py,注意把import那句挪到最前面去。

②继续运行detect.py,报错如下:

AttributeError: ‘Upsample’ object has no attribute ‘recompute_scale_factor’

参考文章https://blog.csdn.net/weixin_43401024/article/details/124428432

可能修改的行数对不上,对应一下代码内容就好。

③再次运行detect.py,报错如下:

RuntimeError: The size of tensor a (60) must match the size of tensor b (56) at non-singleton dimens

参考文章https://blog.csdn.net/qq_43108889/article/details/123910494

工程文件夹里的yolov5s.pt文件和data文件夹在同一级。

最后运行detect.py就成功啦!

运行结果如下:(运行的图片在run文件夹里面)

 3、数据集处理及文件配置

数据集部分和第三部分的3.1修改数据配置文件那里,参考了Yolov5训练自己的数据集(详细完整版)里的第四部分,划分数据集以及配置文件修改。

 这个需要修改的部分就按照这样改:

 PS:VOCDData这个文件夹是自己创建的,具体过程可以看一下文章里第二部分,准备工作。

4、模型训练

模型训练部分看回开头链接那篇文章~

修改好train.py文件,可以开始运行了。

我是在anoconda prompt里运行的,激活虚拟环境,进入到train.py目录,输入python train.py,刚开始运行的时候会出现报错:

AssertionError: train: No labels in……

解决方法参考AssertionError: train: No labels(已解决,亲测有效)

最后,运行过程可以打开另一个prompt,激活虚拟环境,输入nvidia-smi -l 1,就可以查看动态gpu占用情况,如果利用率太低了,可以调高一下train.py里的batch-size参数,大概到百分之六七八十就差不多可以了,batch-size参数按照2的幂次方进行设置。

PS:nvidia-smi -l 1这条命令会一直刷新下去(每隔一秒刷新一次),如果想停止,可以ctrl+c终止。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值