yolov5网络代码的具体含义

[from, number, module, args]

[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2
[-1, 1, Conv, [128, 3, 2]], # 1-P2/4
[64, 6, 2, 2]]这四个数字啥意思? 对应的是common.py中的什么参数啊?
[128, 3, 2]]
是指的卷积核数目 卷积核大小 和步长吗?

在train.py里面加上模型文件参数,然后debug,在yolo.py的parse_model()函数中你可以看到这些数据的具体含义

parser.add_argument('--cfg', type=str, default='models/yolov5s.yaml', help='model.yaml path')

例如上面的yolov5.yaml的backbone第一行:
[[-1, 1, Conv, [64, 6, 2, 2]], # 0-P1/2

img


重点看我画框的地方,可以看出来f是-1,n是1,m是网络层名,第一层为Conv(),args是网络层参数,最底下这个框就是在设置实例化conv(),
而args经过处理之后变成了[3,32,6,2,2]

img


而看common.py 这个文件里面的Conv(),c1=3,c2=32,k=6,s=2,p=2,这些参数就是nn.Conv2d()这个函数的相关参数,包括输入输出通道数,卷积核大小,步长等等
所以,善用debug模式,能帮你理解很多东西