SVDPE
- class dgl.transforms.SVDPE(k, feat_name='svd_pe', padding=False, random_flip=True)[source]
Bases:
BaseTransform
基于SVD的位置编码,如用全局自注意力替代图卷积中介绍
此函数计算最大的\(k\)奇异值及相应的左右奇异向量,以形成位置编码,这些编码可以存储在ndata中。
- Parameters:
示例
>>> import dgl >>> from dgl import SVDPE
>>> transform = SVDPE(k=2, feat_name="svd_pe") >>> g = dgl.graph(([0,1,2,3,4,2,3,1,4,0], [2,3,1,4,0,0,1,2,3,4])) >>> g_ = transform(g) >>> print(g_.ndata['svd_pe']) 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]])