神经网络——异构卷积

异构卷积

如下图所示,异构卷积的结构设计很简单,即输入特征图的一部分通道应用k×k的卷积核,其余的通道应用1×1的卷积核。其中,P为控制卷积核为k的比例。
神经网络——异构卷积_第1张图片

代码实现:

class HetConv(nn.Module):
    def __init__(self, in_channels, out_channels, p):
        super(HetConv, self).__init__()
        # Groupwise Convolution
        self.gwc = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1, groups=p, bias=False)
        # Pointwise Convolution
        self.pwc = nn.Conv2d(in_channels, out_channels, kernel_size=1, bias=False)

    def forward(self, x):
        return self.gwc(x) + self.pwc(x)

具体参考链接:
https://zhuanlan.zhihu.com/p/381171181

你可能感兴趣的:(python,算法)