100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Numpy的广播机制详解(broadcasting)

Numpy的广播机制详解(broadcasting)

时间:2023-04-05 17:55:07

相关推荐

Numpy的广播机制详解(broadcasting)

Numpy的广播机制详解(broadcasting)

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

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

若广播条件不满足,抛出"ValueError: frames are not aligned"异常。

通俗的理解就是:将两个数组的维度大小右对齐,然后比较对应维度上的数值,如果数值相等或其中有一个为1或者为空,则能进行广播运算,并且输出的维度大小为取数值大的数值。否则不能进行数组运算。

假定只有两个数组进行操作,即A+B、A*B这种情况。

1. 两个数组各维度大小从后往前比对均一致

A = np.zeros((2,5,3,4))B = np.zeros((3,4))print((A+B).shape) # 输出 (2, 5, 3, 4)A = np.zeros((4))B = np.zeros((3,4))print((A+B).shape) # 输出(3,4)

2. 两个数组存在一些维度大小不相等时,有一个数组的该不相等维度大小为1

这是

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。