Sle*_*eik 0 python numpy vectorization dot-product
我们目前正在开发一个 python 项目,由于性能限制,必须进行大量矢量化。我们最终进行了以下计算:我们有两个形状为 numpy 的数组,(20,6)并且想要计算行的成对点积,即我们最终应该获得一个(20,1)矩阵,其中每一行都是通过相应的向量点乘获得的标量.
您可以将两个数组元素相乘,然后按行求和,然后您有一个数组,其中每个元素都是两个原始数组行的点积:
a = np.array([[1,2], [3,4]])
b = np.array([[3,4], [2,1]])
(a * b).sum(axis=1)
# array([11, 10])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6360 次 |
| 最近记录: |