位置: 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)

  • win7怎么设置自动关机(win7怎么设置自动锁屏时间)

    win7怎么设置自动关机(win7怎么设置自动锁屏时间)

  • 怎么删除淘宝里面的退款记录(怎么删除淘宝里面的待收货记录)

    怎么删除淘宝里面的退款记录(怎么删除淘宝里面的待收货记录)

  • 红米note8pro怎么打开OTG(红米note8pro怎么恢复出厂设置)

    红米note8pro怎么打开OTG(红米note8pro怎么恢复出厂设置)

  • 三星s9黑屏死机怎么办(三星s9死机无法开机)

    三星s9黑屏死机怎么办(三星s9死机无法开机)

  • 微信朋友圈看不见别人发的图片怎么回事(微信朋友圈看不到内容,打开朋友圈就能看到,为什么)

    微信朋友圈看不见别人发的图片怎么回事(微信朋友圈看不到内容,打开朋友圈就能看到,为什么)

  • p40是不是双卡(p40是不是双卡的)

    p40是不是双卡(p40是不是双卡的)

  • 手机交费了为什么还是停机状态(手机交费了为什么还是停机)

    手机交费了为什么还是停机状态(手机交费了为什么还是停机)

  • yy是个什么样的平台(yy是个啥)

    yy是个什么样的平台(yy是个啥)

  • 抖音的超级乐迷是什么意思(抖音的超级乐迷是什么)

    抖音的超级乐迷是什么意思(抖音的超级乐迷是什么)

  • oppo无障碍是什么意思(oppo无障碍模式是什么意思)

    oppo无障碍是什么意思(oppo无障碍模式是什么意思)

  • 电脑进不了pe系统是什么原因(电脑进不了pe系统一直转圈)

    电脑进不了pe系统是什么原因(电脑进不了pe系统一直转圈)

  • 屏幕变蓝色是什么原因(屏幕变蓝色是什么问题)

    屏幕变蓝色是什么原因(屏幕变蓝色是什么问题)

  • ios11有深色模式吗(ios11可以设置深色模式)

    ios11有深色模式吗(ios11可以设置深色模式)

  • 为什么快手看不到别人的粉丝(为什么快手看不到自己的评论)

    为什么快手看不到别人的粉丝(为什么快手看不到自己的评论)

  • 为什么铁路12306无法人证核验(为什么铁路12306无法查询车次信息)

    为什么铁路12306无法人证核验(为什么铁路12306无法查询车次信息)

  • windows系统都有几个版本(win系统有哪些)

    windows系统都有几个版本(win系统有哪些)

  • 小米运动蓝牙耳机怎么重置(小米运动蓝牙耳机怎么重新配对新手机)

    小米运动蓝牙耳机怎么重置(小米运动蓝牙耳机怎么重新配对新手机)

  • vivo手机内存移到sd卡(vivo怎么移内存)

    vivo手机内存移到sd卡(vivo怎么移内存)

  • 手机号码被别人注册了微信怎么办(手机号码被别人恶意利用)

    手机号码被别人注册了微信怎么办(手机号码被别人恶意利用)

  • vivo手机能不能开空调(vivo手机能不能定位)

    vivo手机能不能开空调(vivo手机能不能定位)

  • iwatch一二三代的区别(iwatch二代和三代的区别)

    iwatch一二三代的区别(iwatch二代和三代的区别)

  • 手机号被暂停怎么恢复(手机号被暂停怎么办)

    手机号被暂停怎么恢复(手机号被暂停怎么办)

  • 如何解决Win10更新显卡驱动报错?(win10更新windows)

    如何解决Win10更新显卡驱动报错?(win10更新windows)

  • Win11 支持私密 DNS-over-HTTPS(DoH) 附启用教程(windows11加密)

    Win11 支持私密 DNS-over-HTTPS(DoH) 附启用教程(windows11加密)

  • 关闭密码保护共享关不了解决方法(关闭密码保护共享后又自动开启)

    关闭密码保护共享关不了解决方法(关闭密码保护共享后又自动开启)

  • vue2.x的h函数(createElement)与vue3中的h函数(vue $函数)

    vue2.x的h函数(createElement)与vue3中的h函数(vue $函数)

  • python参数默认值如何使用(python函数的默认值)

    python参数默认值如何使用(python函数的默认值)

  • 二、python基本数据类型(python提供的3个基本数字类型)

    二、python基本数据类型(python提供的3个基本数字类型)

  • python Series如何进行相加(python的series)

    python Series如何进行相加(python的series)

  • 关税减免形式主要包括
  • 应交税费是什么类
  • 盘盈固定资产明细账怎么填写?
  • 盈余公积发放现金股利分录怎么写
  • 建设工程劳务分包的规定
  • 外经证错了已经交了税怎么办
  • 教育附加费税率怎么算
  • 记账凭证如何填写明细科目
  • 待抵扣进项税什么时候抵扣
  • 私人企业利润怎么分配?
  • 子公司注销母公司合并报表处理
  • 红字信息表已核销不允许撤销
  • 建筑服务适用简易计税吗
  • 会计核算的具体流程
  • 无分包声明
  • 个人独资企业是一般纳税人吗
  • 领购纳税人状态注销或转非日期什么意思
  • 房产增值税包含个税吗
  • 旅游业小规模纳税人亏损怎么填报
  • 如何处理企业所得税纠纷
  • 预测“叫停GPT-4后续AI大模型”后续:这是一个囚徒困境
  • windows11激活密钥多少钱
  • scardsvr32.exe - scardsvr32是什么进程 有什么用
  • 如何清除苹果手机6s垃圾
  • 销售房产营业税怎么算
  • 如何弥补以前年假的问题
  • 投资收益怎么做不影响利润
  • 被辞退有补助金吗
  • 带壳的栗子 (© Kai Keisuke/Shutterstock)
  • jquery版本
  • 桌山 开普敦
  • 科纳克里市
  • vue基础知识
  • 固定资产一次性折旧政策2023
  • 京东到家的物流模式
  • chatplus
  • 境外公司委托境内公司付款
  • 未分配利润为负数严重吗
  • 企业坏账准备贷方核算内容
  • 0申报残保金逾期影响企业信用评级吗为什么
  • 自收自支是由主管部门拨款吗
  • 劳务派遣工资的发放单位
  • 结转在建工程的会计分录
  • 预缴分包抵扣,所有分包都可以抵扣吗
  • 公司买15万的车可以抵扣多少税
  • 内账中采购另付的税点算成本还是费用
  • 个税申报系统非正常可以改为正常吗?
  • 工程施工和工程结算对冲有差额的会计分录
  • 子公司提的盈余公积合并时如何抵消
  • 商业企业库存商品成本核算
  • 油费预付卡如何办理
  • 投资性房地产改造期间计提折旧吗
  • 向投资者分配现金股利的会计分录?
  • 挂靠工程如何交纳税金帐务处理?
  • 未开发票已收款如何做账?
  • 产权转移书据印花税减免政策
  • 存货周转次数下降的原因
  • 房地产成本核算对象
  • 美元转到中国银行入账是人民币吗
  • 现金支票作用
  • 个人购买股权和公司购买股权比较
  • 小规模纳税人可以转为一般纳税人吗?
  • 新成立的企业可以申请一般纳税人吗
  • mysql关联语句
  • 关于数据库的叙述
  • win8换win7详细过程
  • fedora系统怎么设置停电关机
  • 如果不用2b橡皮擦2b铅笔 能扫的出来吗
  • 通用pe工具箱安装win7
  • 防盗信息
  • Win7登录密码
  • win7如何卸载打印机驱动程序
  • coco包装设计
  • 简述js和jquery的关系
  • Android中的touch事件
  • python xlim
  • 从国外进口设备需要缴纳增值税吗
  • 江西国税电子税务局
  • 北京国家税务局总局官网
  • 土地交的契税会计科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设