通过一张图理解Numpy的广播机制
Numpy中的广播指的是在进行数学运算时,如果两个数组的shape属性不一致,那么小的数组就会沿着大的数组“广播”开来,这样一来,两个原本大小不一的数组就可以进行数学运算了。广播是一个不错的偷懒办法,但是效率不高降低运算速度通常也为人诟病。
上面这张图片解释得非常形象,这里用文字概括两条规则:
- 广播之后,输出数组的shape是输入数组shape的各个轴上的最大值,然后沿着较大shape属性的方向复制延伸;
- 要进行广播机制,要么两个数组的shape属性一样,要么其中有一个数组的shape属性必须有一个等于1;