赞
踩
我们以灰度图像为例进行讲解:让一个权重矩阵即卷积核(kernel)逐步在二维输入数据上“扫描”。卷积核“滑动”的同时,计算权重矩阵和扫描所得的数据矩阵的乘积,然后把结果汇总成一个输出像素。使用3x3卷积核,在未使用padding的情况下,卷积之后的图像尺寸为(width-2)*(height-2)。
以下动图展示了in_channels=3、out_channels =2,kernel_size=3、stride=2、padding=1的卷积层运算过程。
【卷积的计算公式】
输入图片的尺寸:一般用nn表示输入的image大小。
卷积核的大小:一般用ff表示卷积核的大小。
填充(Padding):一般用p来表示填充大小。
步长(Stride):一般用s来表示步长大小。
输出图片的尺寸:一般用o来表示。
如果已知 n,f,p,s,可以求得o
计算公式如下:
o
=
⌊
n
+
2
p
−
f
s
⌋
+
1
o=\lfloor\frac{n+2p-f}{s} \quad \rfloor+1
o=⌊sn+2p−f⌋+1
其中"
⌊
⌋
\lfloor \rfloor
⌊⌋"是向下取整符号,用于结果不是整数时进行向下取整。
输出图片大小为:o×o
步长为2,卷积核为3*3,p=0的卷积情况如下:
当卷积函数中padding='same’时,会动态调整 p 值,确保 o=n ,即保证输入与输出一致。例如:输入是 28281 输出也为 28281 。
步长为1,卷积核为3*3,padding='same’的卷积情况如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。