YOLO11官方代码调试小结1
YOLO11官方代码调试小结1
用作学习积累笔记。
损失函数部分:
1.Na是指你的网络有多少个预测头,yolov7指定了有3个head
2.nt是指你的真实图像GT中有42个真实框
3.target7个维度分别表示1.batch,2.类别(5种) 3456xywh 7ai(他是哪个na,3个框中的哪一个)
4.主干网络的模块都在D:\Pycharm\ultralytics-main\ultralytics\nn\modules\block.py
5.主干网络里面指定的C3k2模块为false
6.Yolov11.yaml的地址:D:\Pycharm\ultralytics-main\ultralytics\cfg\models\11
7.Tasks.py在nn文件夹下,他就是以前的yolo.py文件
m(x) 观看你运行到了第几层
8.走到第二个卷积层,k为3,步长为2,输入x为128
9.y为2时,进入第3层,观察C3k2。
10.C3K2为False时,跳入C2F,执行C2F前向传播过程。
图中看出x先送入cv1计算,也就是先经过卷积然后送入chunk切分
如图所示,切割成2份。
11.self.m实际包含1个Bottleneck模块(例如图片中显示的Bottleneck(c2=32))。遍历self.m中的模块m(仅1个),对当前y[-1](即1)进行处理:m(1)输出特征图m1_out,shape保持(B, 16, 64, 64)。torch.cat(y, 1)将3个特征图沿通道拼接,得到(B, 48, 64, 64)。
12.当为true时,先分两条路卷积1,卷积2,然后卷积1走了两个bottleneck模块,z最后把他们俩拼装。
13.C2PSA模块解析:
14.进入forward可以看到他被平均分成了ab两块,b送入了m,最后把他们拼接后送入卷积。
15.M在此处就是一个PSABlock,残差和注意力机制和ffn
注意力机制部分没有创新有待提高。