位置: IT常识 - 正文

PyTorch之F.pad的使用与报错记录(pytorch f)

编辑:rootadmin
PyTorch之F.pad的使用与报错记录 F.pad的使用与报错记录

推荐整理分享PyTorch之F.pad的使用与报错记录(pytorch f),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pytorch pad,pytorch f,pytorch f,pytorch f,pytorch f,pytorch paddle,pytorch f.pad,pytorch paddlepaddle,内容如对您有帮助,希望把文章链接给更多的朋友!

原始文档:https://www.yuque.com/lart/ugkv9f/iftd9v

函数原型

函数文档:https://pytorch.org/docs/1.12/generated/torch.nn.functional.pad.html#torch-nn-functional-pad

torch.nn.functional.pad(input, pad, mode='constant', value=None) → TensorPadding格式1D-tensor:(p_left, p_right)2D-tensor:(p_left, p_right, p_top, p_bottom)3D-tensor:(p_left, p_right, p_top, p_bottom, p_front, p_back)四种模式

这一函数用于实现对高维tensor的形状补齐操作。PyTorch本身提供了四种padding模式:

constant:使用指定的常数value补齐指定的维度。对于数据012,使用0补齐,结果可以为0001200。reflect:使用tensor自身的值按照“反射”的方式补齐指定的维度。对于数据012,结果可以为2101210。replicate:使用tensor自身边界值补齐指定的维度。对于数据012,结果可以为0001222。circular:使用tensor自身的值按照“循环”的方式补齐指定的维度。对于数据012,结果可以为1201201。

需要注意的是,文档强调了这一点:

PyTorch之F.pad的使用与报错记录(pytorch f)

Constant padding is implemented for arbitrary dimensions. Replicate and reflection padding are implemented for padding the last 3 dimensions of a 4D or 5D input tensor, the last 2 dimensions of a 3D or 4D input tensor, or the last dimension of a 2D or 3D input tensor.

这四种模式使用输出展示会更便于理解一些,下面是一个例子:

import torchimport torch.nn.functional as Fpad = [2, 2, 2, 2]x = torch.arange(9, dtype=torch.float32).reshape(1, 1, 3, 3)print("x")print(x)print("F.pad(x, pad=pad, mode='constant', value=0)")print(F.pad(x, pad=pad, mode='constant', value=0))print("F.pad(x, pad=pad, mode='replicate')")print(F.pad(x, pad=pad, mode='replicate'))print("F.pad(x, pad=pad, mode='reflect')")print(F.pad(x, pad=pad, mode='reflect'))print("F.pad(x, pad=pad, mode='circular')")print(F.pad(x, pad=pad, mode='circular'))

对应的输出为:

xtensor([[[[0., 1., 2.], [3., 4., 5.], [6., 7., 8.]]]])F.pad(x, pad=pad, mode='constant', value=0)tensor([[[[0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 1., 2., 0., 0.], [0., 0., 3., 4., 5., 0., 0.], [0., 0., 6., 7., 8., 0., 0.], [0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0.]]]])F.pad(x, pad=pad, mode='replicate')tensor([[[[0., 0., 0., 1., 2., 2., 2.], [0., 0., 0., 1., 2., 2., 2.], [0., 0., 0., 1., 2., 2., 2.], [3., 3., 3., 4., 5., 5., 5.], [6., 6., 6., 7., 8., 8., 8.], [6., 6., 6., 7., 8., 8., 8.], [6., 6., 6., 7., 8., 8., 8.]]]])F.pad(x, pad=pad, mode='reflect')tensor([[[[8., 7., 6., 7., 8., 7., 6.], [5., 4., 3., 4., 5., 4., 3.], [2., 1., 0., 1., 2., 1., 0.], [5., 4., 3., 4., 5., 4., 3.], [8., 7., 6., 7., 8., 7., 6.], [5., 4., 3., 4., 5., 4., 3.], [2., 1., 0., 1., 2., 1., 0.]]]])F.pad(x, pad=pad, mode='circular')tensor([[[[4., 5., 3., 4., 5., 3., 4.], [7., 8., 6., 7., 8., 6., 7.], [1., 2., 0., 1., 2., 0., 1.], [4., 5., 3., 4., 5., 3., 4.], [7., 8., 6., 7., 8., 6., 7.], [1., 2., 0., 1., 2., 0., 1.], [4., 5., 3., 4., 5., 3., 4.]]]])可能会遇到的报错

常见的错误主要是因为padding的数量超过了对应模式的要求。

对于constant和replicate对于padding并没有限制。

但是另外两种模式replicate和circular就有要求了。

RuntimeError: Argument #4: Padding size should be less than the corresponding input dimension, but got: padding (3, 3) at dimension 3 of input 4

