如何利用PyTorch的padding=SAME参数实现有效填充?

2026-05-28 23:160阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计531个文字,预计阅读时间需要3分钟。

如何利用PyTorch的padding=SAME参数实现有效填充?

在TensorFlow中,`conv2`操作具有`padding='SAME'`参数。吴恩达在授课中提到,当`padding=(f-1)/2`(其中`f`为卷积核大小)时,这是`SAME`策略的实现。但这种情况并未考虑空卷积和步长的情况。查阅资料了解更多。

tensorflow中的conv2有padding=‘SAME'这个参数。吴恩达讲课中说到当padding=(f-1)/2(f为卷积核大小)时则是SAME策略。但是这个没有考虑到空洞卷积的情况,也没有考虑到strides的情况。

查阅资料后发现网上方法比较麻烦。

手算,实验了一个早上,终于初步解决了问题。

分为两步:

填充多少

中文文档中有计算公式:

输入:

输出:

因为卷积后图片大小同卷积前,所以这里W_out=W_in, H_out=H_in。解一元一次方程即可。结果取ceil。

怎么填充

torch是先填充再卷积。conv2d的策略如此。所以我先在forward中获取上述方程需要的参数。然后使用torch.nn.functional.pad填充就好了。

阅读全文
标签:解决

本文共计531个文字,预计阅读时间需要3分钟。

如何利用PyTorch的padding=SAME参数实现有效填充?

在TensorFlow中,`conv2`操作具有`padding='SAME'`参数。吴恩达在授课中提到,当`padding=(f-1)/2`(其中`f`为卷积核大小)时,这是`SAME`策略的实现。但这种情况并未考虑空卷积和步长的情况。查阅资料了解更多。

tensorflow中的conv2有padding=‘SAME'这个参数。吴恩达讲课中说到当padding=(f-1)/2(f为卷积核大小)时则是SAME策略。但是这个没有考虑到空洞卷积的情况,也没有考虑到strides的情况。

查阅资料后发现网上方法比较麻烦。

手算,实验了一个早上,终于初步解决了问题。

分为两步:

填充多少

中文文档中有计算公式:

输入:

输出:

因为卷积后图片大小同卷积前,所以这里W_out=W_in, H_out=H_in。解一元一次方程即可。结果取ceil。

怎么填充

torch是先填充再卷积。conv2d的策略如此。所以我先在forward中获取上述方程需要的参数。然后使用torch.nn.functional.pad填充就好了。

阅读全文
标签:解决