返回

pytorch-了解图卷积的Einsum用法

发布时间:2022-05-24 21:55:09 293
# git# github

我正在这里阅读时空图卷积运算的代码:https://github.com/yysijie/st-gcn/blob/master/net/utils/tgcn.py我很难理解einsum操作的情况。尤其是

对于x形状张量(N, kernel_size, kc//kernel_size, t, v),其中kernel\u大小通常为3,假设kc=64*kernel_size,t是帧数,例如64,和v顶点数,例如25。N是批次大小。

现在是张量A对于形状(3、25、25),其中每个维度都是图顶点上的过滤操作,einsum计算为:

x = torch.einsum('nkctv,kvw->nctw', (x, A)) 

我不确定如何解释这个表达式。我认为它的意思是,对于每个批处理元素,对于 64 个通道中的每个通道c_i,将通过该通道的 (64, 25) 特征图的矩阵乘法获得的三个矩阵中的每一个与 的值相加A[i]。我有这个正确的吗?kc这个表达式有点拗口,在符号方面,作为一个变量名似乎有点奇怪,但随后分解k为内核大小和c通道数 (192//3 = 64) einsum 的表达式。任何见解表示赞赏。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像