微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果n-1/ 2不是整数值,如何在PyTorch中执行“相同”填充

如何解决如果n-1/ 2不是整数值,如何在PyTorch中执行“相同”填充

我正在尝试重建用张量流编写的神经网络。对于卷积层,它们仅使用padding='SAME'。在pytorch中不存在。我知道,我可以使用p = (n - 1) / 2来计算stride = 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))

例如,默认情况下,pytorchMaxPool层使用地板。因此,我认为flooring是一个很好的起点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。