从0到1实现GCN——最详细的代码实现

最近论文中需要使用图卷积神经网络(GNN),看了一些关于GCN的代码,还有基于PyTorch Geometric Temporal的代码实现,在这里做一下记录。

GCN原始代码

关于GCN的原理在这里不进行过多阐述,其他文章里面解释的已经很详细了,这里就直接进入到代码的部分。GCN的公式如下:

G C N(A, X)=\sigma\left(\widehat{D}^{-\frac{1}{2}} \hat{A} \widehat{D}^{-\frac{1}{2}} X W\right)

其中A为邻接矩阵;X为t时刻输入的节点的特征矩阵;\widehat{D}^{-\frac{1}{2}} \hat{A} \widehat{D}^{-\frac{1}{2}}是近似的图卷积滤波器,其中\hat{A}=A+I_{N}(I_{N}是N维的单位矩阵);\hat{D}是度矩阵W代表需要神经网络训练的权重矩阵;\sigma \left ( \cdot \right )是激活函数Relu。

根据公式逐步实现GCN的代码如下:

def get_gcn_fact(adj):
    '''
    Function to
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值