这发生在reflect模式中,padding的数量必须小于对应维度的大小。

import torchimport torch.nn.functional as Fpad = [3, 3, 3, 3]x = torch.arange(9, dtype=torch.float32).reshape(1, 1, 3, 3)print("F.pad(x, pad=pad, mode='reflect')")print(F.pad(x, pad=pad, mode='reflect'))"""F.pad(x, pad=pad, mode='reflect')Traceback (most recent call last): File "e:/Coding/PythonTools/TorchPadding/main.py", line 20, in <module> print(F.pad(x, pad=pad, mode='reflect')) File "D:\Programming\Python\envs\pt1102\lib\site-packages\torch\nn\functional.py", line 4189, in _pad return torch._C._nn.reflection_pad2d(input, pad)RuntimeError: Argument #4: Padding size should be less than the corresponding input dimension, but got: padding (3, 3) at dimension 3 of input 4"""AssertionError: Padding value causes wrapping around more than once.

这发生在circular模式中,padding的数量不得超出原始tensor对应维度的大小。

import torchimport torch.nn.functional as Fpad = [4, 4, 4, 4]x = torch.arange(9, dtype=torch.float32).reshape(1, 1, 3, 3)print("F.pad(x, pad=pad, mode='circular')")print(F.pad(x, pad=pad, mode='circular'))"""F.pad(x, pad=pad, mode='circular')Traceback (most recent call last): File "e:/Coding/PythonTools/TorchPadding/main.py", line 17, in <module> print(F.pad(x, pad=pad, mode='circular')) File "D:\Programming\Python\envs\pt1102\lib\site-packages\torch\nn\functional.py", line 4193, in _pad return _pad_circular(input, pad) File "D:\Programming\Python\envs\pt1102\lib\site-packages\torch\nn\functional.py", line 4585, in _pad_circular assert padding[-(idx * 2 + 1)] <= size, "Padding value causes wrapping around more than once."AssertionError: Padding value causes wrapping around more than once."""
本文链接地址:https://www.jiuchutong.com/zhishi/288989.html 转载请保留说明!

上一篇:js如何把时间戳转化为日期(js怎么把时间戳转为日期yyyy-mm-dd)

