分裂矩阵乘法

Splitting matrix multiplication

以下计算结果:

weights = np.array([[1,2] , [3,4]])
X = np.array([[1,1,1] , [2,2,2]])
p(weights)
p(X)
np.dot(weights , X)

是:

[[1 2]
 [3 4]]
[[1 1 1]
 [2 2 2]]
Out[215]:
array([[ 5,  5,  5],
       [11, 11, 11]])

如何单独计算向量值 [ 5, 5, 5][11, 11, 11] 而不是在一个矩阵点积内计算?

我不确定这是否可行。我试过只访问单个 X 值,但 returns 错误:

weights = np.array([[1,2] , [3,4]])
X = np.array([[1,1,1] , [2,2,2]])
p(weights)
p(X)
np.dot(weights , X[0])

[[1 2]
 [3 4]]
[[1 1 1]
 [2 2 2]]
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-216-e2b82527526d> in <module>()
      3 p(weights)
      4 p(X)
----> 5 np.dot(weights , X[0])

ValueError: shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)

更新:

我正在尝试计算 [ 5, 5, 5][11, 11, 11] 但不是两者,这可能吗?

更新 2:

是否可以通过修改 X 值并保持权重不变来实现?

这是您要找的吗:

import numpy as np

weights = np.array([[1,2] , [3,4]])
X = np.array([[1,1,1] , [2,2,2]])
for row_vec in weights:
    print(np.dot(row_vec , X))

打印:

[5 5 5]
[11 11 11]

编辑

"I'm attempting to compute [ 5, 5, 5] or [11, 11, 11] but not both, is this possible ?"

如果您只想计算其中的 任何 ,只需进行切片即可:

例如:

print(np.dot(weights[0] , X))  # -> [5 5 5]

print(np.dot(weights[1] , X))  # -> [11 11 11]