Conda方式安装MindSpore Ascend 310版本
Conda是一个开源跨平台语言无关的包管理与环境管理系统,允许用户方便地安装不同版本的二进制软件包与该计算平台需要的所有库。
本文档介绍如何在Ascend 310环境的Linux系统上,使用Conda方式快速安装MindSpore,Ascend 310版本仅支持推理。
自动安装
在使用自动安装脚本之前,需要确保系统正确安装了昇腾AI处理器配套软件包。如果没有安装,请先参考安装昇腾AI处理器配套软件包小节进行安装。
使用以下命令获取自动安装脚本并执行。自动安装脚本仅支持安装MindSpore>=1.6.0。
wget https://gitee.com/mindspore/mindspore/raw/r1.8/scripts/install/euleros-ascend-conda.sh
# 默认安装Python 3.7以及最新版本的MindSpore
# 默认LOCAL_ASCEND路径为/usr/local/Ascend
bash -i ./euleros-ascend-conda.sh
# 如需指定Python和MindSpore版本,以Python 3.9和MindSpore 1.6.0为例
# 且指定LOCAL_ASCEND路径为/home/xxx/Ascend,使用以下方式
# LOCAL_ASCEND=/home/xxx/Ascend PYTHON_VERSION=3.9 MINDSPORE_VERSION=1.6.0 bash -i ./euleros-ascend-conda.sh
该脚本会执行以下操作:
- 安装MindSpore所需的依赖,如GCC,gmp。
- 安装Conda并为MindSpore创建虚拟环境。
- 通过Conda安装MindSpore Ascend 310版本。
在脚本执行完成后,需要重新打开终端窗口以使环境变量生效。
自动安装脚本会为MindSpore创建名为mindspore_pyXX
的虚拟环境。其中XX
为Python版本,如Python 3.7则虚拟环境名为mindspore_py37
。执行以下命令查看所有虚拟环境。
conda env list
要激活虚拟环境,以Python 3.7为例,执行以下命令。
conda activate mindspore_py37
现在您可以跳转到配置环境变量小节设置相关环境变量。
更多的用法请参看脚本头部的说明。
手动安装
下表列出了安装MindSpore所需的系统环境和第三方依赖。
软件名称 |
版本 |
作用 |
Ubuntu 18.04/CentOS 7.6/EulerOS 2.8 |
- |
编译和运行MindSpore的操作系统 |
昇腾AI处理器配套软件包 |
- |
MindSpore使用的Ascend平台AI计算库 |
Conda |
Anaconda3或Miniconda3 |
Python环境管理工具 |
GCC |
7.3.0 |
用于编译MindSpore的C++编译器 |
gmp |
6.1.2 |
MindSpore使用的多精度算术库 |
下面给出第三方依赖的安装方法。
安装昇腾AI处理器配套软件包
昇腾软件包提供商用版和社区版两种下载途径:
安装包默认安装路径为/usr/local/Ascend
。安装后确认当前用户有权限访问昇腾AI处理器配套软件包的安装路径,若无权限,需要root用户将当前用户添加到/usr/local/Ascend
所在的用户组。
当默认路径存在安装包的时候,LD_LIBRARY_PATH环境变量不起作用;默认路径优先级别为:/usr/local/Ascend/nnae高于/usr/loacl/Ascend/ascend-toolkit;原因是MindSpore采用DT_RPATH方式支持无环境变量启动,减少用户设置;DT_RPATH优先级比LD_LIBRARY_PATH环境变量高。
安装Conda
执行以下指令安装Miniconda。
cd /tmp
curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.10.3-Linux-$(arch).sh
bash Miniconda3-py37_4.10.3-Linux-$(arch).sh -b
cd -
. ~/miniconda3/etc/profile.d/conda.sh
conda init bash
安装完成后,可以为Conda设置清华源加速下载,参考此处。
安装GCC
-
Ubuntu 18.04可以使用以下命令安装。
sudo apt-get install gcc-7 -y
-
CentOS 7可以使用以下命令安装。
sudo yum install centos-release-scl
sudo yum install devtoolset-7
安装完成后,需要使用如下命令切换到GCC 7。
scl enable devtoolset-7 bash
-
EulerOS可以使用以下命令安装。
sudo yum install gcc -y
安装gmp
-
Ubuntu 18.04可以使用以下命令安装。
sudo apt-get install libgmp-dev -y
-
CentOS 7和EulerOS可以使用以下命令安装。
sudo yum install gmp-devel -y
创建并进入Conda虚拟环境
根据您希望使用的Python版本创建对应的Conda虚拟环境并进入虚拟环境。
如果您希望使用Python3.7.5版本:
conda create -c conda-forge -n mindspore_py37 python=3.7.5 -y
conda activate mindspore_py37
如果希望使用其他版本Python,只需更改以上命令中的Python版本。当前支持Python 3.7,Python 3.8和Python 3.9。
在虚拟环境中安装昇腾AI处理器配套软件包提供的whl包,whl包随配套软件包发布,升级配套软件包之后需要重新安装。
pip install sympy
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/topi-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/te-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/hccl-*-py3-none-any.whl
如果升级了昇腾AI处理器配套软件包,配套的whl包也需要重新安装,先将原来的安装包卸载,再参考上述命令重新安装。
pip uninstall te topi hccl -y
安装MindSpore
确认您处于Conda虚拟环境中,并执行如下命令安装最新版本的MindSpore。如需安装其他版本,可参考版本列表在mindspore-ascend=
后指定版本号。
conda install mindspore-ascend -c mindspore -c conda-forge
在联网状态下,安装Conda安装包时会自动下载MindSpore安装包的依赖项(依赖项详情参见setup.py中的required_package),其余情况需自行安装。运行模型时,需要根据ModelZoo中不同模型指定的requirements.txt安装额外依赖,常见依赖可以参考requirements.txt。
配置环境变量
安装好MindSpore之后,需要导出Runtime相关环境变量,下述命令中LOCAL_ASCEND=/usr/local/Ascend
的/usr/local/Ascend
表示配套软件包的安装路径,需注意将其改为配套软件包的实际安装路径。
# control log level. 0-DEBUG, 1-INFO, 2-WARNING, 3-ERROR, 4-CRITICAL, default level is WARNING.
export GLOG_v=2
# Conda environmental options
LOCAL_ASCEND=/usr/local/Ascend # the root directory of run package
# lib libraries that the run package depends on
export LD_LIBRARY_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/lib64:${LOCAL_ASCEND}/driver/lib64:${LOCAL_ASCEND}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe/op_tiling:${LD_LIBRARY_PATH}
# lib libraries that the mindspore depends on, modify "pip3" according to the actual situation
export LD_LIBRARY_PATH=`pip3 show mindspore-ascend | grep Location | awk '{print $2"/mindspore/lib"}' | xargs realpath`:${LD_LIBRARY_PATH}
# Environment variables that must be configured
## TBE operator implementation tool path
export TBE_IMPL_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe
## OPP path
export ASCEND_OPP_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp
## AICPU path
export ASCEND_AICPU_PATH=${ASCEND_OPP_PATH}/..
## TBE operator compilation tool path
export PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/compiler/ccec_compiler/bin/:${PATH}
## Python library that TBE implementation depends on
export PYTHONPATH=${TBE_IMPL_PATH}:${PYTHONPATH}
验证是否成功安装
创建目录放置样例代码工程,例如/home/HwHiAiUser/Ascend/ascend-toolkit/20.0.RC1/acllib_linux.arm64/sample/acl_execute_model/ascend310_single_op_sample
,代码可以从官网示例下载获取,这是一个[1, 2, 3, 4]
与[2, 3, 4, 5]
相加的简单样例,代码工程目录结构如下:
└─ascend310_single_op_sample
├── CMakeLists.txt // 编译脚本
├── README.md // 使用说明
├── main.cc // 主函数
└── tensor_add.mindir // MindIR模型文件
进入样例工程目录,按照实际情况修改路径路径:
cd /home/HwHiAiUser/Ascend/ascend-toolkit/20.0.RC1/acllib_linux.arm64/sample/acl_execute_model/ascend310_single_op_sample
参照README.md
说明,构建工程,其中pip3
需要按照实际情况修改。
cmake . -DMINDSPORE_PATH=`pip3 show mindspore-ascend | grep Location | awk '{print $2"/mindspore"}' | xargs realpath`
make
构建成功后,执行用例。
./tensor_add_sample
如果输出:
3
5
7
9
说明MindSpore安装成功了。
升级MindSpore版本
当需要升级MindSpore版本时,可执行如下命令:
conda update mindspore-ascend -c mindspore -c conda-forge
注意:升级MindSpore Ascend版本conda安装包后请重新安装昇腾AI处理器配套软件包提供的whl包。首先卸载旧版本:
pip uninstall te topi hccl -y
然后重新安装:
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/topi-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/te-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/hccl-*-py3-none-any.whl