对于结果矩阵中的每个位置,我不想将相应行和列的点积存储在参数矩阵中,而是存储元素明智乘积,这将是一个扩展到第三维的向量。
一个想法是将参数矩阵转换为带有向量条目的向量,然后取它们的外积,但我也不知道该怎么做。
编辑:
在看到回复之前,我想通了。这是我的解决方案:
def newdot(A, B):
A = A.reshape((1,) + A.shape)
B = B.reshape((1,) + B.shape)
A = A.transpose(2, 1, 0)
B = B.transpose(1, 0, 2)
return A * B
我正在做的是将要获取其外部产品的每一行和列对分开,并形成它们的两个列表,然后将它们的内容矩阵并行相乘。