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

首先需要确定下自己的硬件,在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版本的包


比较便捷的方式是直接通过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"

发现报错信息如下

import dgl时报错


按住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"

新的报错信息如下


按照指示安装缺失的包

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)


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


由此可知,应安装pytorch与torch_npu组件的版本与指令如下

pip3 install torch==2.1.0

pip3 install torch-npu==2.1.0.post6

安装成功后,再次尝试导入dgl,发现能成功导入

导入dgl包成功


接下来,基于导入的dgl包进行一个简单的模型训练验证,将在下文中记载。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容