相关疑难解决方法(0)

了解NumPy的einsum

我很难理解究竟是如何einsum运作的.我看过文档和一些例子,但它似乎并不坚持.

这是我们在课堂上看到的一个例子:

C = np.einsum("ij,jk->ki", A, B)
Run Code Online (Sandbox Code Playgroud)

对于两个数组AB

我想这会采取A^T * B,但我不确定(它正在将其中一个的转置正确吗?).任何人都可以告诉我这里发生了什么(通常在使用时einsum)?

python arrays numpy multidimensional-array numpy-einsum

160
推荐指数
6
解决办法
4万
查看次数

用Scipy计算行方式点积两个矩阵的矢量化方式

我想尽可能快地计算相同维度的两个矩阵的行方点积.这就是我这样做的方式:

import numpy as np
a = np.array([[1,2,3], [3,4,5]])
b = np.array([[1,2,3], [1,2,3]])
result = np.array([])
for row1, row2 in a, b:
    result = np.append(result, np.dot(row1, row2))
print result
Run Code Online (Sandbox Code Playgroud)

当然输出是:

[ 26.  14.]
Run Code Online (Sandbox Code Playgroud)

numpy vectorization scipy matrix-multiplication dot-product

32
推荐指数
4
解决办法
3万
查看次数