【dgl框架】dgl.metapath_reachable_graph函数解析

本文介绍了DGL库中用于处理异构图神经网络的metapath_reachable_graph函数。该函数根据指定的元路径,构建一个新图,其中每个节点的邻居是可以通过元路径可达的节点。例如,给定元路径['AB', 'BA'],从A集合出发,新图表示了所有A节点通过AB和BA边可以到达的A节点。新图的边关系可以通过例子中的g.edges(order='eid')进行验证,展示了元路径在图结构中的应用。

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

1 函数解析

  如果用dgl学习异构图神经网络,就会遇到这个函数。这个函数的作用就是返回异构图中指定元路径(meta path)的metagraph。
看官方API的解释:

Return a graph where the successors of any node u are nodes reachable from u by the given metapath.

  意思是:返回一个图,其中任何节点u的后续节点都是可以通过给定元路径从u访问的节点。

1.1 举个例子

  这里指定的元路径为[‘AB’, ‘BA’],经过dgl.metapath_reachable_graph函数返回的结果的含义就是:A集合中的节点经过元路径访问到的A集合节点,所构成的图(这个图是个方阵)。也可以理解为:A->B->A。

g = dgl.heterograph({
    ('A', 'AB', 'B'): ([0, 1, 2], [1, 2, 3]),
    ('B', 'BA', 'A'): ([1, 2, 3], [0, 1, 2])})
new_g = dgl.metapath_reachable_graph(g, ['AB', 'BA'])
new_g.edges(order='eid')
(tensor([0, 1, 2]), tensor([0, 1, 2]))

2 参考文献

[1]dgl.metapath_reachable_graph

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值