如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~

背景说明

        在老版本的DGL中,比如0.9,如果在dgl.distributed.partition_graph时候设置了return_mapping=True,那么在dgl.distributed.load_partition时,g.ndata['orig_id']就是会存在的。但在新版本的DGL中,比如2.2,不管是否设置了return_mapping,load_partition均不会返回orig_id。

        现在需要这个orig_id怎么办呢?其实非常简单。

修复方法

1、找到你当前python环境下的dgl包,比如:

/anaconda3/envs/dglv2/lib/python3.9/site-packages/dgl/distributed/partition.py

2、大概在1201行,注释以下两行内容:

【踩坑】修复高版本dgl中distributed.load_partition不返回orig_id问题_GNN

3、这时候,重新执行partition_graph,再在load_partition时候,就会返回g.ndata['orig_id']了,与旧版本用法无异。

【踩坑】修复高版本dgl中distributed.load_partition不返回orig_id问题_图神经网络_02