【问题标题】:Numpy two matrices, pairwise dot product of rows [duplicate]Numpy两个矩阵,行的成对点积[重复]
【发布时间】:2017-05-10 09:49:20
【问题描述】:

我们目前正在开发一个 python 项目,由于性能限制,必须进行大量矢量化。我们最终得到以下计算:我们有两个形状为(20,6)的numpy数组,并且想要计算行的成对点积,即我们最后应该得到一个(20,1)矩阵,其中每一行是得到的标量通过各自的向量点乘法。

【问题讨论】:

  • 是的,您的问题是什么?您在尝试这样做时遇到了什么问题?

标签: python numpy vectorization dot-product


【解决方案1】:

您可以将两个数组元素相乘,然后按行求和,然后您就有一个数组,其中每个元素都是两个原始数组行的点积:

a = np.array([[1,2], [3,4]])
b = np.array([[3,4], [2,1]])

(a * b).sum(axis=1)
# array([11, 10])

【讨论】:

  • 成功了,谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
  • 2018-10-10
  • 1970-01-01
  • 2017-02-26
  • 2019-10-08
  • 2016-11-01
相关资源
最近更新 更多