来自B站视频,API查阅,TORCH.NN
- nn.Conv2d 中一般 kernel_size 是小奇数(很多是3),padding 设置为 k − 1 2 \frac{k-1}{2} 2k−1(实际上padding的是 k − 1 k-1 k−1,因为参数的意义是左右各padding),padding 可以是 ‘same’
padding controls the amount of padding applied to the input. It can be either a string {‘valid’, ‘same’} or an int / a tuple of ints giving the amount of implicit padding applied on both sides.
- nn.Conv2d(2,4,3).weight.size() = [4,2,3,3], nn.Conv2d(2,4,3).bias.size() = [4]
- point-wise convolution 即1x1 卷积仅做了通道的加权融合,没有考虑图片的局部关联性
- depth-wise convolution 是指 Conv2d 中 groups 大于 1 的情况,如果 groups=in_channels 不做通道的融合,分组计算之后合并
- 有文章提到残差block可以通过算子融合加速
- dilation 空洞卷积是增加感受野而不增加计算量的方法
- ConvMixer : patches are all you need,通过分离通道混合(depth-wise convolution)和空间混合(point-wise convolution)