dgl-03 graphsage

本文介绍了GraphSAGE模型,一种用于inductive学习的图神经网络方法,它通过采样邻居节点进行特征聚合来预测节点标签。文中详细讲解了数据格式、模型结构、输入输出及实验结果,展示了DGL库在实现GraphSAGE过程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


graphsage

  1. 对某个节点的邻居进行采样聚合,作为该节点的特征,来预测label
  2. 是 inductive 学习,不需要学习整个graph,学习聚合方式
    在这里插入图片描述
  3. 学习公式如下,比较简单明了,如果边有权重,每个h聚合时可以乘以权重

代码实现

官方代码

  • dgl代码写得非常好了,基本很容易理解, 主要在数据采样和模型输入输出做个记录

数据格式

# 1. 一般训练gnn,需要构建以下5个数据:
1. graph: 根据边构建的dgl graph
2. labels: 每个节点对应的label
3. train_idx: 训练数据对应的节点index
4. valid_idx: 验证数据对应的节点index
5. node_feat: 每个节点对应的特征向量

# 2. 用dgl的 sampler 和 dataloader, 实现节点采样
fanouts = [20, 20]  # 每层每个节点采样数量
train_sampler = MultiLayerNeighborSampler(fanouts)
train_dataloader = NodeDataLoader(graph,
                                  train_idx,
                                  train_sampler,
                                  device=device,
                                  use_ddp=False,
                                  batch_size=batch_size,
                                  shuffle=True,
                                  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值