分裂矩阵乘法
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]
以下计算结果:
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]