将3D矩阵与2D矩阵相乘

时间:2016-08-05 09:14:25

标签: python numpy matrix matrix-multiplication

我有两个矩阵可以相乘。一个是重量矩阵-W,其尺寸 900x2x2 。 另一个是输入矩阵-I,其大小 2x2 。 现在我想对browser.getTitle().then(function(title){ title.should.equal('Platform Configurator'); } 进行求和,这将是 900x1 矩阵, 但当我执行操作时它会相乘并再次给我 900x2x2 矩阵。

问题2)(相关)所以我把它们都制作成二维并乘以c = WI,但这给我一个错误说

900x4 * 4x1

1 个答案:

答案 0 :(得分:2)

看起来你试图通过矩阵乘法将第一个阵列的最后两个轴丢失到第二个权重数组的仅两个轴上。我们可以使用np.tensordot将该想法转换为NumPy代码,并分别假设arr1arr2作为输入数组,如此 -

np.tensordot(arr1,arr2,axes=([1,2],[0,1]))

另一种更简单的方法是使用np.einsum加入NumPy代码,就像这样 -

np.einsum('ijk,jk',arr1,arr2)