欢迎光临
我们一直在努力

交叉卷积下采样模块代码解释

class CrossConv(nn.Module):
# Cross Convolution Downsample
def __init__(self, c1, c2, k=3, s=1, g=1, e=1.0, shortcut=False):
super().__init__()
c_ = int(c2 * e)
self.cv1 = Conv(c1, c_, (1, k), (1, s))
self.cv2 = Conv(c_, c2, (k, 1), (s, 1), g=g)
self.add = shortcut and c1 == c2

def forward(self, x):
return x + self.cv2(self.cv1(x)) if self.add else self.cv2(self.cv1(x))

这是一个非对称卷积下采样模块,通过交替应用垂直和水平方向的卷积,以更高效的方式实现空间维度缩减和特征提取。


核心思想

输入 x (B, C1, H, W)
↓
┌─────────────────┐
│ cv1: (1, k) │ 水平卷积:只在高度方向
│ stride=(1, s) │ 下采样宽度
└────────┬────────┘
↓

赞(0)
未经允许不得转载:171主机测评 » 交叉卷积下采样模块代码解释
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址