解决DGL库AttributeError deferred_dtype 错误

阅读

DGL 库升级到最新版本0.9.0+的测试版之后,运行老版本的代码会遇到错误

AttributeError: 'Column' object has no attribute deferred_dtype

在官方GitHub页面可以看到相关的讨论:GitHub issue 4107

个人推测是因为DGL版本升级对底层代码进行了重构,我的代码中,使用老版本的DGL构建了图实例,并且使用dill持久化为二进制文件,在新环境加载这个代码的时候,就会遇到一些新添加进去的属性没有的情况,也就是AttributeError

解决方法:回滚到老版本

1
2
3
4
5
6
# if you use cuda 11.03 
pip uninstall dgl-cu113
pip install dgl-cu113==0.8.1 dglgo -f https://data.dgl.ai/wheels/repo.html
# if you use cuda 10.2
pip uninstall dgl-cu102
pip install dgl-cu102==0.8.1 dglgo -f https://data.dgl.ai/wheels/repo.html
使用 Hugo 构建
主题 StackJimmy 设计