【踩坑】修复高版本dgl中distributed.load_partition不返回orig_id问题
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]
如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~
背景说明
在老版本的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行,注释以下两行内容:
3、这时候,重新执行partition_graph,再在load_partition时候,就会返回g.ndata['orig_id']了,与旧版本用法无异。