位置: IT常识 - 正文

反射填充详解ReflectionPad2d(padding)(反射dll)

编辑:rootadmin
反射填充详解ReflectionPad2d(padding) ReflectionPad一、反射填充1、一维反射填充1)调用方式2)实例(1)padding为整数(2)padding为2元组2、二维反射填充1)调用方式2)实例(1)padding为整数(1)padding为4元组一、反射填充

推荐整理分享反射填充详解ReflectionPad2d(padding)(反射dll),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:反射效果msaa,反射dll,反射reflection,反射final,反射reflection,反射reflection,反射效果msaa,反射效果什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

这种填充方式是以输入向量的边界为对称轴,以设定的padding大小为步长,将输入向量的边界内padding大小的元素,对称填充。设定padding时主要注意,padding必须小于向量所在维度的大小。

1、一维反射填充1)调用方式输入形状为(N,C,W_IN)或(C,W_IN);输出形状为(N,C,W_out)或(C,W_out);padding表示填充尺寸,可为整数或者2元组;padding为整数时,输入向量左右填充相同的大小;而padding为元组时可自定义向量左右分别填充多少;torch.nn.ReflectionPad1d(padding)2)实例

对于一维填充来说,其输入为N个宽度为W的向量,而每个元素对应有C个通道。此方式填充只针对他的宽度进行,填充点分别为向量左边和右边两个边界。不同的padding类型(整数或元组),决定了左右两边如何填充的方式。

(1)padding为整数inp=torch.tensor([[[2., 3., 9., 1., 5.], [6., 4., 0., 5., 0.]]])print(inp.shape)print("inp:",inp)pad=1out=nn.ReflectionPad1d(padding=pad)(inp)print("padding={},out:".format(pad),out)print(out.shape)

结果分析(绿线代表以此为轴,红色代表填充的元素): 1)当padding=1时,表示向量左右两边均以边界为对称轴,填充宽度为1的元素。

torch.Size([1, 2, 5])inp: tensor([[[2., 3., 9., 1., 5.], [6., 4., 0., 5., 0.]]])padding=1,out: tensor([[[3., 2., 3., 9., 1., 5., 1.], [4., 6., 4., 0., 5., 0., 5.]]])torch.Size([1, 2, 7])

2)当padding=2时,表示向量左右两边均以边界为对称轴,填充宽度为2的元素。

反射填充详解ReflectionPad2d(padding)(反射dll)

torch.Size([1, 2, 5])inp: tensor([[[2., 3., 9., 1., 5.], [6., 4., 0., 5., 0.]]])padding=2,out: tensor([[[9., 3., 2., 3., 9., 1., 5., 1., 9.], [0., 4., 6., 4., 0., 5., 0., 5., 0.]]])torch.Size([1, 2, 9])(2)padding为2元组inp=torch.tensor([[[2., 3., 9., 1., 5.], [6., 4., 0., 5., 0.]]])print(inp.shape)print("inp:",inp)pad=(1,2)out=nn.ReflectionPad1d(padding=pad)(inp)print("padding={},out:".format(pad),out)print(out.shape)

结果分析: 1)当padding=(1,2)时,表示向量以边界为对称轴,左右两边分别填充宽度为1、2的元素。

torch.Size([1, 2, 5])inp: tensor([[[2., 3., 9., 1., 5.], [6., 4., 0., 5., 0.]]])padding=(1, 2),out: tensor([[[3., 2., 3., 9., 1., 5., 1., 9.], [4., 6., 4., 0., 5., 0., 5., 0.]]])torch.Size([1, 2, 8])

2、二维反射填充1)调用方式输入形状为(N,C,H_in,W_IN)或(C,H_in,W_IN);输出形状为(N,C,H_out,W_out)或(C,H_out,W_out);padding表示填充尺寸,可为整数或者4元组;padding为整数时,输入向量左右上下填充相同的大小;而padding为元组时可自定义向量左右上下分别填充多少;torch.nn.ReflectionPad2d(padding)2)实例

对于二维填充来说,其输入为N个宽度为H*W的数组,而每个元素对应有C个通道。此方式填充针对他的高度和宽度进行,填充点分别为上、下、左、右四个边界。不同的padding类型(整数或元组),决定了四个边界如何填充的方式。

(1)padding为整数inp=torch.tensor([[[[8., 3., 6., 2., 7.], [0., 8., 4., 9., 3.]], [[3., 9., 6., 2., 7.], [7., 8., 4., 6., 2.]], [[1., 9., 0., 1., 4.], [7., 8., 1., 0., 3.]]]])print(inp.shape)print("inp:",inp)pad=1out=nn.ReflectionPad2d(padding=pad)(inp)print("padding={},out:".format(pad),out)print(out.shape)

结果分析(图中白线、黑线代表以此为轴,红色、绿色块代表填充元素): 1)当padding=1时,表示向量以边界为对称轴,左、右、上、下四个边界均填充宽度为1的元素。 填充按照左、右、上、下的顺序依次填充。

