YOLOv5ds搭建流程及遇到的bug

1、环境配置

git clone https://github.com/midasklr/yolov5ds.git
conda create -n yolov5ds
Conda activate yolov5ds
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html
pip install -r requirements.txt

2、下载预训练模型(可略,代码会自动下载)

在yolov5ds-main根目录新建weights文件夹
下载yolov5预训练模型Releases · ultralytics/yolov5 · GitHub放到weights文件夹中

3、准备数据集——非常关键

det文件夹存放检测数据集yolo格式
seg文件夹存放分割数据集 labels存放分割图像.png
在这里插入图片描述

4、配置文件参数修改

4-1、models/segheads.yaml
segnc:改为自己的分割类别数 + 1(这里一定要+1)

4-2、data/voc.yaml
train:改为自己det文件夹下train.txt路径
val:改为自己det文件夹下val.txt路径
road_seg_train:改为自己seg文件夹下images/train文件夹路径
road_seg_val:改为自己seg文件夹下images/val文件夹路径
nc:改为自己的检测类别数
segnc:改为自己的分割类别数(这里一定不要+1 !!!)

4-3、models/yolov5s.yaml
nc:改为自己的检测类别数

4-4、trainds.py
parse_opt函数下修改对应default里面的内容

5.后台训练

nohup python trainds.py --device 1,2 > log.txt 2>&1 &

Bug1:RuntimeError: weight tensor should be defined either for all or no classes
解决:https://blog.csdn.net/sadjhaksdas/article/details/125762260
Bug2:RuntimeError: result type Float can‘t be cast to the desired output type long int
解决:https://blog.csdn.net/Thebest_jack/article/details/125649451

6检测

python detectds.py

Bug3:RuntimeError: result type Float can‘t be cast to the desired output type long int
原因:输入放在的gpu上,权重却没有放在gpu上,导致数据类型不一致
解决:在 detectds.py 中用 Ctrl+F 搜索定位到model = ckpts[‘model’]位置,然后在下方加上一行代码:
model = model.cuda()
Bug4:IndexError: index 1 is out of bounds for axis 0 with size 1
解决:
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值