从0开始配置mindtorch环境
本文的linux(昇腾)服务器是一个刚安装好Ubuntu20.04 LST的裸机,具体的信息如下:
- Distributor ID: Ubuntu
- Description: Ubuntu 20.04.5 LTS
- Release: 20.04
- Codename: focal
- NPU:910A
本文将会一步步展示如何完整配置一个完整的,可以运行mindtorch(0.3.0)的环境。
要安装的依赖
为了配置一个可以运行mindtorch的环境,需要安装以下的依赖:
- Miniconda:用于管理Python环境
- Python
- NPU固件与驱动
- Cann软件包:昇腾AI处理器配套软件包
- Mindspore
- Mindtorch
下面逐个来安装
参考链接:
安装依赖
准备
首先需要找到一个文件夹,用于放置安装包,本文选择在~/packages下放置安装包。
| 1 | cd ~/ | 
Miniconda
这里下载最新的Miniconda。
| 1 | 切换到你放置安装包的文件夹中 | 
然后按照安装脚本里的提示安装即可。一直回车,直至让选择yes/no(是否安装),选择yes,再次回车,第二次让选择yes/no(决定是否在启动时进入base环境),选择yes,至此Miniconda安装完毕。
Python
重新打开一个终端窗口,确定能在行前看到(base)的字样。这样就说明成功安装了conda并激活了conda的环境:
| 1 | (base) shuziren@ubuntu:~$ | 
然后用conda创建一个虚拟环境:
| 1 | conda create -n iplap python==3.10 -y | 
这创建了一个Python版本为3.10的,名为iplap的虚拟环境。然后就可以激活这个虚拟环境
| 1 | conda activate iplap | 
NPU固件与驱动
安装依赖
执行命令安装所需依赖:
| 1 | apt-get install -y dkms gcc linux-header-$(uname -r) | 
暂时跳过了linux-header-$(uname -r),因为没有对应版本的。
准备安装包
然后需要安装两个东西,一个是驱动,一个是固件。可以参考:华为官方文档
这里安装的是Cann 8.0rc2的固件和驱动。
| 1 | Ascend-hdk-910-npu-driver 23.0.0 linux-aarch64.run | 
添加HwHiAiUser
为了安装固件和驱动,需要新添加一个名为HwHiAiUser的用户,在root用户模式下,用如下命令新加一个用户:
| 1 | groupadd HwHiAiUser | 
然后需要将自己的用户(我这里是shuziren)添加到HwHiAiUser组中:
| 1 | usermod -a -G HwHiAiUser shuziren | 
安装软件包
给软件包加上执行权限:
| 1 | chmod +x Ascend-hdk-910-npu-driver 23.0.0 linux-aarch64.run | 
然后在安装前进行软件包的自检
| 1 | ./Ascend-hdk-910-npu-driver 23.0.0 linux-aarch64.run --check | 
最后在root用户下进行安装:
| 1 | ./Ascend-hdk-910-npu-driver 23.0.0 linux-aarch64.run --full --install-for-all | 
如果显示:
则安装一下软件包:
- 若系统出现如下关键回显信息,则表示驱动(driver)安装成功。 - 1 - Driver package installed successfully! 
- 若系统出现如下关键回显信息,表示固件安装成功。 - 1 - Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect 
重启系统
然后需要重启一下系统:
| 1 | reboot | 
最后用npu-smi info检查一下是否安装成功了。
Cann软件包
然后给需要使用Cann的用户,比如我这是shuziren,安装Cann软件包。现在不是用root用户,而是用需要使用Cann的用户登录。
安装依赖
首先要安装依赖:
- 执行如下命令,安装软件包: - 1 - sudo apt-get install -y gcc g++ make cmake libsqlite3-dev zlib1g-dev libssl-dev libffi-dev net-tools 
- 检查系统是否安装满足版本要求的Python开发环境(支持Python3.7.x至3.10.x)。 - 1 
 2- python3 --version 
 pip3 --version #如果没装需要装一下- 符合要求则执行下一步。 
- 执行如下命令安装所需的Python第三方库: - 1 - pip3 install attrs cython numpy==1.24 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py --user 
准备安装包
在官网上找到8.0.RC2.beta1版本的安装包,对应服务器上的芯片的版本(例如我这里是910,就选择了-910,并且我是aarch64的版本的)。
| 1 | Ascend-cann-kernels-910_8.0.Rc2_linux.run | 
可以用wget来下载:
| 1 | wget -O Ascend-cann-kernels-910_8.0.RC2_linux.run https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.0.RC2/Ascend-cann-kernels-910_8.0.RC2_linux.run?response-content-type=application/octet-stream | 
安装前检查
在安装前运行check检查一下:
| 1 | chmod +x ./Ascend-cann-kernels-910_8.0.RC2_linux.run | 
安装
先在~/下创建一个名为Ascend的文件夹
| 1 | ./Ascend-cann-toolkit_8.0.RC2_linux-aarch64.run --install | 
然后添加一下环境变量
| 1 | echo 'source ~/Ascend/ascend-toolkit/set_env.sh' >> ~/.bashrc | 
安装Mindspore
激活之前创建的conda环境后,先安装几个软件包:
还需要pip安装几个包:
| 1 | pip uninstall te topi hccl -y | 
然后用如下指令就安装Mindspore:
| 1 | export MS_VERSION=2.3.1 | 
然后验证一下是否安装成功:
| 1 | python -c "import mindspore;mindspore.set_context(device_target='Ascend');mindspore.run_check()" | 
安装Mindtorch
安装最新版本的mindtorch:
| 1 | git clone https://openi.pcl.ac.cn/OpenI/MSAdapter.git | 

