Advertisement

构建标准化邻接矩阵的GCN

阅读量:

在图卷积网络(GCN)中,邻接矩阵是一个关键的组成部分,而对邻接矩阵进行标准化处理则是其中一项重要的操作步骤。本文将介绍两种构建标准化邻接矩阵的方法。

复制代码
 import torch

    
 import numpy as np
    
 impoer scipy.sparse as sp
    
  
    
 def normalize_adj(adj):
    
     adj = adj.to_dense().cpu().numpy()
    
     adj = sp.coo_matrix(adj)     #构建张量
    
     rowsum = np.array(adj.sum(1))#每行的数加在一起
    
     d_inv_sqrt = np.power(rowsum, -0.5).flatten()    #输出rowsum ** -1/2
    
     d_inv_sqrt[np.isinf(d_inv_sqrt)] = 0.            #溢出部分赋值为0
    
     d_mat_inv_sqrt = sp.diags(d_inv_sqrt)            #对角化
    
     adj = adj.dot(d_mat_inv_sqrt).transpose().dot(d_ma

全部评论 (0)

还没有任何评论哟~