基于pytorch padding=SAME的解决方式
作者:BenjaminYoung29 时间:2023-03-03 05:05:28
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填充就好了。
然后
t2=torch.randn([1,1,4,4])
print(t2.size())
m1 = torch.nn.Conv2d(1, 1, 1, padding=(1,0))
print(m1(t2).size())
t2=F.pad(t2,(0,0,1,1))
print(t2.size())
有两个发现
pad是对称的两边都填充的,所以上述总共填充2行/列
参数中padding=(1,0)的效果,与F.pad(t2, (0,0,1,1)的效果一样。而不是与F.pad(t2,1,1,0,0)效果一样。很神奇。本来(1,0)按照解视是1是H边(左右)。0是W边(上下)。(0,0,1,1)按解释是左右不填充,上下填充。结果刚好相反。
这样应该就没什么问题了。
之后还需要看反卷积跟池化的pooling='SAME'是怎么实现的。
来源:https://blog.csdn.net/BenjaminYoung29/article/details/90242711
标签:pytorch,padding,SAME
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python使用sklearn库实现的各种分类算法简单应用小结
2022-08-05 22:37:59
一道python走迷宫算法题
2022-08-11 19:14:25
![](https://img.aspxhome.com/file/2023/5/79685_0s.jpg)
python实现pptx批量向PPT中插入图片
2021-10-05 23:18:29
![](https://img.aspxhome.com/file/2023/6/131606_0s.jpg)
Python实现获取网页内容及自动填表单与登录功能
2023-10-23 23:55:27
![](https://img.aspxhome.com/file/2023/6/124936_0s.png)
如何使用PHP中的字符串函数
2024-05-11 10:01:52
如何获得上一个月份是几月?
2009-11-23 20:38:00
mysql优化之慢查询分析+explain命令分析+优化技巧总结
2024-01-16 03:12:30
![](https://img.aspxhome.com/file/2023/2/109792_0s.png)
redis查看连接数及php模拟并发创建redis连接的方法
2023-11-16 11:47:14
Python BeautifulSoup基本用法详解(通过标签及class定位元素)
2022-11-06 10:50:49
![](https://img.aspxhome.com/file/2023/6/115746_0s.png)
python 中赋值,深拷贝,浅拷贝的区别
2022-11-15 09:35:44
python使用opencv实现马赛克效果示例
2022-10-16 04:23:30
![](https://img.aspxhome.com/file/2023/8/67908_0s.jpg)
使用VSCODE配置GO语言开发环境的完整步骤
2024-04-27 15:27:51
Python遍历文件夹和读写文件的实现代码
2023-07-28 12:13:10
![](https://img.aspxhome.com/file/2023/4/60514_0s.jpg)
yolov5 win10 CPU与GPU环境搭建过程
2021-07-17 15:21:11
![](https://img.aspxhome.com/file/2023/1/72961_0s.jpg)
Python设计模式编程中的备忘录模式与对象池模式示例
2023-02-06 05:48:43
在ubuntu18.04版本安装vscode(2种)
2022-07-23 12:05:41
![](https://img.aspxhome.com/file/2023/4/123854_0s.jpg)
Python中的id()函数指的什么
2022-01-14 12:38:04
Python中排序函数sorted()函数的使用实例
2021-08-01 09:52:02
![](https://img.aspxhome.com/file/2023/5/117465_0s.jpg)
关于python DataFrame的合并方法总结
2022-02-02 14:13:58
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2024-05-29 22:19:44
![](https://img.aspxhome.com/file/2023/2/123182_0s.png)