• Python支持库中(numpy和mxnet下的ndarray)数据广播处理,即形状不同的张量可进行元素数学运算,包括+、-、*、/。
  • 这种机制的工作方式如下:
    • 通过适当复制元素来扩展一个或两个数组,以便在转换之后,两个张量具有相同的形状;
    • 对生成的数组执行按元素操作。
  • 在大多数情况下,我们将沿着数组中长度为1的轴进行广播,如下例子:
a = torch.arange(3).reshape((3, 1))
b = torch.arange(2).reshape((1, 2))
a, b
  • 由于a和b分别是3×1和1×2矩阵,如果让它们相加,它们的形状不匹配。 我们将两个矩阵广播为一个更大的3×2矩阵,如下所示:矩阵a将复制列, 矩阵b将复制行,然后再按元素相加。