之前看到了一些关于深度方向卷积的文章(depth wise convolution),其实实现这类结构只需要调整pytorch中的group参数就可以了

class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

这是一个二维卷积

groups: 控制输入和输出之间的连接: group=1,输出是所有的输入的卷积;group=2,此时相当于有并排的两个卷积层,每个卷积层计算输入通道的一半,并且产生的输出是输出通道的一半,随后将这两个输出连接起来。

inception这类就可以调整这个group参数,如果要实现深度方向卷积,只需要把group写成和输入通道数一致即可