返回顶部
首页 > 资讯 > 精选 >Numpy广播域是什么
  • 843
分享到

Numpy广播域是什么

2023-07-05 17:07:59 843人浏览 泡泡鱼
摘要

这篇文章主要介绍“Numpy广播域是什么”,在日常操作中,相信很多人在Numpy广播域是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Numpy广播域是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧

这篇文章主要介绍“Numpy广播域是什么”,在日常操作中,相信很多人在Numpy广播域是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Numpy广播域是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

不同形状指的是,大小不同当然不是指的维度,但是要求数组各维度的长度相同

例如:

arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])print(arr)arr2 = np.array([1,2,3])

Numpy广播域是什么

arr是4*3的二维数组 arr2 是1*3的一维数组 ,二维数组中的一维数组 长度是3 ,而一维数组的长度也是三,所以只有满足这样的条件才可以进行计算。

如果想要知道他们是如何进行计算的请看下面的图片

arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])print(arr)arr2 = np.array([1,2,3])print(arr2)print(arr*arr2)

Numpy广播域是什么

我们知道arr 和arr 数组的维度是不相同的,如果在普通的运算中,如果我们想对它们元素到元素之间进行相乘或者相加减,显然是不可能的,但是在numpy中是可以对不同维度的数组进行乘除加减操作的,因为numpy中的数组具有广播功能。低维度的数组会扩展到和多维数组相同大小

我们可以这样认为,arr2是一维数组,它和二维数组arr 进行乘法运算,arr2 中的每一元素依次会和二维数组的每一个元素相乘。但是对广播来说不能这样简单认为:

arr2

1

2

3

arr2经过广播后

1

2

3

1

2

3

1

2

3

1

2

3

arr数组

0

2

6

3

8

15

6

14

24

9

20

22

广播操作具有延伸性,它会将低维度的数组,延伸成为和高维度一样大小的数组,然后在对他们进行乘除加减操作。

有的朋友会问,二维数组乘以一维数组它们得到的结果是多大维度的。

Numpy广播域是什么

显然结果是二维数组,如果测试该数组的维度,请将该数组点上一个 ndim 方法名 arr.ndim

NumPy广播的规则

  • 让所有输入数组都向其中形状最长的数组看齐,形状中不足的部分都通过在前面加 1 补齐。

  • 输出数组的形状是输入数组形状的各个维度上的最大值。

刚才看到 输入数组 arr 是 4 x 3 arr2 是 1 x 3 ,输出数组 result 是 4 x 3 最大值是不是 4 x 3 啊

  • 如果输入数组的某个维度和输出数组的对应维度的长度相同或者其长度为 1 时,这个数组能够用来计算,否则出错。

arr 是二维,arr2是一维,我们需要拿arr中的一维数组和arr2比较观察他们的长度(行元素个数)是否相同,或者arr2中只有一个元素,才能进行计算否则会报错

两个输入数组对应维度的元素个数相同:

arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])arr2 = np.array([2,3,4])

低维度的元素个数(长度)为 1

arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])arr2 = np.array([2])

报错案例: 低维度的数组多一个元素或者少一个元素都不行,但排除元素个数为1的可能性

低维度数组的元素少一个arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])arr2 = np.array([2,3])报错提示:ValueError: operands could not be broadcast together with shapes (4,3) (2,) 低维度数组的元素多一个arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])arr2 = np.array([2,3,4,5])报错提示:ValueError: operands could not be broadcast together with shapes (4,3) (4,) 正确 : 低维度数组维度的值(元素个数)为1个arr = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])arr2 = np.array([3])result = arr*arr2结果:[[ 1  2  3]            arr [ 4  5  6] [ 7  8  9] [10 11 12]] [3]                    arr2  [[ 3  6  9]           result [12 15 18] [21 24 27] [30 33 36]]

当输入数组的某个维度的长度为 1 时,沿着此维度运算时都用此维度上的第一组值。

简单理解:对两个数组,分别比较他们的每一个维度(若其中一个数组没有当前维度则忽略),满足:

  • 数组拥有相同形状。

  • 当前维度的值相等。

  • 当前维度的值有一个是 1。

numpy中的数组具有广播性,广播性就是延伸性,比较低的维度数组会延伸到和维度较大的数组一样的大小,这里的低维度指的是一维数组,如果是其它维度就要做操作的两个数组的维数相同和各维度的长度是否相同不同则不可以进行广播操作。numpy只针对一维数组且各维度的长度要相同,或者其中一个数组只有一个元素。

到此,关于“Numpy广播域是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Numpy广播域是什么

