numpy-einsum相关内容

了解 NumPy 的 einsum

我很难准确理解 einsum 有效.我查看了文档和一些示例,但似乎并没有坚持下去. 这是我们在课堂上学习的一个例子: C = np.einsum("ij,jk->ki", A, B) 对于两个数组:A 和 B. 我认为这需要 A^T * B,但我不确定(它是对其中一个进行转置吗?).谁能告诉我这里发生了什么(以及一般使用 einsum 时)? 解决方案 (注意:这个答案是基 ..
发布时间:2022-01-31 08:41:24 Python

朱莉娅的numpy.einsum?(2)

来自这个问题,我想知道是否有可能更广义的einsum.让我们假设,我有问题 使用 PyCall@pyimport numpy 作为 npa = 兰德(10,10,10)b = 兰特(10,10)c = 兰特(10,10,10)Q = np.einsum("imk,ml,lkj->ij", a,b,c) 或者类似的东西,我如何在不循环求和的情况下解决这个问题? 致以最诚挚的问候 解决 ..
发布时间:2022-01-23 20:00:23 Python

张量流 einsum 与 matmul 与 tensordot

在 tensorflow 中,tf.einsum、tf.matmul 和 tf.tensordot 函数都可以用于相同的任务.(我意识到 tf.einsum 和 tf.tensordot 有更一般的定义;我也意识到 tf.matmul 具有批处理功能.)在在可以使用这三个中的任何一个的情况下,一个函数是否往往是最快的?还有其他推荐规则吗? 例如,假设 A 是一个 rank-2 张量,而 b ..
发布时间:2021-12-09 22:41:09 Python

使用 Numpy 进行外减法

我只想做:C_i=\Sum_k (A_i -B_k)^2我发现使用简单的 for 循环 比使用 numpy.subtract.outer 计算更快!无论如何,我觉得 numpy.einsum 将是最快的.我不能很好地理解 numpy.einsum.任何人都可以帮我吗?此外,如果有人解释如何使用 numpy.einsum 编写由向量/矩阵组成的通用求和表达式,那就太好了? 我没有在网上找到这个 ..
发布时间:2021-11-18 04:42:34 Python

理解 NumPy 的 einsum

我正在努力理解 einsum 有效.我查看了文档和一些示例,但似乎并没有坚持. 这是我们在课堂上看过的一个例子: C = np.einsum("ij,jk->ki", A, B) 对于两个数组:A 和 B. 我认为这需要 A^T * B,但我不确定(这是对其中一个进行转置,对吗?).任何人都可以带我了解这里发生的事情(通常在使用 einsum 时)? 解决方案 (注意:此答 ..
发布时间:2021-11-18 01:02:10 Python

tensorflow einsum vs. matmul vs. tensordot

在 tensorflow 中,tf.einsum、tf.matmul 和 tf.tensordot 函数都可以用于相同的任务.(我意识到 tf.einsum 和 tf.tensordot 有更一般的定义;我也意识到 tf.matmul 具有批处理功能.)在在可以使用这三个中的任何一个的情况下,一个函数是否往往是最快的?还有其他推荐规则吗? 例如,假设 A 是一个 rank-2 张量,而 b ..
发布时间:2021-09-05 18:44:42 Python

理解 PyTorch einsum

我熟悉 einsum 适用于 NumPy.PyTorch 也提供了类似的功能:torch.einsum().在功能或性能方面有何异同?PyTorch 文档中提供的信息相当少,并且没有提供任何关于此的见解. 解决方案 由于在 Torch 文档中对 einsum 的描述比较少,我决定写这篇文章来记录、比较和对比 torch.einsum() 与 numpy.einsum(). 区别: ..
发布时间:2021-06-10 19:39:06 Python

用Numpy进行外部减法

我只想这样做:C_i = \ Sum_k(A_i -B_k)^ 2我看到,使用简单的 for循环比使用 numpy.subtract.outer 的计算速度更快!无论如何,我觉得 numpy.einsum 最快.我不太了解 numpy.einsum .有人可以帮我吗?另外,如果有人解释如何用 numpy.einsum 编写由向量/矩阵组成的一般求和表达式,那将是很好的? 我没有在网上找到针对 ..
发布时间:2021-04-09 19:46:04 Python

生成np.einsum评估图

我正计划向同事讲授np.einsum,希望展示如何将其简化为乘法和求和. 因此,我考虑使用字母字符代替数字数据.在数组中. 说,我们将A(2X2)设置为[['a','b'],['c','d']],将B(2X1)设置为[['e'],['f' ]] 我们可以使用einsum来创建矩阵C,例如:np.einsum('ab , bc -> ac', A, B). 我想看到的是:它返回计算图:诸 ..
发布时间:2020-05-18 23:14:19 Python

交叉产品与einsums

我正在尝试尽可能快地计算许多3x1向量对的叉积.这个 n = 10000 a = np.random.rand(n, 3) b = np.random.rand(n, 3) numpy.cross(a, b) 给出了正确的答案,但是出于对类似问题的回答,我认为einsum会得到我在某个地方.我发现两者都 eijk = np.zeros((3, 3, 3)) eijk[0, 1, 2 ..
发布时间:2020-05-18 23:11:47 Python

批量卷积2d在numpy中没有秘诀?

我有一批b m x n图像存储在数组x中,还有一个大小为p x q的卷积滤波器f,我想将其应用于每个图像(然后使用求和池并批量存储在数组y中,即all(np.allclose(y[i][j][k], (x[i, j:j+p, k:k+q] * f).sum()) for i in range(b) for j in range(m-p+1) for k in range(n-q+1))为true. ..
发布时间:2020-05-18 21:53:25 Python

Python张量积

我有以下问题.出于性能原因,我使用numpy.tensordot,因此将我的值存储在张量和向量中. 我的计算之一如下: 是w_j的期望值,是sigma_i的期望值. (也许我现在应该称它为sigma,因为它与标准偏差无关)现在,为了进行进一步的计算,我还需要方差.为了获得差异,我需要计算: 现在,当我使用numpy.tensordot在python中实现第一 ..
发布时间:2020-05-18 21:44:17 Python

我可以在numpy.einsum中使用超过26个字母吗?

我正在使用np.einsum来乘法概率表,例如: np.einsum('ijk,jklm->ijklm', A, B) 问题在于,我总共要处理26个以上的随机变量(轴),因此,如果给每个随机变量分配一个字母,我将用完所有字母.我是否可以通过另一种方式指定上述操作来避免此问题,而不必弄乱np.sum和np.dot操作? 解决方案 最简单的答案是,您可以使用52个字母中的任何一个(大 ..
发布时间:2020-05-18 21:21:14 Python

如何计算numpy中的所有向量差对?

我知道我可以做np.subtract.outer(x, x).如果x具有形状(n,),那么我最终得到形状为(n, n)的数组.但是,我有一个形状为(n, 3)的x.我想输出形状为(n, n, 3)的东西.我该怎么做呢?也许np.einsum? 解决方案 您可以使用x[:, np.newaxis, :] - x 样品运行- In [6]: x Out[6]: array([[6 ..
发布时间:2020-05-18 20:05:10 Python

numpy.einsum中的省略号广播

我在理解以下原因为何时遇到问题: 我有一个数组 prefactor ,它可以是三维或六维的. 我有一个具有四个维度的数组偶极子. 偶极子的前三个维度与 prefactor 的后三个维度匹配. 由于我不知道 prefactor 的形状,因此我使用省略号来说明 prefactor 中的三个可选尺寸: numpy.einsum('...lmn,lmno->...o', prefacto ..
发布时间:2020-05-18 19:33:27 Python

了解NumPy的einsum

我正在努力确切地了解einsum的工作方式.我看了一下文档和一些示例,但看起来似乎不合时宜. 这是我们在课堂上看过的一个例子: C = np.einsum("ij,jk->ki", A, B) 用于两个数组A和B 我认为这会花费A^T * B,但是我不确定(它正在对其中之一进行转置吗?).谁能告诉我这里到底发生了什么(以及通常使用einsum时)? 解决方案 (注意: ..
发布时间:2020-05-13 02:28:43 Python