位置: IT常识 - 正文

Pytorch中的广播机制(Broadcast)(pytorch广播相乘)

编辑:rootadmin
Pytorch中的广播机制(Broadcast) 1. Pytorch中的广播机制

推荐整理分享Pytorch中的广播机制(Broadcast)(pytorch广播相乘),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:pytorch broadcast,pytorch audio,python 广播函数,pytorch 广播,pytorch broadcasting,python的广播运算,python的广播运算,pytorch 广播,内容如对您有帮助,希望把文章链接给更多的朋友!

如果一个Pytorch运算支持广播的话,那么就意味着传给这个运算的参数会被自动扩张成相同的size,在不复制数据的情况下就能进行运算,整个过程可以做到避免无用的复制,达到更高效的运算。 广播机制实际上是在运算过程中,去处理两个形状不同向量的一种手段。 pytorch中的广播机制和numpy中的广播机制一样, 因为都是数组的广播机制。

2. 广播机制的理解

以数组A和数组B的相加为例, 其余数学运算同理 核心:如果相加的两个数组的shape不同, 就会触发广播机制:       1)程序会自动执行操作使得A.shape==B.shape;       2)对应位置进行相加运算,结果的shape是:A.shape和B.shape对应位置的最大值,比如:A.shape=(1,9,4),B.shape=(15,1,4),那么A+B的shape是(15,9,4)

3. 两个张量进行广播机制的条件

3.1 两个张量都至少有一个维度

#像下面这种情况下就不行,因为x不满足这个条件。x=torch.empty((0,))y=torch.empty(2,2)Pytorch中的广播机制(Broadcast)(pytorch广播相乘)

3.2 按从右往左顺序看两个张量的每一个维度,x和y每个对应着的两个维度都需要能够匹配上。什么情况下算是匹配上了?满足下面的条件就可以:       a.这两个维度的大小相等       b. 某个维度 一个张量有,一个张量没有       c.某个维度 一个张量有,一个张量也有但大小是1 如下举例:

x=torch.empty(5,3,4,1)y=torch.empty( 3,1,1)

如上面代码中,首先将两个张量维度向右靠齐,从右往左看,两个张量第四维大小相等,都为1,满足上面条件a;第三个维度大小不相等,但第二个张量第三维大小为1,满足上面条件b;第二个维度大小相等都为3,满足上面条件a;第一个维度第一个张量有,第二个张量没有,满足上面条件b,因此两个张量每个维度都符合上面广播条件,因此可以进行广播。 两个张量维度从右往左看,如果出现两个张量在某个维度位置上面,维度大小不相等,且两个维度大小没有一个是1,那么这两个张量一定不能进行广播。

4 当两个张量满足可广播条件后,具体怎么进行广播x=torch.empty(5,3,4,1)y=torch.empty( 3,1,1)

如上面代码所示:      a. 首先第一步,将上面条件b的类型变成条件c的类型,也即是把第二个张量在缺失维度的位置上新增一个维度,维度大小为1,新增的维度如下面所示。

统一前:x=torch.empty(5,3,4,1)y=torch.empty( 3,1,1)统一后:x=torch.empty(5,3,4,1)y=torch.empty(1,3,1,1)

     b. 第二步,x、y对应维度不等的位置,把size为1的维度会被广播得和对应维度一样大,比如y中0维的1会变成5,y中2维的1会变成4,最后两个张量的维度大小变成一样,然后再进行张量运算,转变的维度如下所示。

统一前:x=torch.empty(5,3,4,1)y=torch.empty(1,3,1,1)统一后:x=torch.empty(5,3,4,1)y=torch.empty(5,3,4,1)5. 从空间上理解广播机制

5.1 一维张量进行广播,b被自动广播得和a一样的维度大小,完成了张量相乘运算,如下图所示。

a = torch.tensor([1,2,3])b = torch.tensor([2])c = a*ba,a.shape,b,b.shape,c,c.shape输出结果如下:(tensor([1, 2, 3]), torch.Size([3]), tensor([2]), torch.Size([1]), tensor([2, 4, 6]), torch.Size([3]))

5.1 二维张量进行广播,b被自动广播得和a一样的维度大小,完成了张量相加运算,如下图所示。

