如何在使用相同填充进行多次卷积后计算最终大小?

时间:2019-06-23 19:08:54

标签: math padding convolution stride

鉴于我有以下内容:

s: stride
k: kernel size
i: input size
n: number of times a convolution layer was performed

卷积层具有以下参数:

input = [b, i, i, c] (with batch size b and channel size c)
padding = 'SAME'
stride = s
kernel_size = k   

是否存在一种数学方法来计算最终输出大小?

我可以执行以下操作以编程方式计算最终输出大小:

final_size = i
for _ in range(n):
    final_size = np.ceil(final_size / s)

1 个答案:

答案 0 :(得分:1)

是的。 ceil(ceil(x / n) / m) = ceil(x / (x * m))(至少对于整数n和m),因此应该简单地为final_size = np.ceil(i / (s ** n))