一文搞定3D卷积
在讨论卷积核的时候,是不把channel维加进去的
核 = 一个可以滑动的窗口
窗口内不同位置数据之间的权值共享
3D卷积,卷积核会在3个方向上运动,那么卷积核的运动需要有三个自由度(一小块立方体,在一个大面包块内3个方向上滑动
2D卷积,卷积核只在2个方向上运动,因此只有两个自由度(一小片纸,在一大张纸内2个方向上滑动
1D卷积,卷积核只在1个方向上运动,因此只有一个自由度(一条滑窗,在一大长线上1个方向上滑动
一个卷积核运算一次 得到一个输出值(先乘法再加法)
接下来考虑,卷积层如何进行计算,即将卷积核作用在多个输入通道上,又得到多个输出通道。
下图展示了CxHxW的输入特征,通过2D卷积层,得到1xHxW的输出特征的过程。
用pytorchAPI描述就是:
torch.nn.Conv2d(in_channels=C, out_channels=1, kernel_size=3, stride=1, padding=0, dilation=1, groups=1, bias=Falese, padding_mode='zeros', device=None, dtype=None)
该卷积层参数量为:输入通道数*输出通道数*kernel_size*kernel*size=