Pythorch中的ReflectionPad2d与直接指定conv层中padding扩充的区别是?

15 人赞同了该回答

已解决!以下是自己的笔记!


增加边界的类型有以下4个类型:

以一行图像数据为例,abcdefgh是原图数据,|是图像边界,为原图加边

Ø aaaaaa|abcdefgh|hhhhhhh 重复

Ø fedcba|abcdefgh|hgfedcb 反射

Ø gfedcb|abcdefgh|gfedcba 反射101,相当于上一行的左右互换

Ø cdefgh|abcdefgh|abcdefg 外包装

Ø iiiiii|abcdefgh|iiiiiii with some specified 'i' 常量

1)torch.nn.ReflectionPad2d(padding)

使用输入边界的反射填充输入张量.

padding (int, tuple) – 填充的大小. 如果是int, 则在所有边界填充使用相同的.

则使用 (如果是4个元组,) –

Input: (N,C,Hin,Win)

Output: (N,C,Hout,Wout)

Hout=Hin+paddingTop+paddingBottom ,Wout=Win+paddingLeft+paddingRight

1)torch.nn.ReplicationPad2d(padding)

使用输入边界的复制填充输入张量.

padding (int, tuple) – 填充的大小. 如果是int, 则在所有边界使用相同的填充. 如果是4个元组, 则使用(paddingLeft, paddingRight, paddingTop, paddingBottom)

Input: (N,C,Hin,Win)

Output: (N,C,Hout,Wout)

Hout=Hin+paddingTop+paddingBottom,Wout=Win+paddingLeft+paddingRight

3)torch.nn.ZeroPad2d(padding) 用零填充输入张量边界.

4)torch.nn.ConstantPad2d(padding, value)用一个常数值填充输入张量边界.

赞同 15​ 1 条评论
分享
收藏 ​ 喜欢
收起
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值