位置: 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是如何保证安全的

  • 小红书怎么看关注的人(小红书怎么看关注的店铺)

    小红书怎么看关注的人(小红书怎么看关注的店铺)

  • 如何屏蔽垃圾短信(如何屏蔽垃圾短信苹果11)

    如何屏蔽垃圾短信(如何屏蔽垃圾短信苹果11)

  • iPad mini4和mini5区别(ipad mini4和mini5区别知乎)

    iPad mini4和mini5区别(ipad mini4和mini5区别知乎)

  • 红米闪退怎么解决(红米闪退怎么解决手机)

    红米闪退怎么解决(红米闪退怎么解决手机)

  • 小米手机右上角拨号键X怎么设置(小米手机右上角出现电话叉怎么关闭)

    小米手机右上角拨号键X怎么设置(小米手机右上角出现电话叉怎么关闭)

  • 千兆口和百兆口用哪个(千兆口和百兆口插哪个)

    千兆口和百兆口用哪个(千兆口和百兆口插哪个)

  • 抖音主页怎么不显示年龄(抖音主页怎么不显示ip)

    抖音主页怎么不显示年龄(抖音主页怎么不显示ip)

  • 手机cpu坏的前兆(如何判断cpu被烧了)

    手机cpu坏的前兆(如何判断cpu被烧了)

  • 淘宝综合排序按什么排的(淘宝综合排序的原理机制?)

    淘宝综合排序按什么排的(淘宝综合排序的原理机制?)

  • 无主题信息为什么删除不了(无主题信息为什么删除不了华为手机)

    无主题信息为什么删除不了(无主题信息为什么删除不了华为手机)

  • 淘宝上买完东西店铺不存在为什么(淘宝网上购物)

    淘宝上买完东西店铺不存在为什么(淘宝网上购物)

  • 钉钉老师能看到学生私聊吗(钉钉老师能看到学生在干嘛吗)

    钉钉老师能看到学生私聊吗(钉钉老师能看到学生在干嘛吗)

  • 手机WPS闪退(手机wps闪退怎么恢复文件)

    手机WPS闪退(手机wps闪退怎么恢复文件)

  • 老版ipad无法下载微信(老版ipad无法下载软件)

    老版ipad无法下载微信(老版ipad无法下载软件)

  • windows7怎么联网(windows7怎么联网线)

    windows7怎么联网(windows7怎么联网线)

  • 朋友圈一条直线是什么意思(对方头像是灰色,朋友圈一条直线)

    朋友圈一条直线是什么意思(对方头像是灰色,朋友圈一条直线)

  • 手机右上角hd怎么关闭(手机右上角HD怎么没有了)

    手机右上角hd怎么关闭(手机右上角HD怎么没有了)

  • iphonex是不是指纹解锁(苹果x指的是哪款手机)

    iphonex是不是指纹解锁(苹果x指的是哪款手机)

  • 小米9pro怎么升级miui11(小米9pro怎么升级moui14)

    小米9pro怎么升级miui11(小米9pro怎么升级moui14)

  • vivo耳机线控怎么设置(vivo线控耳机怎么调音量)

    vivo耳机线控怎么设置(vivo线控耳机怎么调音量)

  • apple watch忘记密码怎么办(applewatch忘记密码恢复出厂设置)

    apple watch忘记密码怎么办(applewatch忘记密码恢复出厂设置)

  • opporeno手机什么时候上市的(opporeno几好)

    opporeno手机什么时候上市的(opporeno几好)

  • dubtloo华为什么型号(华为dubalooa什么型号手机)

    dubtloo华为什么型号(华为dubalooa什么型号手机)

  • 红米note5定时开关机在哪里(红米5手机定时开关机怎么设置)

    红米note5定时开关机在哪里(红米5手机定时开关机怎么设置)

  •  贝儿机器人怎么加盟(贝尔机器人适合多大孩子)

    贝儿机器人怎么加盟(贝尔机器人适合多大孩子)

  • 利润税是多少个点
  • 哪些增值税专用发票可以抵扣进项税
  • 流动负债和长期负债的比例多少合适
  • 本期进项税大于销项税
  • 暂估发票到账出入库单要填吗
  • 外购已税什么意思
  • 一般纳税人从小规模纳税人处进货
  • 因保管不善,不慎遗失
  • 企业收到宣传费怎么入账
  • 在建工程明细科目
  • 路桥年费税额抵扣账务处理怎么做?
  • 扣缴外国企业所得税分录
  • 办理异地租房提取公积金流程
  • 政府专项补助购置固定资产进项税可以抵扣吗?
  • 装修改造费用按多少年摊销
  • 事业单位的出纳要承担的责任是什么
  • 集体土地上的不动产能符合异议28条规定吗
  • 年收入12万申报人数
  • 深圳税种核定需要申报吗
  • 劳务派遣企业差额扣除占比过高怎么办
  • 关于个人所得税下列说法正确的是
  • 增值税纳税义务人
  • 跨年度错账更正方法
  • 记账错误是什么意思
  • 产品预付款合同如何填写
  • 员工交通费报销标准
  • 盘亏机器设备会计分录
  • 外贸过程中的银行是什么
  • 递延资产主要包括哪些
  • 城镇土地使用税征收标准及计算方法
  • 什么是毛利润和纯利润
  • 合并报表抵消分录实例
  • 购买办公用品发放给各部门使用
  • ajax获取php数据
  • 2020 php 薪资
  • php中url什么意思
  • 自创商誉的确认
  • PHP:ftp_nb_get()的用法_FTP函数
  • 小规模纳税人多少钱不用交税
  • 出口退税退回的税款怎么记账
  • 辅助生产成本包含哪些
  • PHP:mcrypt_generic_end()的用法_Mcrypt函数
  • 在企业兼并时,被兼并企业价值评估的最适用假设是
  • 前端批量下载图片
  • “write javaBean error, fastjson version 1.2.83, class org.apache.shiro.web.servlet.ShiroHttpServletR
  • 尚硅谷docker笔记
  • 爱心代码图
  • 为什么我们认为北京人已经学会使用火
  • php发送http请求的常用方法分析
  • 原材料用于在建工程增值税如何处理
  • mysql语句like用法
  • 不抵扣发票可以转抵扣吗
  • 公司的财产保险业务
  • SQL Server 2008用'sa'登录失败,启用'sa'登录的解决办法
  • mysql主从配置详解
  • 收到社保稳岗补贴需要交税吗
  • 建筑行业普票和专票的税率一样吗
  • 总公司调拨子公司怎么办
  • 兼职费计入什么科目
  • 发票开错了记账凭证如何做?
  • sql中查询语句
  • sql server 不存在或者拒绝访问
  • 微软6月24号
  • rundll32.exe是什么程序
  • 在microsoft store
  • 图片缩略图是什么意思
  • created directory cfg怎么办
  • 怎么设置虚拟硬盘储存路径
  • centos6.x下安装maven CentOS自动安装Maven的方法
  • linux命令的参数
  • win8打游戏卡怎么办
  • windows8.1控制面板
  • c++全局变量赋值
  • webpack 构建流程
  • jQuery使用ajax方法解析返回的json数据功能示例
  • Node.js中的construct
  • jquery使用教程
  • jquery动态添加html代码
  • 国家纳税查询系统
  • 国地税发展历程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设