Conda是一个开源跨平台语言无关的包管理与环境管理系统,允许用户方便地安装不同版本的二进制软件包与该计算平台需要的所有库。
本文档介绍如何在Ascend 910环境的Linux系统上,使用Conda方式快速安装MindSpore。
如果想在一个已经配置好昇腾AI处理器配套软件包的EulerOS 2.8上通过Conda安装MindSpore,可以使用自动安装脚本进行一键式安装,参见自动安装小节。自动安装脚本会安装MindSpore及其所需的依赖。
如果您的系统是Ubuntu 18.04/CentOS 7.6/OpenEuler 20.03/KylinV10 SP1其中之一,或者已经安装了部分依赖,如CUDA,Conda,GCC等,则推荐参照手动安装小节的安装步骤手动安装。
在使用自动安装脚本之前,需要确保系统正确安装了昇腾AI处理器配套软件包。如果没有安装,请先参考安装昇腾AI处理器配套软件包小节进行安装。
使用以下命令获取自动安装脚本并执行。自动安装脚本仅支持安装MindSpore>=1.6.0。
wget https://gitee.com/mindspore/mindspore/raw/r1.9/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
该脚本会执行以下操作:
on
,则安装Open MPI。在脚本执行完成后,需要重新打开终端窗口以使环境变量生效。
自动安装脚本会为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/OpenEuler 20.03/KylinV10 SP1 | - | 编译和运行MindSpore的操作系统 |
昇腾AI处理器配套软件包 | - | MindSpore使用的Ascend平台AI计算库 |
Conda | Anaconda3或Miniconda3 | Python环境管理工具 |
GCC | 7.3.0 | 用于编译MindSpore的C++编译器 |
下面给出第三方依赖的安装方法。
昇腾软件包提供商用版和社区版两种下载途径:
商用版下载需要申请权限,下载链接与安装方式请参考Ascend Data Center Solution 22.0.RC3安装指引文档。
社区版下载不受限制,下载链接请前往CANN社区版,选择6.0.RC1.alpha005
版本,以及在固件与驱动链接中获取对应的固件和驱动安装包,安装包的选择与安装方式请参照上述的商用版安装指引文档。
安装包默认安装路径为/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环境变量高。
执行以下指令安装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设置清华源加速下载,参考此处。
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和OpenEuler可以使用以下命令安装。
sudo yum install gcc -y
根据您希望使用的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
确认您处于Conda虚拟环境中,并执行如下命令安装最新版本的MindSpore。如需安装其他版本,可参考版本列表在mindspore-ascend=
后指定版本号。
conda install mindspore-ascend -c mindspore -c conda-forge
在联网状态下,安装Conda安装包时会自动下载MindSpore安装包的依赖项(依赖项详情参见setup.py中的required_package),其余情况需自行安装。运行模型时,需要根据ModelZoo中不同模型指定的requirements.txt安装额外依赖,常见依赖可以参考requirements.txt。
如果昇腾AI处理器配套软件包没有安装在默认路径,安装好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}
# 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}
方法一:
python -c "import mindspore;mindspore.run_check()"
如果输出:
MindSpore version: 版本号
The result of multiplication calculation is correct, MindSpore has been installed successfully!
说明MindSpore安装成功了。
方法二:
import numpy as np
import mindspore as ms
import mindspore.ops as ops
ms.set_context(device_target="Ascend")
x = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x, y))
如果输出:
[[[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]
[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]
[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]]]
说明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
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》