下一篇:触屏不灵敏怎么办(触屏不灵敏怎么调整oppo)

  • 为何你费尽心思去做用户调研,却总造出一堆垃圾产品(费尽了心思是什么意思)

    为何你费尽心思去做用户调研,却总造出一堆垃圾产品(费尽了心思是什么意思)

  • vivox70pro+怎么拦截骚扰电话(vivox7手机怎么拦截骚扰电话)

    vivox70pro+怎么拦截骚扰电话(vivox7手机怎么拦截骚扰电话)

  • 微信勿扰模式是对所有人吗(微信勿扰模式是针对个人还是所有人)

    微信勿扰模式是对所有人吗(微信勿扰模式是针对个人还是所有人)

  • 抖音横屏模式在哪里设置(抖音横屏功能)

    抖音横屏模式在哪里设置(抖音横屏功能)

  • qq的星星月亮太阳代表什么意思(qq的星星月亮太阳怎么弄)

    qq的星星月亮太阳代表什么意思(qq的星星月亮太阳怎么弄)

  • 美团收单是什么意思(美团收单app下载)

    美团收单是什么意思(美团收单app下载)

  • qq显示电量一直不刷新(为什么qq显示电量一直都是充电中)

    qq显示电量一直不刷新(为什么qq显示电量一直都是充电中)

  • 苹果手机没有卡能定位吗(苹果手机没有卡怎么连接wifi)

    苹果手机没有卡能定位吗(苹果手机没有卡怎么连接wifi)

  • note10+屏幕刷新率(note105g屏幕刷新率)

    note10+屏幕刷新率(note105g屏幕刷新率)

  • strcpy是完全覆盖还是(strcat会覆盖原来的吗)

    strcpy是完全覆盖还是(strcat会覆盖原来的吗)

  • sep文件用什么软件打开(sep文件用什么软件打)

    sep文件用什么软件打开(sep文件用什么软件打)

  • 动态数组怎么定义(动态数组实现原理)

    动态数组怎么定义(动态数组实现原理)

  • 魅族一直显示插着耳机(魅族手机显示在充电但是却充不进去)

    魅族一直显示插着耳机(魅族手机显示在充电但是却充不进去)

  • 天猫旗舰店投诉有用吗(天猫旗舰店投诉有效果吗)

    天猫旗舰店投诉有用吗(天猫旗舰店投诉有效果吗)

  • oracle默认用户名和密码(oracle的默认用户名)

    oracle默认用户名和密码(oracle的默认用户名)

  • 苹果手机怎么显示流量使用情况(苹果手机怎么显示电池电量)

    苹果手机怎么显示流量使用情况(苹果手机怎么显示电池电量)

  • 苹果8特别版什么意思(苹果8特别版什么时候上市的)

    苹果8特别版什么意思(苹果8特别版什么时候上市的)

  • 抖音更换背景音乐(抖音怎么更换背景音乐?抖音更换背景音乐教程)

    抖音更换背景音乐(抖音怎么更换背景音乐?抖音更换背景音乐教程)

  • 滴滴被静默怎么处理(滴滴车主被静默了怎么办)

    滴滴被静默怎么处理(滴滴车主被静默了怎么办)

  • 抖音推荐关注根据什么(抖音推荐关注的人原理)

    抖音推荐关注根据什么(抖音推荐关注的人原理)

  • 抖音里的逗拍在哪里(抖音里的逗拍在哪里看)

    抖音里的逗拍在哪里(抖音里的逗拍在哪里看)

  • 美团外卖好做吗

    美团外卖好做吗

  • 苹果x手机怎么截屏(苹果x手机怎么录屏)

    苹果x手机怎么截屏(苹果x手机怎么录屏)

  • 安装包安不上怎么办(安装包下载安装不了)

    安装包安不上怎么办(安装包下载安装不了)

  • 2022年最新BellooV4.3.2(贝罗交友约会)php破解源码-完整的高级约会源码-电脑学习网(2022年最新公务接待用餐标准)

    2022年最新BellooV4.3.2(贝罗交友约会)php破解源码-完整的高级约会源码-电脑学习网(2022年最新公务接待用餐标准)

  • 税收的经济效应是指税收对纳税人生产
  • 住宿费抵扣进项税怎么报税
  • 公司名下的车过户到个人名下费用
  • 加计扣除声明在哪里签章有效
  • 年报后 申报报表年初数会调整吗
  • 发票一定要填数量吗
  • 合并报表的抵消分录要做账吗
  • 超标公积金应怎么办理
  • 预付绩效工资是什么意思
  • 勾选认证售票状态可以改吗
  • 季报现金流量表怎么填
  • 个人从价计征房产税
  • 王者荣耀如何充值退款
  • 对公账户一直没有流水怎么办
  • 调整会计分录是什么
  • 财政拨款收入是指行政单位从哪里取得的预算资金
  • win11更新22468
  • packethsvc.exe - packethsvc是什么进程 有什么用
  • 母子公司吸收合并优劣势
  • 软碟通支持uefi吗
  • falogincn修改无线密码
  • 如何自定义win10开机音乐
  • win10双系统删除linux
  • 企业所得税预缴税率是多少
  • 管理费用销售费用
  • phpcms 还有人用吗
  • 纳税人兼营不同税率
  • 现金流动负债比率和流动比率一样吗
  • phpcms默认密码
  • 理财收益缴纳增值税吗
  • 如何开具通用电子发票
  • sql server 视图排序
  • 企业前期开办的费用怎么做会计分录
  • 会计分录税金及附加有哪些
  • 广告赞助支出可以抵税吗
  • 饭店开业多久可以正常
  • 钉钉财务软件怎么用
  • 小规模纳税人收入会计分录
  • 哪些合同不需要缴纳印花税的通知
  • 生产加工企业辅导资料
  • 借别人钱收据怎么写
  • 企业预缴增值税税率
  • 股权转让如何进行
  • 公司名下没有车可以办油卡吗
  • 研发费加计扣除申报表怎么填
  • 旅游业小规模纳税人税率是多少
  • 合同资产减值准备对应科目
  • 公示信息有误如何修改
  • 制单的基本要求是什么
  • 如何设置物资采集系统
  • mysql数据库文件存放在哪里
  • mysql事务视图
  • winxp系统打不开
  • win10蓝屏怎么修复系统
  • Fedora Core 5.0 安装教程,菜鸟图文教程(linux text)
  • u盘重装操作系统怎么办
  • win7网页无法访问
  • xp无法进入桌面怎么办
  • centos关闭gui
  • linux AS3 oracle9i 安装指南
  • Linux中环境变量的用法
  • xp系统光盘读不出来
  • ubuntu12安装教程
  • linux中查看文件
  • Win10 Redstone 11082视频快速上手:已知bug及新变化一览
  • win7系统怎么设置屏保图片
  • win7系统运行红警黑屏有声音
  • cocos3d-x
  • 怎么查看opengl版本
  • 原生java web
  • jquery $each
  • 欢迎使用微信支付
  • python文件管理系统难点总结
  • 教你学python
  • 深度定制Python的Flask框架开发环境的一些技巧总结
  • android toolbar menu
  • 国航的电子票号是什么
  • 潍坊市区面积多大
  • 土地增值税的房屋转让指出售 赠与
  • 欠账6万怎么还
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设