padding=1,out: tensor([[[[8., 0., 8., 4., 9., 3., 9.], [3., 8., 3., 6., 2., 7., 2.], [8., 0., 8., 4., 9., 3., 9.], [3., 8., 3., 6., 2., 7., 2.]], [[8., 7., 8., 4., 6., 2., 6.], [9., 3., 9., 6., 2., 7., 2.], [8., 7., 8., 4., 6., 2., 6.], [9., 3., 9., 6., 2., 7., 2.]], [[8., 7., 8., 1., 0., 3., 0.], [9., 1., 9., 0., 1., 4., 1.], [8., 7., 8., 1., 0., 3., 0.], [9., 1., 9., 0., 1., 4., 1.]]]])torch.Size([1, 3, 4, 7])

(1)padding为4元组inp=torch.tensor([[[[8., 3., 6., 2., 7.], [0., 8., 4., 9., 3.]], [[3., 9., 6., 2., 7.], [7., 8., 4., 6., 2.]], [[1., 9., 0., 1., 4.], [7., 8., 1., 0., 3.]]]])pad=(2,2,1,1)out=nn.ReflectionPad2d(padding=pad)(inp)print("padding={},out:".format(pad),out)print(out.shape)

结果分析: 1)当padding=(2,2,1,1)时,表示向量以左、右、上、下边界为对称轴,左、右、上、下分别填充宽度为2,2,1,1的元素。

padding=(2, 2, 1, 1),out: tensor([[[[4., 8., 0., 8., 4., 9., 3., 9., 4.], [6., 3., 8., 3., 6., 2., 7., 2., 6.], [4., 8., 0., 8., 4., 9., 3., 9., 4.], [6., 3., 8., 3., 6., 2., 7., 2., 6.]], [[4., 8., 7., 8., 4., 6., 2., 6., 4.], [6., 9., 3., 9., 6., 2., 7., 2., 6.], [4., 8., 7., 8., 4., 6., 2., 6., 4.], [6., 9., 3., 9., 6., 2., 7., 2., 6.]], [[1., 8., 7., 8., 1., 0., 3., 0., 1.], [0., 9., 1., 9., 0., 1., 4., 1., 0.], [1., 8., 7., 8., 1., 0., 3., 0., 1.], [0., 9., 1., 9., 0., 1., 4., 1., 0.]]]])torch.Size([1, 3, 4, 9])

本文链接地址:https://www.jiuchutong.com/zhishi/299755.html 转载请保留说明!

上一篇:YOLOV7改进-添加EIoU,SIoU,AlphaIoU,FocalEIoU,Wise-IoU(yolov5增加检测层)

下一篇:vue3项目中使用three.js(vue3用法)

  • 怎么改微信号为手机号(怎么改微信号)(怎么改微信号为手机号)

  • 苹果手机通讯录怎么备份(苹果手机通讯录没有了怎么恢复)

  • opporeno6开发者选项在哪里(opporeno6开发者选项在哪关闭)

  • 京东拒收可以全额退款吗(京东拒收收快递费吗)

  • pr剪辑只有声音看不到视频(pr剪辑声音与画面不同步)

  • 两个小时的视频需要多少流量(两个小时的视频怎么发给微信好友)

  • 抖音复制链接打不开(抖音复制链接打不开视频)

  • 笔记本突然断电后开不了机(笔记本突然断电关机开不了机)

  • 华为手机怎么开浮窗(华为手机怎么开启开发者模式)

  • 小米手环收到微信能看吗(小米手环收到微信信息)

  • 苹果八防水吗(苹果八防水吗值得买吗)

  • 微信逻辑错误登录不了怎么处理(微信号登录显示逻辑错误)

  • 模拟电子和数字电子的区别(模拟电子和数字电子哪个更重要)

  • u盘的寿命一般多久(u盘寿命是多久)

  • 拼多多的现金钱包在哪(拼多多的现金钱在哪里看)

  • 荣耀20pro自带手机膜吗(荣耀20pro使用教程)

  • 京东必购码可以给别人吗(京东必购码可以解绑吗)

  • 奥维怎么删除标签(奥维怎么批量删除标签)

  • 微信足迹如何弄(微信足迹如何弄到手机上)

  • 抖音蓝v认证有什么好处(抖音蓝v认证有假货吗)

  • qq扩列是什么意思(qq扩列是什么鬼)

  • oppo手机电话录音在哪里找出来(oppo手机电话录音存在哪个文件夹)

  • 华为手机锁屏时间怎么设置在上边(华为手机锁屏时间怎么变成黑色)

  • 大数据框架之Hadoop:MapReduce(三)MapReduce框架原理——OutputFormat数据输出(大数据相关框架)

  • Web 1.0、Web 2.0 和 Web 3.0 之间的比较

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络