gpt4 book ai didi

python - 如何使用 numpy 获得两个矩阵的点积?

转载 作者:行者123 更新时间:2023-12-01 09:29:22 25 4
gpt4 key购买 nike

我试图使用numpy获取向量和矩阵的点积,但出现以下异常:ValueError:形状(2,1)和(2,2)未对齐:1(暗淡1)!= 2(暗淡0)

本质上我只想将 2x1 矩阵(2 行向量)与 2x2 矩阵相乘,但 numpy 似乎不支持这一点。我已经尝试用 1x2 矩阵做同样的事情,并且有效,但没有给我我正在寻找的结果。

我使用的代码是:

inputs = np.matrix([[1], [0]])
weights = np.matrix([[1, 2], [3, 4]])
print(np.add(np.dot(inputs, weights), 0))

#desired result = array([1, 3])

所以我的问题是:如何使用 numpy 执行我想要的操作?

编辑

这就是发生的事情:

>>> import numpy as np
>>> a = np.matrix([[1], [0]])
>>> b = np.matrix([[1, 2], [3, 4]])
>>> a * b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-
packages/numpy/matrixlib/defmatrix.py", line 309, in __mul__
return N.dot(self, asmatrix(other))
ValueError: shapes (2,1) and (2,2) not aligned: 1 (dim 1) != 2 (dim 0)

最佳答案

点积适用于相同大小的向量。您可以在 numpy 中将矩阵相乘。如果您需要不同的解决方案 - 请将您的代码包含在问题和期望的结果中。

a = np.array([2,3])
b = np.array([[4,5],[6,7]])

>>> a * b
array([[ 8, 15],
[12, 21]])

根据更新的问题进行更新:

inputs = np.matrix([[1], [0]])
weights = np.matrix([[1, 2], [3, 4]])
>>> weights * inputs
matrix([[1],
[3]])

关于python - 如何使用 numpy 获得两个矩阵的点积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50096229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com