day02-广播机制

广播机制

广播是numpy对不同形状的数组进行数值计算的方式,对数组的算术运算通常在相应的元素上进行

1.如果两个数组a和b形状相同,即满足a.shape == b.shape,那么a*b的结果就是a与b数组对应位相乘。这要求维数相同且各维度的长度相同

a = np.array([1,2,3,4])
b = np.array([10,20,30,40])
c = a * b
print(c)

[10, 40,90,160]

2.如果是两个形状不同的数据,广播机制的核心是对形状较小的数组,在横向或纵向上进行一定次数的重复,使其与形状较大的数组拥有相同的维度

a = np.array([[0,0,0],[10,10,10],[20,20,20],[30,30,30]])
b = np.array([1,2,3])
print(a+b)

原理如下图,数组b在一维的基础上扩展成重复的二维

4x3 的二维数组与长为 3的一维数组相加,等效于把数组b在二维上重复4 次再运算:

在这里插入图片描述

广播的规则:

  • 让所有输入数组都向其中形状最长的数组看齐,形状中不足的部分都通过在前面加1补齐
  • 输出数组的形状是输入数组形状的各个维度上的最大值。
  • 如果输入数组的某个维度和输出数组的对应维度的长度相同或者其长度为1时,这个数组能够用来计算,否则出错。
  • 当输入数组的某个维度的长度为1时,沿着此维度运算时都用此维度上的第一组值。

对于广播规则另一种简单理解

  • 将两个数组的维度大小右对齐,然后比较对应维度上的数值
  • 如果数值相等或其中有一个为1或者为空,则能进行广播运算
  • 满足条件2后,输出的维度大小为取数值大的数值。否则不能进行数组运算。
a的大小为2*3
b的大小为1*1
首先右对齐:2  31
————————2  3
最后得到2*3a的大小为2*1*3
b的大小为4*12  1  34  1
—————————2  4  3
最后得到2*4*3a的大小为2*1*3
b的大小为4*22  1  34  2
—————————3和2值上不相同,找1,没有1,不能运算

从这里能够看出:

  • 两个数组右对齐以后,对应维度里的数值要么相等,要么为1,要么缺失取大值。
  • 除此之外就会报错。

从这里能够看出:

  • 两个数组右对齐以后,对应维度里的数值要么相等,要么为1,要么缺失取大值。
  • 除此之外就会报错。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/39921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows和Linux服务器的SSL证书续订方法

