典型的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]
如果要使用另一个具有不同形状的数组来尝试上一个示例,就会得到维度不匹配的错误...广播通过扩充较小数组中的元素来适配较大数组的形状,它的本制是就是张量自动扩展,也就是说根据规则来进行的张量复制。...6, 7],
[ 9, 10]]])
那么这个广播是怎么计算来的呢?