如果 (n - 1) / 2 不是整数值,如何在 PyTorch 中'same'填充



我正在尝试重建一个用tensorflow编写的神经网络。对于卷积层,他们只使用padding='SAME'。pytorch中不存在此项。我知道,我可以用p = (n - 1) / 2计算步幅=1的填充。但是如果这没有得到一个整数值呢?在我的例子中,n是4,我总是想实现相同的填充。

使用math.floor函数将向下四舍五入到最接近的整数,或使用math.ceil函数将舍入到最近的整数:

import math
# for flooring
p = math.floor((n - 1) / 2))
# for ceiling
p = math.ceil((n - 1) / 2))

例如,默认情况下,pytorch使用地板作为MaxPool层。所以,我认为flooring是一个很好的起点。

最新更新