以下是针对C2f模块的几种改进方案,从结构优化到性能提升的逐步优化建议:注意力机制增强class C2f_Attn(nn.Module):
def __init__(self, c1, c2, n=1, shortcut=False, g=1, e=0.5):
super().__init__()
self.c = int(c2 * e)
self.cv1 = Conv(c1, 2 * self.c, 1, 1)
self.cv2 = Conv((2 + n) * self.c, c2, 1)
self.m = nn.ModuleList(Bottleneck(self.c, self.c, shortcut, g, k=((3, 3), (3, 3)), e=1.0) for _ in range(n))
# 添加SE注意力
self.se = nn.Sequential(
nn.AdaptiveAvgPool2d(1),
nn.Conv2d(self.c, self.c//1
ly