padding的模式分为SAME和VALID两种方式。下面简单介绍一下两种方式输出shape的计算方法。
tensorflow
VALID
计算公式:
输出的大小直接用输入的大小减去卷积核大小,加1,然后除以步长,最后对结果向上取整。
假如输入的shape为7x7的,卷积核的大小为3x3,步长为2,这样计算出的输出shape为:3x3。对于边界上没有取到的数据直接舍弃掉。
SAME
计算公式
第一步,先用输入的大小除以步长,对结果向上取整。得到输出的shape。例如,input shape是7x7,kernel为3x3,stride为2。则输出的shape为:4x4。注意:padding为Same,strides为1的时候,输入与输出的shape是相等的。
第二步,根据输出shape对输入进行padding的操作。继续上一步的例子,7除以2向上取整为4,就需要将输入的shape通过padding扩展到8x8。当padding的数量为奇数的时候,在tensorflow中会在后面多padding一些。