相关疑难解决方法(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万
查看次数

如何在 numpy 中执行堆叠/逐元素矩阵向量乘法?

假设我们有一堆 3 x 3 矩阵以及一堆 3 维向量:

N = 100
matrices = np.random.rand(N, 3, 3) # shape: (100, 3, 3)
vectors = np.random.rand(N, 3)     # shape: (100, 3)
Run Code Online (Sandbox Code Playgroud)

如何执行“逐元素”矩阵/向量乘法,以便eg是与 的result[0]矩阵/向量乘法产生的3维向量。matrices[0]vector[0]

由于形状不匹配,使用np.dotnp.matmul、 或直接失败。np.prod是否有广播技巧可以实现此目的?

python numpy

5
推荐指数
1
解决办法
1922
查看次数