使用两个 2D 数组进行阵列广播 (Python)



我有以下两个数组:

形状为 DxN的 A -

B - 形状为 NxD

我正在尝试采用 A 和 B 的元素乘法,并最终使用数组广播生成一个NxDxD数组。

我对如何开始有点迷茫。我尝试了一些方法,但我的尝试都没有取得任何进展。也许这样的事情是不可能的?

对于某些上下文,我对Python相对较新,并且正在尝试编写自己的ML algorithm实现。我目前的方法涉及进行此计算。

如果你正在使用numpy,你所要做的就是:

result = numpy.dot(A, B)

如果您收到错误,例如尺寸未对齐,则必须通过以下方式转换矩阵:

result = numpy.dot(A, B.T)

这应该可以完成工作

import numpy as np
a = np.array([[2, 3],
[4, 3],
[2, 4]])
b = np.array([[2, 3, 4],
[3, 4, 5]])
print(np.dot(a, b).shape)

返回 (3, 3(

最新更新