CNN输入层的通道数 = CNN卷积核的通道数
卷积后输出层的通道数(深度)= 卷积核个数
eg:输入矩阵shape为Height*Width*Channels,则卷积核(滤波器)的通道数也为Channels【和输入一致】。卷积核大小为Kernel_size*Kenel_size*Channels,那么输出的一个feature_map的形状为(Height-Kernel_size+1)*(Width-Kernel_size+1)*1,在步长为1,padding=0的情况。
卷积输入层与卷积输出层的计算式:
设input layer:H*W*C(通常在CV领域,H=W),卷积核大小为K*K*C,步长为S,padding为P。则卷积后的输出层形状为:
(1)
通常池化层操作也适用于上述公式(1)。
卷积操作计算动图可查看:
关于卷积层的参数量计算式:
设卷积核个数为M,卷积核大小为Km*Km*C,则参数量为:
+1表示每个卷积核有一个bia偏置项。
关于池化层的参数量,恭喜,没有需要learn的参数。
关于FC层的参数量:
case 1:FC层前面是卷积层:
= 连接到conv层的FC层权重个数;
= 连接到conv层的FC层偏差个数;
O = 卷积层输出大小;
N = 卷积核个数;
F = 全连接层神经元个数。
参数总量 =
case 2:FC层前面还是FC层:
= 连接到前一层FC层的FC层权重个数;
= 连接到前一层FC层的FC层偏差个数;
F = 全连接层神经元个数;
= 前一层FC层的神经元数。则
参数总量 =
若对君有用,请不吝点赞~~