作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个张量,每个都是二维的,有一个共同的长轴(例如 20.000)和不同的短轴,例如一个 9 另一个 10)。我想得到一个 9X10X20000 张量,这样对于长轴上的每个位置,其他两个轴都是张量积。明确地说,对于这里的“长”轴 4,我想做的是:
A = np.arange(8).reshape(2,4)
B = np.arange(12).reshape(3,4)
C = np.zeros(2,3,4)
for i in range(2):
for j in range(3):
for k in range(4):
C[i,j,k] = A[i,k]*B[j,k]
此代码有效,但我想知道:是否有一种 numpy 方法可以做到这一点,而无需运行 for 循环?
上下文用于训练神经网络,长轴是训练示例。在计算成本函数的梯度时,我得到了这种形式的公式。干杯,狮子座
最佳答案
我倾向于使用 np.einsum
对于这些问题,这使得根据索引指定应该发生什么变得容易:
>>> A = np.arange(8).reshape(2,4)
>>> B = np.arange(12).reshape(3,4)
>>> np.einsum('ik,jk->ijk', A, B)
array([[[ 0, 1, 4, 9],
[ 0, 5, 12, 21],
[ 0, 9, 20, 33]],
[[ 0, 5, 12, 21],
[16, 25, 36, 49],
[32, 45, 60, 77]]])
关于python - 在不执行求和的情况下在 python numpy 中获取张量积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25574976/
我有以下问题。出于性能原因,我使用 numpy.tensordot并因此将我的值存储在张量和向量中。我的一个计算如下所示: 是 w_j 的期望值和 sigma_i 的期望值. (也许我现在应该称其为
给定 p矢量 x1,x2,...,xp每个维度d ,计算它们的张量/外/Kruskal 乘积的最佳方法是什么(p -array X 与条目 X[i1,i2,..ip] = x1[i1]x2[i2]..
我是一名优秀的程序员,十分优秀!