【总结】深度学习图片卷积输出大小计算公式

原文链接:https://www.jianshu.com/p/c56a37093cfa

先定义几个参数

  • 输入图片大小 W×W
  • Filter大小 F×F
  • 步长 S
  • padding的像素数 P

于是我们可以得出

N = (W − F + 2P )/S+1

输出图片大小为 N×N

如:输入图片的shape为[10,3,227,227],对应输入图片大小为227x227

输出num_output为96,对应通道数

Filter大小(kernel_size)为11,对应为11x11

步长S(stride)为4

N = (W − F + 2P )/S+1 = (227-11+2x0)/4 + 1 = 55

则输出的特征图大小shape为[10,96,55,55].

多说一句:卷积核的个数等于输出特征图的通道数。(这个一般都不会明确说出卷积核的个数)

反卷积得到的图片大小计算方式:

反卷积的大小是由卷积核大小与滑动步长决定, in是输入大小, k是卷积核大小, s是滑动步长, out是输出大小

得到 out = (in - 1) * s + k

例如 输入:2x2, 卷积核:4x4, 滑动步长:3, 输出:7x7 ,其计算过程就是, (2 - 1) * 3 + 4 = 7

2018-04-06:看到转置卷积中存在指定padding的情况,如何计算特征图的大小。(假设padding为p)

out = (in - 1)* s - 2 * p + k (与上式不同的是需要减去两倍的padding)

池化得到的特征图大小计算方式:

卷积向下取整,池化向上取整。