如何计算具有相同填充的多次卷积后的最终大小?

How to calculate final size after multiple convolutions with same padding?

鉴于我有以下内容:

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)

是的。 ceil(ceil(x / n) / m) = ceil(x / (x * m))(至少对于整数 n 和 m),所以它应该只是 final_size = np.ceil(i / (s ** n)).