构建标准化邻接矩阵的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)
还没有任何评论哟~
