由于服务器重装了系统,因此cuda版本和ubuntu系统版本也换了,不得不重装系统,导致以前可以正常运行的代码出了各种故障(注:现在的ubuntu版本是18.04,cuda版本是11.3)
AttributeError: Can't get attribute 'DGLGraph' on <module 'dgl.heterograph' from '/home/user/anaconda3/envs/mymodel/lib/python3.7/site-packages/dgl/heterograph.py'>
1️⃣在网上查询了一下原因,因为我的dgl图是预先保存在pkl文件里的,而pkl文件是重装系统之前用之前的dgl生成的,现在的dgl版本和之前的不一致,导致了这种错误,但是我忘记我之前装的是什么版本了,试了很多版本都还是出这个错误,遂放弃。。。
这里附上dgl各种历史版本的链接,因为目前dgl官网已经更新到11.6cuda版本了,我曾经试着装过11.6cuda版本的dgl,代码是可以跑得起来的,但是效果奇差,当时吓死我了,差点以为重装了个系统模型就从此废了。。。。。:
https://conda.anaconda.org/dglteam/linux-64
https://pypi.tuna.tsinghua.edu.cn/simple/
pip install dgl-cu111 -f https://data.dgl.ai/wheels/repo.html(这是直接用pip安装,前面两个是先下载wheel再安装)
2️⃣我根据github上给出的解决方法尝试了用新安装的dgl包重新生成了pkl文件,但还是报一样的错误,遂放弃。。。
3️⃣尝试用dgl的save_graphs,load_graphs方法将dgl图写入bin文件中,这一次成功了,而且运行速度比之前快了很多!!!还是官方给的函数靠谱
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?