Ultralytics库封装的很好,对新手很不友好,但是熟悉了之后,这个库十分简洁方便
即插即用:一个张量经过这个模块不改变形状,也就是shape还是原来的样子
以添加一个BiFPN为例子,所有模块都是这样添加修改
1.yaml文件
# yolov8s.yaml - 修改以集成 ScConv
nc: 5 #
depth_multiple: 0.33 # 模型深度调整因子
width_multiple: 0.25 # 模型宽度调整因子
backbone:
# [from, repeats, module, args]
- [-1, 1, Conv, [64, 3, 2]] # 0-P1/2
- [-1, 1, Conv, [128, 3, 2]] # 1-P2/4
- [-1, 3, C2f, [128, True]]
- [-1, 1, Conv, [256, 3, 2]] # 3-P3/8
- [-1, 6, C2f, [256, True]]
- [-1, 1, Conv, [512, 3, 2]] # 5-P4/16
- [-1, 6, C2f, [512, True]]
- [-1, 1, Conv, [1024, 3, 2]] # 7-P5/32
- [-1, 3, C2f, [1024, True]]
- [-1, 1, SPPF, [1024, 5]] # 9
# YOLOv8.0n head
head:
- [-1, 1, nn.Upsample, [None, 2, "n