dgl.svd_pe
- dgl.svd_pe(g, k, padding=False, random_flip=True)[source]
基于 SVD 的位置编码,如 Global Self-Attention as a Replacement for Graph Convolution 中介绍的
此函数计算最大的 \(k\) 个奇异值以及相应的左奇异向量和右奇异向量,以形成位置编码。
- 参数:
- 返回值:
返回形状为 \((N, 2k)\) 的基于 SVD 的位置编码。
- 返回类型:
Tensor
示例
>>> import dgl
>>> g = dgl.graph(([0,1,2,3,4,2,3,1,4,0], [2,3,1,4,0,0,1,2,3,4])) >>> dgl.svd_pe(g, k=2, padding=False, random_flip=True) tensor([[-6.3246e-01, -1.1373e-07, -6.3246e-01, 0.0000e+00], [-6.3246e-01, 7.6512e-01, -6.3246e-01, -7.6512e-01], [ 6.3246e-01, 4.7287e-01, 6.3246e-01, -4.7287e-01], [-6.3246e-01, -7.6512e-01, -6.3246e-01, 7.6512e-01], [ 6.3246e-01, -4.7287e-01, 6.3246e-01, 4.7287e-01]])