NumPy 广播(Broadcast)
广播机制在ML,数据分析等应用中发挥着巨大作用
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。
- 广播的原则:如果两个数组的后缘维度(trailing dimension,即从末尾开始算起的维度)的轴长度相符,或其中的一方的长度为1,则认为它们是广播兼容的。广播会在缺失和(或)长度为1的维度上进行。
如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b
的结果就是 a 与 b 数组对应位相乘。(其实就是矩阵的点乘)这要求维数相同,且各维度的长度相同。
当运算中的 2 个数组的形状不同时,numpy 将自动触发广播机制。如:
import numpy as np
a = np.array([[ 0