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

首先需要确定下自己的硬件,在 terminal 中输入指令
返回结果
aarch64
接着判断当前环境的 python 版本,在 terminal 中输入指令
返回结果
Python 3.10.14
可以判断需要安装 aarch64 的版本,如果使用 whl 包安装 dgl,以该链接(data.dgl.ai/wheels/cu118/repo.html)为例,需要安装指定 Python3.10-aarch64 版本的包

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

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

按照指示安装缺失的包
安装成功后,再次尝试导入 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 组件的版本与指令如下
安装成功后,再次尝试导入 dgl,发现能成功导入

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