典型的NumPy操作一般会要求数据的维度是相同的,例如
import numpy as np
a = np.array([50, 20, 1, 15])
b = np.array([10, 20,...10, 20])
print(np.shape(a), "\n", np.shape(a))
(4,)
(4,)
它们都是水平形状的一维数组。...我们可以对他们进行常规的数学操作,因为它们是相同的形状:
print(a * b)
[500 400 10 300]
如果要使用另一个具有不同形状的数组来尝试上一个示例,就会得到维度不匹配的错误...广播通过扩充较小数组中的元素来适配较大数组的形状,它的本制是就是张量自动扩展,也就是说根据规则来进行的张量复制。...,只要维度尾部是相等的,广播就会自动进行
能否广播必须从axis的最大值向最小值看去,依次对比两个要进行运算的数组的axis的数据宽度是否相等,如果在某一个axis下,一个数据宽度为1,另一个数据宽度不为