pytorch-了解图卷积的Einsum用法
发布时间:2022-05-24 21:55:09 285
相关标签: # 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 的表达式。任何见解表示赞赏。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报