最新公告
  • 欢迎光临数据科学与编程,我们是数据学科学兴趣交流小组立即加入我们
  • YOLOv5从入门到部署之:配置与初始化超参

    YOLOv5的更新速度真的很快,运行最新的code可能会出现这样的errors:

    YOLOv5从入门到部署之:配置与初始化超参

    这是因为最新的代码中添加了wandb功能,要先注册一个wandb的账号,然后把在https://wandb.ai/authorize申请的api配置到电脑上,这样就可以实时看到损失、权重和偏置了。

    下面就开始《YOLOv5从入门到部署之:配置与初始化超参》的内容了。


    1 网络配置文件

    Yolov5的配置文件为yaml类型,yolov5*.yaml文件通过yolo.py解析文件配置模型的网络结构。yaml文件配置网络的好处是十分的方便不需要像Yolov3的config设置网络一样进行叠加,只需要在yaml配置文件中的参数进行修改即可。为了更好的了解和修改yolov5的配置文件下面以yolov5s.yaml文件为例介绍网络配置文件的参数。

    Yolov5s.yaml

    (1)模型的深度和宽度

    nc:目标的类别数量。
    depth_multiple:模型深度 控制模块的数量,当模块的数量number不为1时,
    模块的数量 = number * depth。

    width_multiple:模型的宽度 控制卷积核的数量 ,卷积核的数量 = 数量 * width。

    (2)Acnhor

    yolov5已经在yaml预设好了输入图像为640*640分辨率对应的anchor尺寸,yolov5的anchor也是在大特征图上检测小目标,在小特征图上检测大目标。三个特征图,每个特征图上的格子有三种尺寸的anchor。
    (3)Backbone

    a、Focus:对特征图的切片操作,模块参数args分析:[[-1, 1, Focus, [64, 3]] 中的[64, 3]  解析得到[3, 32, 3] ,输入为3(RGB),输出为64*0.5 = 32,3是卷积核 3*3

    b、Conv:这里的Conv由conv+Bn+Leaky_relu激活函数三者组成,模块参数args分析:[-1, 1, Conv, [128, 3, 2]]中的128 是卷积核数量,最终数量需要乘上width  = 128 *0.5 = 64,3是卷积核 3*3,2是步长。
    c、BottleneckCSP:借鉴CSPNet网络结构,由三个卷积层和X个Res unint模块Concate组成,如果带有False参数就是没有使用Res unint模块,而是采用conv+Bn+Leaky_relu

    d、SPP采用1×1,5×5,9×9,13×13的最大池化的方式,进行多尺度融合。

    (4)Head

    Yolov5 Head 包括 Neck 和 Detector head 两部分,Neck部分使用了PANet的结构, Detector head使用和yolov3一样的head。
    其中,BottleneckCSP带有False参数说明没有使用Res unit结构而是采用了conv+Bn+Leaky_relu。

    2 初始化超参数

    (1) hpy超参数
    hpy超参数包括:lr、weight_decay、momentum和图像处理的参数等,Yolov5已经设置好了训练Coco和 Voc数据集的超参数,分别data文件夹下的hyp.finetune.yaml和hyp.scratch.yaml。

    训练别的数据集可以自定义超参数在train.py的meta字典里面修改具体的超参数也可以自己添加hpy.yaml的超参数配置文件,在训练参数的—hpy设置好超参数配置文件的路径就行。

    (2)训练超参数:

    训练超参数包括配置文件yaml的选择,和训练图片的大小,预训练,batch,epoch等。
    可以直接在train.py代码中修改也可以在命令行执行时修改,如:
    $ python train.py –data coco.yaml –cfg yolov5s.yaml –weights ” –batch-size 64

    –data  设置数据的配置文件  –cfg  设置网络结构的配置文件 –weihts 加载预训练模型的路径

    YOLOv5从入门到部署之:配置与初始化超参

    3 Next

    下一篇,《YOLOv5从入门到部署》系列将介绍:数据读取与扩增部分。

    本站上原创文章未经作者许可,不得用于商业用途,仅做学习交流使用,本站免责声明。转载请注明出处,否则保留追究法律责任的权利。《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
    数据科学与编程 » YOLOv5从入门到部署之:配置与初始化超参

    发表评论

    • 52会员总数(位)
    • 307资源总数(个)
    • 40本周发布(个)
    • 1 今日发布(个)
    • 329稳定运行(天)

    提供最优质的博文资源集合

    立即阅览 了解详情