侧边栏壁纸
  • 累计撰写 47 篇文章
  • 累计创建 22 个标签
  • 累计收到 27 条评论

目 录CONTENT

文章目录

pyg运行HANConv、HGTConv等数据集设置方式

vchopin
2022-08-09 / 0 评论 / 0 点赞 / 454 阅读 / 922 字

pyg运行HANConv、HGTConv等数据集设置方式

1.简介

无论是pyg还是dgl,在利用其中HANConv和HGTConv等异质图模型时,数据集通常要比同质图或者是比较少类型的异质图更为复杂,要设置多个node的类型,多个edge的类型。鉴于pyg的文档比较少,官网也并没有给出自定义数据集实例,本文给出设置方法。

2.代码

  1. 设置metadata
    metadata就是定义图的node和图的edge,我这里只有user类型,但是user有following和followeer的关系,所以我是这么设置的。
metadata = (
    ['user'],
    [
        ('user','following','user'),
        ('user','follower','user')
    ]
)
  1. 设置x_dict
    x_dict其实就是多个节点的自身节点特征,所以只要获得了节点的自身节点特征,在为多个节点类型定义字典就行了,参考如下:
x_dict = {'user': x} #这里的x是我提取到的节点自身特征
  1. 设置edge_dict
    与上面x_dict类似,edge_dict就是不同的边的edge_index,也就是边的一个映射,通过index进行mapping,是一个[2,xxx]的shape的Tensor,字典就是对不同类型的边进行定义,代码如下:
edge_index_dict = {
    ('user','following','user'):following_edge_index, #这是我获取到的具有following 关系的边类型
    ('user','follower','user'):follower_edge_index#这是我获取到的具有follower 关系的边类型
}
  1. 设置edge_attr
    还没碰到,应该是设置权重相关系数。

参考

  1. 【PYG】常用和采坑总结 https://blog.csdn.net/lj2048/article/details/122588028
0

评论区