首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有ten2_Ckr的张量压缩ten1_Air

带有ten2_Ckr的张量压缩ten1_Air
EN

Stack Overflow用户
提问于 2019-08-13 02:46:53
回答 1查看 14关注 0票数 0

我正在尝试用ten2_Ckr收缩这样的张量ten1_Air,其中i= k,以获得张量test_ACi

我认为在i= k的情况下,正确的einsum应该是:

代码语言:javascript
复制
test_ACi = np.einsum('Air,Cir->ACi',ten1_Air,ten2_Ckr)

然而,看起来正确的形式是:

代码语言:javascript
复制
test_ACi = np.einsum('Air,Ckr->ACi',ten1_Air,ten2_Ckr)

这些缩写中哪一个是正确的?为什么?如有任何解释,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-13 03:01:25

在……里面

代码语言:javascript
复制
'Air,Cir->ACi'

i维度实质上是经过的--尽管移动到了末尾。r维度是被求和的维度(如矩阵乘积)。在传统的dot格式中,这将是

代码语言:javascript
复制
loop on i:
    dot(Ar, rC)

使用

代码语言:javascript
复制
'Air,Ckr->ACi'

A、C、r的行为相同。i通过。“k”是求和的,如在ten2_Ckr.sum(axis=1)中。

基本规则是对出现在左侧但不出现在右侧的尺寸进行求和。求和是不同的,这取决于它们出现在左侧中的一个或两个中的哪个位置。其他维度通过,一些表现得更像一个“批次”维度,另一些则像一个“外部”维度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57466647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档