1.卷积核的尺寸,数量,大小
输入X的格式:[样本数,输入图像通道,图像高,图像宽]
输入 X:[B, In_channel, H_in, W_in] 权重W:[In_channel, Out_channel, kernel_H, kernel_W] 输出 y :[B, Out_channel,H_out, W_out ]
如下图所示: ??其中Input:Batch=1,In_channel=3,H=8,W=8 Kernels:…In_channel=3,Out_channel=5,Kernel_size=3X3 Feature Maps: Batch=1,Out_channel=5,H=6,W=6 因此: ??卷积核的输入通道数(In_channe)由输入矩阵的通道数所决定。 输出矩阵的通道数(Out_channe)由卷积核输出通道数所决定。 卷积核心数:输入通道数x输出通道数(几组卷积核)x卷积核大小 故上图参数量为:3X5X3X3 输出特征图的计算方式: CSDN-jk英菲尼迪:卷积核的相关整理
2.组卷积
??pytorch的conv2d函数中groups参数理解:
Conv2d(in_channel, out_channel, kernel_size, stride, pad, groups=1) 这其中group的参数会影响卷积的计算量
例如: ??输入X=[B=1, C=6, H=1, W=1],conv = Conv2d(6, 4, 1,1,0, groups=1) 那就需要4个1x1x6的卷积核,每个卷积核对输入X进行卷积,得到的输出的通道数为1的数据,其具体过程就是一个1x1x6的卷积核在输入X[1, 6, 1, 1]的每个通道上做卷积,然后把每个通道上的值进行叠加,就变成了单通道,于是4个卷积核就需要(1x1x6)x4个参数 ??输入X=[B=1, C=6, H=1, W=1],conv = Conv2d(6, 4, 1,1,0, groups=2),即将输入分为两组,每组输入x=[B,3,1,1],对应的卷积核大小为1x1x3,有4/groups=2个,即每组输入得到的输出为[B,2,1,1],然后将两组输出叠加起来,得到最终输出[B,4,1,1],于是参数量为:(1x1x3)x2x2个参数。 接下来用图片说明:
|