新手入门:DGL在昇腾上的安装问题

举报
Splendid2025 发表于 2025/01/26 11:16:47 2025/01/26
【摘要】 首先需要确定下自己的硬件,在terminal中输入指令uname -a返回结果aarch64接着判断当前环境的python版本,在terminal中输入指令python --version返回结果Python 3.10.14可以判断需要安装aarch64的版本,如果使用whl包安装dgl,以该链接(data.dgl.ai/wheels/cu118/repo.html)为例,需要安装指定Pyt...
首先需要确定下自己的硬件,在terminal中输入指令
uname -a
返回结果
aarch64
接着判断当前环境的python版本,在terminal中输入指令
python --version
返回结果
Python 3.10.14
可以判断需要安装aarch64的版本,如果使用whl包安装dgl,以该链接(data.dgl.ai/wheels/cu118/repo.html)为例,需要安装指定Python3.10-aarch64版本的包

96caf5695ad0a428ec2274a0dea8022d.png

比较便捷的方式是直接通过pip来安装,指令如下
pip install dgl
注意安装完成后,terminal显示成功安装的dgl版本以及对应的配套安装的其他包的版本,信息如下
Successfully installed dgl-2.1.0 sympy-1.13.1 torch-2.5.1 torchdata-0.10.1
接下来先简单导入下dgl看是否安装成功,终端执行指令如下
python -c "import dgl"
发现报错信息如下

v2-2e7b750986839a973ee17ab81746ece5_720w.png


按住Ctrl健点击traceback信息,可以检查安装路径下的python文件,经检查发现,pip install自动安装的配套torchdata的版本为0.10.1,但是该版本做了改动,已经没有了datapipes属性,由此可以推断需要改动torchdata的版本。经尝试,当dgl版本为2.1时,对应的0.7.1版本的torchdata满足要求,终端执行指令如下
pip install torchdata==0.7.1
安装成功后,再次尝试导入dgl
python -c "import dgl"
新的报错信息如下

v2-c4a27a2c9d44500856f1f4abfcb26a0f_720w.png


按照指示安装缺失的包
pip install pydantic
安装成功后,再次尝试导入dgl
python -c "import dgl"
根据如下报错信息,推断在NPU芯片上,torch2.5.1与dgl2.1版本无法正常导入,并且注意的是,因为是在昇腾上运行,所以在安装torch时需要考虑到能否充分调动NPU算力,因此应当优先考虑torch_npu组件能覆盖的torch版本 pytorch: Ascend Extension for PyTorch (gitee.com)

v2-15246c0c61f3637710ca08bcb951a7db_720w.png


接下来重新装torch,需要先确定CANN版本(在笔者机器上装的是CANN 8.0.RC2),并根据对照关系安装

v2-81b16af0aa6e014365c737af8e80d75a_720w.png


由此可知,应安装pytorch与torch_npu组件的版本与指令如下
pip3 install torch==2.1.0 
pip3 install torch-npu==2.1.0.post6
安装成功后,再次尝试导入dgl,发现能成功导入

v2-8324ce16cdbcc8907a3c7a86f69f82ae_720w.png


接下来,基于导入的dgl包进行一个简单的模型训练验证,将在下文中记载。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。