本文链接: https://lsjlt.com/news/353524.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Numpy广播域是什么
    这篇文章主要介绍“Numpy广播域是什么”,在日常操作中,相信很多人在Numpy广播域是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Numpy广播域是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-05
  • NumPy中的Broadcasting广播机制是什么
    这篇文章主要介绍NumPy中的Broadcasting广播机制是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!广播机制概述让我们探索numpy中一个更高级的概念,这个概念被称为广播。 广播展现了NumPy在算术运...
    99+
    2023-06-15
  • 美国VPS服务器的冲突域和广播域是什么
    美国VPS服务器的冲突域和广播域是:1、美国VPS服务器的冲突域是指两台不同的服务器设备发送数据包,就会发生数据冲突,然后两台设备都需要重新发送数据包,同一时刻只能有一台服务器设备发送;2、美国VPS服务器的是指网络中的某一设备同时向网络中...
    99+
    2024-04-02
  • 浅谈numpy广播机制
    目录Broadcast最简单的广播机制稍微复杂的广播机制广播机制到底做了什么一个正确的经典示例一种更便捷的计算方式Broadcast 广播是numpy对不同形状(shape)的数组进...
    99+
    2023-02-15
    numpy 广播机制
  • pytorch中的广播语义是什么
    这篇文章主要介绍“pytorch中的广播语义是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“pytorch中的广播语义是什么”文章能帮助大家解决问题。1、什么是广播语义?官方文档有这样一个解释:...
    99+
    2023-06-29
  • Spark中的广播变量是什么
    广播变量是一种分布式共享变量,用于在集群中的所有节点上保持一份只读的变量副本。这样可以在所有节点上使用同一个变量,避免在每个任务中都...
    99+
    2024-03-05
    Spark
  • Android广播Broadcast的启动流程是什么
    这篇“Android广播Broadcast的启动流程是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android广播B...
    99+
    2023-07-05
  • 广东域名备案流程是什么
    广东域名备案流程如下:1. 登录广东省通信管理局网站,选择“网站备案”进行备案申请。2. 填写备案申请表,包括网站名称、网站域名、网...
    99+
    2023-06-13
    广东域名 域名
  • 广州域名注册流程是什么
    1. 在广州的域名注册机构或者网站上选择域名并查询可用性。2. 如果域名可用,填写注册信息,一般包括注册者姓名、联系地址、联系电话、...
    99+
    2023-06-10
    广州域名注册 域名
  • 深入解析NumPy中的Broadcasting广播机制
    前言 在吴恩达老师的深度学习专项课程中,老师有提到NumPy中的广播机制,同时那一周的测验也有涉及到广播机制的题目。那么,到底什么是NumPy中的广播机制? 官方文档 接下来到了看官...
    99+
    2024-04-02
  • 广西域名备案的流程是什么
    1. 准备材料:准备好企业或个人的身份证明、营业执照或个人身份证、网站备案申请表等相关材料。2. 登录备案系统:进入广西互联网信息办...
    99+
    2023-06-08
    广西域名 域名
  • Spark中的广播变量是用来做什么的
    广播变量是Spark中一种用于高效分发较大数据集到集群中所有节点的机制。广播变量的主要作用是在不同节点之间共享只读数据,以便在并行操...
    99+
    2024-03-05
    Spark
  • wan是局域网还是广域网
    这篇文章主要讲解了“wan是局域网还是广域网”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“wan是局域网还是广域网”吧!wan是广域网,英文全称是Wide Area Network,指的是连...
    99+
    2023-06-20
  • Android广播机制原理与开发的方法是什么
    今天小编给大家分享一下Android广播机制原理与开发的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。广播机制简介...
    99+
    2023-07-05
  • 广州域名注册费用及流程是什么
    广州域名注册费用和流程与其他地区的注册费用和流程相同,具体如下:费用:1. 域名注册费用:一般在50元-100元不等,不同的注册商价...
    99+
    2023-06-08
    广州域名注册 域名
  • 广域网,城域网,局域网是怎么划分的
    这篇文章主要讲解了“广域网,城域网,局域网是怎么划分的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“广域网,城域网,局域网是怎么划分的”吧!广域网、城域网和局域网的划分依据是“覆盖范围”。局...
    99+
    2023-07-05
  • Spark中的广播变量有什么作用
    在Spark中,广播变量(Broadcast Variables)用于高效地向所有工作节点发送一个较大的只读值,从而减少每个任务中需...
    99+
    2024-03-05
    Spark
  • html5广告是什么
    本篇内容主要讲解“html5广告是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html5广告是什么”吧! html5广告不仅指...
    99+
    2024-04-02
  • python的广播机制是怎样的
    本篇文章为大家展示了python的广播机制是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。为什么会有广播机制python语言在设计的时候,就就考虑到用于两个运算的矩阵或向量维度不匹配的问题。例...
    99+
    2023-06-22
  • 服务器广域网访问设置的方法是什么
    服务器广域网访问设置的方法通常包括以下步骤:1. 确认服务器所在的局域网已经连接到互联网。2. 配置服务器的网络参数,包括IP地址、...
    99+
    2023-06-10
    广域网访问设置
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作