其他分享
首页 > 其他分享> > 挑战学院科创项目——训练自己的数据集(一)

挑战学院科创项目——训练自己的数据集(一)

作者:互联网

两种方式:

乐乐新买的幻14也是有显卡的,所以可以先用自己的rtx3060训练少量数据试一试。。

基础知识

训练文件train.py

opt参数解析:

参数名 作用
weights 选用的模型权重,训练时一般置为空值
cfg 模型配置文件,指定网络结构.yaml文件
data 数据集配置文件,数据集路径,类名等
hyp 超参数文件
epochs 训练总轮次
batch-size 批次大小
img-size 输入图片分辨率大小
rect 是否采用矩形训练(只填充有必要的矩形部分,加快推理速度),默认False
resume 接着打断训练上次的结果接着训练(需要指定位置)
nosave 不保存模型,默认False
notest 不进行test,默认False
noautoanchor 不自动调整anchor,默认False
evolve 是否进行超参数进化(用于超参数调优),默认False
bucket 谷歌云盘bucket,一般不会用到
cache-images 是否提前缓存图片到内存,以加快训练速度,默认False
weights 加载的权重文件
name 数据集名字,如果设置:results.txt to results_name.txt,默认无
device 训练的设备,cpu;0(表示一个gpu设备cuda
multi-scale 是否进行多尺度训练,默认False
single-cls 数据集是否只有一个类别,默认False
adam 是否使用adam优化器(否则采用随机梯度下降)
sync-bn 是否使用跨卡同步BN,在DDP模式使用
local_rank gpu编号
entity W&B Entity
quad 可能让图像在大于640时效果更好
linear-lr 线性方式进行学习速率的处理(否则采用余弦退火)
label-smoothing 标签平滑,用来防止过拟合
logdir 存放日志的目录
workers dataloader的最大worker数量,可以先设置为0

调试小技巧:可以通过 ctrl+f 查找同名参数位置

,如果查找不到其他位置,有可能因为程序中还没有实现。

训练方法

官方文档:Train Custom Data · ultralytics/yolov5 Wiki (github.com)

# hotpot.yaml
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
train: hotpot/images/train  # train images (relative to 'path') 128 images
val: hotpot/images/test  # val images (relative to 'path') 128 images

# Classes
nc: 3  # number of classes
names: [ 'yudoufu', 'qinqinchang','xiebang']  # class names

训练完成后再调整detect.py中的参数进行检测。。。好吧或许是因为我只给了16张图片做训练集,或许是这些鱼豆腐亲亲肠和蟹棒太密集了以至于什么都检测不出来。。

标签:False,训练,挑战,科创,默认,参数,images,path
来源: https://www.cnblogs.com/zouludaxia/p/15744566.html