【pytorch】padding的几种填充方法

今天总结一下,pytorch框架下的几种边界填充方法:

1、torch.nn.ReflectionPad2d(padding)

功能:使用输入边界的反射填充输入张量。

1.1、若 padding是int类型,则在所有边界填充使用相同的

举例:

padding=1
(左、右、上、下 4个方向分别填充长度为1的映射)
【pytorch】padding的几种填充方法_第1张图片
padding=2
(左、右、上、下 4个方向分别填充长度为2的映射)
【pytorch】padding的几种填充方法_第2张图片

1.1、若 padding是tuple类型,根据tuple里的数值进行映射

【pytorch】padding的几种填充方法_第3张图片
左边填充长度为1的映射,右边填充长度为1的映射,上方填充长度为2的映射,下方填充长度为0的映射。

2、torch.nn.ZeroPad2d(padding)

padding是int类型,表示填充长度。
功能:用零填充输入张量边界。
【pytorch】padding的几种填充方法_第4张图片

3、torch.nn.ConstantPad2d(padding, value)

padding是int类型,表示填充长度,value表示要填充的常数值。
功能:用一个常数值填充输入张量边界。
【pytorch】padding的几种填充方法_第5张图片

4、torch.nn.ReplicationPad2d(padding)

功能:使用输入边界的复制填充输入张量。
padding = int or tuple:填充的大小。

4.1、 如果是int, 则在所有边界使用相同的填充;

【pytorch】padding的几种填充方法_第6张图片

4.2、 如果是4个元组, 则使用(paddingLeft, paddingRight, paddingTop, paddingBottom)

【pytorch】padding的几种填充方法_第7张图片

参考

https://blog.csdn.net/weixin_38258767/article/details/109444299

https://www.zhihu.com/question/298049893/answer/509983136

你可能感兴趣的:(PyTorch)