Eight—pytorch学习—广播机制(broadcast)

pytorch学习(5)

广播机制(broadcast)

矩阵运算往往都是在两个维度相同或者相匹配(前面矩阵的列数等于后一个矩阵的行数)的矩阵之间定义的,广播机制亦是如此。在机器学习的某些算法中会出现两个维度不相同也不匹配的矩阵进行运算,那么这时候就需要广播机制来解决。

broadcast的两个特点

  • 能够进行相同维度的扩展,相当于expand,但是是自动扩展
  • 扩展时不需要拷贝数据,节约内存
  • 注意:broadcast并不时函数,而是在不同size的tensor之间进行加减操作会自动进行的一种机制

broadcast的主要思想

  • 依次从最后一个维度开始匹配,若前面没有维度则插入一个新的维度,size为1
  • 自动调用expand函数使得维度size相同
eg:
    Feature maps: [4,32,14,14]
    Bias: [32,1,1] => [1,32,1,1] => [4,32,14,14]

`python
import torch

a = torch.rand(4,32,8) #创建一个三维的tensor
bias = torch.tensor(5) #创建一个标量
score = a + bias #通过broadcast进行转换进行运算

print(a.shape)
print(bias.shape)
print(score.shape)

Original: https://www.cnblogs.com/311dih/p/16583855.html
Author: 叁_311
Title: Eight—pytorch学习—广播机制(broadcast)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/642884/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 重新学习数据库(1)

    单元概述 通过本章的学习能够了解MySQL结构查询语言的概念,掌握SELECT查询语句的基本语法,掌握SELECT查询语句中过滤条件的使用,掌握过滤条件中比较运算符和逻辑运算符的使…

    技术杂谈 2023年6月22日
    0122
  • Vue el-date-picker 组件时间格式化方式

    官网地址:https://element.eleme.cn/#/zh-CN/component/date-picker value-format="yyyy-MM-dd&…

    技术杂谈 2023年7月25日
    081
  • ConstraintLayout的用法

    <span class=”typ”>ConstraintLayout</span> 相对于 <span class=”typ”>Relative…

    技术杂谈 2023年5月31日
    0105
  • 前端基础知识

    一、创建函数 函数声明 function fnName(){ } 函数表达式 var fnName = function(){ } 使用Function构造函数 【ES6】箭头函数…

    技术杂谈 2023年5月31日
    0111
  • Nodejs 如何设计一个限频接口来防止攻击

    做过后端研发的基本对接口限频完全不陌生,特别是针对一些核心接口受到攻击的时候,比如 Jmeter 来通过一些用户填写接入恶意灌入脏数据。 那在 nodejs 这边如何设计 限频接口…

    技术杂谈 2023年5月31日
    0118
  • 使用MindSpore计算旋转矩阵

    坐标变换、旋转矩阵,是在线性空间常用的操作,在分子动力学模拟领域有非常广泛的应用。比如在一个体系中切换坐标,或者对整体分子进行旋转平移等。如果直接使用Numpy,是很容易可以实现的…

    技术杂谈 2023年7月25日
    081
  • cocos 场景制作流程

    前面的话 本文将详细介绍 cocos 场景制作流程 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作组件-实体系统,简单的说,就是以组合而…

    技术杂谈 2023年5月30日
    0115
  • 基于英雄联盟的知识图谱问答系统

    介绍 代码地址:https://github.com/taishan1994/lol_knowledge_graph_qa 该文介绍了英雄联盟知识图谱的构建以及搭建一个简单的基于知…

    技术杂谈 2023年6月1日
    0164
  • Htmx 使html 也可以发送请求

    一个网页 JS 库,可以让任何一个网页元素发出 HTTP 请求,并且可以局部更新该元素; 文档地址:https://htmx.org/docs/#introduction #npm…

    技术杂谈 2023年5月31日
    0128
  • 【原创】k8s微服务滚动发布(服务持续可用)实践笔记

    背景 对于业务和产品来讲,随时都有紧急小版本功能上线,对于研发人员来讲,线上如果有一些紧急的bug,都需要随时发版修正;而对于产品使用用户来讲,任何的功能和版本发布,要尽可能对用户…

    技术杂谈 2023年7月24日
    0107
  • 全新升级的AOP框架Dora.Interception[4]: 基于表达式的拦截器注册

    基于特性标注的拦截器注册方式仅限于将拦截器应用到自己定义的类型上,对于第三方提供的类型就无能为力了。对于Dora.Interception(github地址,觉得不错不妨给一颗星)…

    技术杂谈 2023年5月31日
    0109
  • 统一网关Gateway的使用:

    为什么需要网关? Gateway网关是我们服务的守门神,所有微服务的统一入口 网关的核心功能特性: 网关的功能:身份认证和权限校验 服务路由,负载均衡 请求限流 在SpringCl…

    技术杂谈 2023年6月21日
    0120
  • C7N 重置 queryDataSet

    场景: F型布局的页面,点击左侧列表,右侧详情页面的数据需要更新,当时发现详情页中 queryDataSet 数据没有重置 思路: 调用 DataSet 中的 reset 方法,重…

    技术杂谈 2023年5月30日
    098
  • 【Golang】golang实现urlencode urldecode函数

    golang实现urlencode函数、 urldecode函数,url加解密函数 func UrlEncode(str string) string { return url.Q…

    技术杂谈 2023年6月1日
    079
  • 23种设计模式之命令模式和策略模式的区别

    命令模式和 策略模式确实很相似,只是命令模式多了一个接收者(Receiver)角色。它们虽然同为行为类模式,但是两者的区别还是很明显的。策略模式的意图是封装算法,它认为&#8221…

    技术杂谈 2023年7月24日
    0104
  • chatops

    ChatOps是什么? ChatOps, 简单地说,这是一种方法,允许团队以聊天室的方式来协作和管理其基础结构、代码和数据的许多方面。通过使用聊天机器人和脚本,团队可以执行命令、查…

    技术杂谈 2023年5月31日
    0154
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球