在现代互联网中,SSL证书已经成为保障网站安全和数据隐私的必备工具。SSL证书到期后,服务器管理员需要及时续订SSL证书,以确保网站的正常访问和安全性。本文将详细介绍在Windows和Linux服务器上续订SSL证书的步骤。 生成CSR(证书签…

CesiumJS【Basic】- #024A mp4/mov 转 webm

文章目录 mp4/mov 转 webm1 目标2 代码3 参考mp4/mov 转 webm 1 目标 把mp4格式的文件、用mov格式的文件转成用webm格式的文件 2 代码 前提是需要先安装好 FFmpeg # 把原始mp4的尺寸变小(带alpha通道的mov,这样转换后好像透明通道丢死了,可以在AE里直接调整输出mov) f…

路由器是什么?

路由器(Router)是一种网络设备,它的主要功能是用来延伸、拓展网络,特别是在连接多个逻辑上分开的网络时发挥关键作用。逻辑网络可以理解为代表一个单独的网络或者一个子网。当数据需要在不同的子网之间传输时,路由器就…

七大排序算法的深入浅出(java篇)

🍁 个人主页:爱编程的Tom💫 本篇博文收录专栏:Java专栏👉 目前其它专栏:c系列小游戏 c语言系列--万物的开始_ 等等 🎉 欢迎 👍点赞✍评论⭐收藏💖三连支…

【第15章】MyBatis-Plus自动映射枚举

文章目录 前言一、枚举声明1. 方式一:注解标记2. 方式二:实现接口 二、未声明枚举1.修改全局 defaultEnumTypeHandler 三、号外参考: 如何序列化枚举值为前端返回值1.Jackson1.1 重写 toString 方法1.2 注解处理 2.Fastjson2.1 重写 toString 方法 总结 …

【高级篇】第9章 Elasticsearch 监控与故障排查

9.1 引言 在现代数据驱动的应用架构中,Elasticsearch不仅是海量数据索引和搜索的核心,其稳定性和性能直接影响到整个业务链路的健康度。因此,建立有效的监控体系和掌握故障排查技能是每一位Elasticsearch高级专家的必备能力。 9.2 监控工具:洞察与优化的利器 在Elastics…

乘用车副水箱浮球式液位计传感器

浮球式液位计概述 浮球式液位计是一种利用浮球在液体中浮动的原理来测量液位的设备,广泛应用于各种工业自动化控制系统中,如石油化工、水处理、食品饮料等行业。它通过浮球的上下运动来测量液位的高低,具有结构简单、安装方便、测量范围广、…

如何选择适合自己的虚拟化技术?

虚拟化技术已成为现代数据中心和云计算环境的核心组成部分。本文将帮助您了解如何选择适合自己需求的虚拟化技术,以实现更高的效率、资源利用率和灵活性。 理解虚拟化技术 首先,让我们了解虚拟化技术的基本概念。虚拟化允许将一个物理服务器划分为多个虚…

百词斩-英语单词大赛

根据您提供的网页内容,以下是一些可能对您有帮助的信息: 1. **比赛名称**: 全国大学生英语单词大赛。 2. **活动平台**: 比赛通过百词斩App进行。 3. **用户基础**: 百词斩App拥有两亿用户,说明这是一个广泛…

HTTP请求中常用的方法

HTTP(Hypertext Transfer Protocol,超文本传输协议)是客户端(如浏览器)与服务器之间进行通信的基础。HTTP请求中常用的方法主要包括以下几种: 1. GET 方法 用途:用于从服务器获取资源&#xf…

【Linux】多线程(一万六千字)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 线程的概念 线程的理解(Linux系统为例) 在Linux系统里如何保证让正文部分的代码可以并发的去跑呢? 为什么要有多进程呢? 为…

docker可视化界面portainer

好文转载记录 Docker入门到实践 (九) docker可视化界面portainer的安装与使用_访问 portainer-CSDN博客

Osg中的智能指针和观察指针

目录 1 设计 内容 1 设计 osg中能够使用智能指针的对象都继承自引用计数类Referenced,观察指针(observer_ptr)与智能指针之间通过ObserverSet相互关联,其中obserserver_ptr直接依赖ObeserverSet。 Referenced不直接依赖ObserverSet类,但可…

pdf合并,pdf合并成一个pdf,pdf合并在线网页版

在处理pdf文件的过程中,有时我们需要将多个pdf文件合并成一个pdf文件。作为一名有着丰富计算机应用经验的技术博主,我将为您详细介绍如何将多个pdf文件合并成一个pdf文件。 pdf合并方法:使用, “轻云处理pdf官网” 打开 “轻云处…

Cmake的详细使用

CSDN复制进来的mk笔记很乱 可以看下面的pdf文档 比较清晰 https://download.csdn.net/download/qq_41537499/89512254 Cmake apt install cmake cmake --version cmake version 3.22.1 vim main.cpp main.cpp 代码: #include int main(int argc,char *argv[]) { …

知识图谱知识点总结

知识图谱知识点总结 1. 知识图谱的定义 知识图谱(Knowledge Graph)是用于描述现实世界中的实体及其关系的图结构,广泛应用于信息检索、自然语言处理、推荐系统等领域。 2. 知识图谱的组成部分 实体(Entity): 现实世…

【高中数学/基本不等式】已知:x,y皆大于1,且x+2y=4 求:1/(x-1)+1/(y-1)的最小值为?

【问题来源】 https://www.ixigua.com/7025123539728466469?logTag1c2fd2e305d60e6277ab 之第一题 【问题】 已知:x,y皆大于1,且x2y4 求:1/(x-1)1/(y-1)的最小值为? 【解答】 解: 若将(x2y)/41代入目标式&…

学习笔记(linux高级编程)11

进程间通信 》信号通信 应用:异步通信。 中断,, 1~64;32应用编程。 如何响应: Term Default action is to terminate the process. Ign Default action is to ignore the signal. wait Core Default action is …

模板类内部能否含有虚函数?

首先&#xff0c;我们要区分模板类虚函数和模板虚函数&#xff0c;话不多说&#xff0c;先上代码&#xff1a; 模板类虚函数 template<class T> class A{ public:virtual ~A(){}virtual void foo(T &t){} };template<class T, class R> class B : public A<…

第一性原理

第一性原理是一个具有深厚哲学根基并广泛应用于多个领域的概念。以下是对其的详细解析&#xff1a; 一、定义 第一性原理&#xff08;the First Principle Thinking&#xff09;指的是从基本要素出发&#xff0c;不依赖于任何假设或经验&#xff0c;通过逻辑推理一步步建立起…