1

我是新手Einsum并且想要一个特殊情况 -einsum用于将矩阵的所有元素相互相乘;说给定一个2D矩阵:-

np.random.rand((16,2))

跨轴乘以元素获得(16,)然后再次将它们相乘以获得(1,)标量。这类似于:-

[[1, 2],  ==> [2, 12] ==> 24
 [3, 4]]

我尝试使用类似的东西: -

...("ij->")

但这绝对不是我想要的,因为它不是乘法

我们怎么能用 编写这么简单的操作einsum呢?einsum 不能处理每一个操作,而是针对一些困难情况进行优化吗?

4

1 回答 1

1
einops.reduce(x, 'i j -> i', 'prod')

应该为您解决问题。

正如@neel-g 指出的那样,根据定义, einsum 是乘积之和。

于 2022-01-03T00:27:45.193 回答