a = torch.tensor([[0],[10],[20],[30]])b = torch.tensor([1,2,3])c = a+ba,a.shape,b,b.shape,c,c.shape输出结果如下:(tensor([[ 0], [10], [20], [30]]), torch.Size([4, 1]), tensor([1, 2, 3]), torch.Size([3]), tensor([[ 1, 2, 3], [11, 12, 13], [21, 22, 23], [31, 32, 33]]), torch.Size([4, 3]))

上面二维张量和一维张量相加运算进行广播过程为:a的形状是(4,1),b的形状是(3),如果a和b要匹配上,第一步给b新添一个维度,我们有:a的形状是(4,1),b的形状是(1,3);第二步二者各自把为1的维度进行广播,就如上图中那样进行广播,最后运算完成。

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

上一篇:Vue懒加载(vue懒加载机构树刷新)

下一篇:https是如何保证安全的

  • 让一步是懂,退一步是高(让一步是心)

    让一步是懂,退一步是高(让一步是心)

  • 苹果13promax来电闪光灯怎么打开(苹果13promax来电闪光灯怎么设置怎么打不开)

    苹果13promax来电闪光灯怎么打开(苹果13promax来电闪光灯怎么设置怎么打不开)

  • excel表格怎么快速查找定位(excel表格怎么快速排序)

    excel表格怎么快速查找定位(excel表格怎么快速排序)

  • iphone12ios14系统进行镜像设置的方法是什么

    iphone12ios14系统进行镜像设置的方法是什么

  • 魅族17屏幕是多大的(魅族17屏幕多少hz)

    魅族17屏幕是多大的(魅族17屏幕多少hz)

  • 华为nova5pro支持投屏吗(华为nova5pro支持红外线功能吗)

    华为nova5pro支持投屏吗(华为nova5pro支持红外线功能吗)

  • 电脑版怎么下载网页(steam电脑版怎么下载)

    电脑版怎么下载网页(steam电脑版怎么下载)

  • 打qq电话放歌对方能听见吗(打qq电话的时候放歌对方听得到怎么办)

    打qq电话放歌对方能听见吗(打qq电话的时候放歌对方听得到怎么办)

  • 恢复出厂家设置后微信记录还有吗(恢复出厂家设置怎么变回来)

    恢复出厂家设置后微信记录还有吗(恢复出厂家设置怎么变回来)

  • 微信我赞过的评论怎么看(微信点赞评价记录)

    微信我赞过的评论怎么看(微信点赞评价记录)

  • 华为手机下方的三个键在哪设置(华为手机下方的三角形正方形和圆形是什么)

    华为手机下方的三个键在哪设置(华为手机下方的三角形正方形和圆形是什么)

  • 普通网线支持千兆吗(普通网线支持千m吗)

    普通网线支持千兆吗(普通网线支持千m吗)

  • 华为手表连接不上手机(华为手表连接不上苹果手机)

    华为手表连接不上手机(华为手表连接不上苹果手机)

  • vmware是什么(vmware是什么意思)

    vmware是什么(vmware是什么意思)

  • 开启双重认证什么意思(开始双重认证)

    开启双重认证什么意思(开始双重认证)

  • qq恢复好友能恢复几年(qq恢复好友能恢复三年前的吗)

    qq恢复好友能恢复几年(qq恢复好友能恢复三年前的吗)

  • 键盘上的end键在哪里(键盘的end键在哪里)

    键盘上的end键在哪里(键盘的end键在哪里)

  • 荣耀10怎么设置开空调(荣耀10怎么设置返回键)

    荣耀10怎么设置开空调(荣耀10怎么设置返回键)

  • 微信账单有什么用处(微信账单有什么重要信息)

    微信账单有什么用处(微信账单有什么重要信息)

  • 小米金服安全组件是什么(小米金服安全组件)

    小米金服安全组件是什么(小米金服安全组件)

  • 怎么唤醒jovi(怎么唤醒第二人格)

    怎么唤醒jovi(怎么唤醒第二人格)

  • 设置通用设备管理在哪(设置通用设备管理)

    设置通用设备管理在哪(设置通用设备管理)

  • vivox20屏幕多少英寸(vivox20屏幕多大尺寸,厚度)

    vivox20屏幕多少英寸(vivox20屏幕多大尺寸,厚度)

  • 金税盘证书密码(金税盘证书密码被锁死是什么原因)

    金税盘证书密码(金税盘证书密码被锁死是什么原因)

  • 苹果手机id被锁解决方法(苹果手机id被锁定什么意思)

    苹果手机id被锁解决方法(苹果手机id被锁定什么意思)

  • linux系统怎么访问windows共享文件?(linux系统怎么访问共享文件夹)

    linux系统怎么访问windows共享文件?(linux系统怎么访问共享文件夹)

  • Vue实现鼠标悬浮隐藏与显示图片效果 @mouseenter 和 @mouseleave事件(vue实现鼠标悬浮 显示全部内容)

    Vue实现鼠标悬浮隐藏与显示图片效果 @mouseenter 和 @mouseleave事件(vue实现鼠标悬浮 显示全部内容)

  • 企业利息收入需要交哪些税
  • 本月发生费用未支付会计处理
  • 土地增值税间接费用扣除
  • 股东分红按利润表的净利润计算
  • 采购普通发票和专用发票的区别
  • 利息支出可以抵扣吗
  • 个人境外汇款有限制吗知乎
  • 外企餐补标准
  • 设备维修劳务费税率
  • 增值税专票怎么抵扣
  • 老板投资的钱怎么入账
  • 发票先收到下个月才付款
  • 纳税人必须先复议再诉讼
  • 开票软件维护费计入什么科目
  • 一般商业企业要缴纳哪些税?
  • 工商局查社保吗
  • 双系统怎么卸载ubuntu
  • 员工付款的手续费怎么算
  • 不用itunes怎么下载软件
  • 公司流水账是会计做吗
  • 企业清算有哪些类型
  • 应收账款转让分录
  • 什么叫做材料成型工艺
  • 什么是产品?产品的举例子
  • 向境外支付技术服务费怎里面的增值税怎么入账
  • 从上布法罗荒野地区的惠特克顶小道向东看,阿肯色州奥沙克国家森林 (© Jens Lambert Photography/Getty Images Plus)
  • 结转损益类收入科目分录
  • yolov5m
  • cloa框架
  • 如何在vue项目中禁止谷歌浏览器改变网页颜色
  • vue脚手架配合springsecurity
  • 一次开票分期确认怎么弄
  • 旅行社怎样进行营销
  • 残次品生产成本计算
  • 即征即退实际退税额35栏可以不填吗
  • 促销服务费分录
  • 公司注销剩余的发票怎么作废
  • 如何解决面颊毛孔粗大
  • 滴滴票可以抵扣吗?
  • 筹建期购买办公用品
  • 新版发票填开操作流程
  • 清包工方式建筑服务
  • 个人所得税隔月交么
  • 期末应交增值税的会计科目怎么做
  • 突然收到电子退库收入
  • 未确认递延所得税资产的可抵扣亏损到期年度表
  • 二手车会计怎么做的
  • 已计提教育费附加但是未扣除个税
  • 结转成本应附什么原始凭证
  • 发票勾选认证的时间限制是多久
  • 收到保险理赔款计入什么科目
  • 固定资产卡片录入日期怎么改
  • 福利补贴制度
  • 建账要求
  • 强化系统设计
  • solaris8+apache2+weblogic813+db2_82客户端+128 安装过程
  • xp主题设置
  • u盘安装linux系统遇到的问题
  • centos ll
  • diskmakerx制作u盘需要多久
  • centos soft lockup
  • kpupgrader.exe是什么
  • lua教程书籍
  • linux shell打开文件
  • jqueryanimate动画
  • js表单事件有哪些
  • java list转set的方法
  • Intent and Intent Filters
  • angularjs1.5
  • android内存泄露监测
  • unity3d基础操作
  • android synchronized
  • jquery循环生成li
  • jquery滚动条滚动到指定位置
  • 税务如何查饭店信息
  • 安徽省国家税务局网
  • 青海的医疗保险费是多少钱
  • 深圳龙华区税务局大浪税务所电话
  • 安徽省电子税务局app
  • 徐州注销营业执照去哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设