335 Star 1.5K Fork 857

MindSpore / docs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
mindspore_ascend_install_pip.md 13.09 KB
一键复制 编辑 原始数据 按行查看 历史
宦晓玲 提交于 2023-07-21 15:28 . modify the md links in 1.7

pip方式安装MindSpore Ascend 910版本

查看源文件

本文档介绍如何在Ascend 910环境的Linux系统上,使用pip方式快速安装MindSpore。

  • 如果您想在一个已经配置好昇腾AI处理器配套软件包的EulerOS 2.8上通过pip安装MindSpore,可以使用自动安装脚本进行一键式安装,参见自动安装小节。自动安装脚本会安装MindSpore及其所需的依赖。

  • 如果您的系统是Ubuntu 18.04/CentOS 7.6/OpenEuler 20.03/KylinV10 SP1,或者已经安装了部分依赖,如Python,GCC等,则推荐参照手动安装小节的安装步骤手动安装。

自动安装

在使用自动安装脚本之前,需要确保系统正确安装了昇腾AI处理器配套软件包。如果没有安装,请先参考安装昇腾AI处理器配套软件包小节进行安装。

使用以下命令获取自动安装脚本并执行。自动安装脚本仅支持安装MindSpore>=1.6.0。

wget https://gitee.com/mindspore/mindspore/raw/r1.7/scripts/install/euleros-ascend-pip.sh
# 安装MindSpore 1.7.1和Python 3.7
# 默认LOCAL_ASCEND路径为/usr/local/Ascend
MINDSPORE_VERSION=1.7.1 bash -i ./euleros-ascend-pip.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-pip.sh

该脚本会执行以下操作:

  • 安装MindSpore所需的依赖,如GCC,gmp。
  • 通过APT安装Python3和pip3,并设为默认。
  • 通过pip安装MindSpore Ascend版本。
  • 如果OPENMPI设置为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的操作系统
Python 3.7-3.9 MindSpore的使用依赖Python环境
昇腾AI处理器配套软件包 - MindSpore使用的Ascend平台AI计算库
GCC 7.3.0 用于编译MindSpore的C++编译器
gmp 6.1.2 MindSpore使用的多精度算术库
Open MPI 4.0.3 MindSpore使用的高性能消息传递库(可选,单机多卡/多机多卡训练需要)

下面给出第三方依赖的安装方法。

安装Python

Python可通过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设置清华源加速下载,参考此处

创建虚拟环境,以Python 3.7.5为例:

conda create -n mindspore_py37 python=3.7.5 -y
conda activate mindspore_py37

可以通过以下命令查看Python版本。

python --version

如果您的环境为ARM架构,请确认当前使用的Python配套的pip版本>=19.3。使用以下命令升级pip。

python -m pip install -U pip

安装昇腾AI处理器配套软件包

昇腾软件包提供商用版和社区版两种下载途径:

安装包默认安装路径为/usr/local/Ascend。安装后确认当前用户有权限访问昇腾AI处理器配套软件包的安装路径,若无权限,需要root用户将当前用户添加到/usr/local/Ascend所在的用户组。

安装昇腾AI处理器配套软件包提供的whl包,whl包随配套软件包发布。如果之前安装过昇腾AI处理器配套软件包,需要先使用如下命令卸载相应的包。

pip uninstall te topi hccl -y

默认安装路径使用以下指令安装。如果安装路径不是默认路径,需要将命令中的路径替换为安装路径。

pip install sympy
pip install /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/topi-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/te-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/hccl-*-py3-none-any.whl

当默认路径存在安装包的时候,LD_LIBRARY_PATH环境变量不起作用;默认路径优先级别为:/usr/local/Ascend/nnae高于/usr/loacl/Ascend/ascend-toolkit;原因是MindSpore采用DT_RPATH方式支持无环境变量启动,减少用户设置;DT_RPATH优先级比LD_LIBRARY_PATH环境变量高。

安装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和OpenEuler可以使用以下命令安装。

    sudo yum install gcc -y

安装gmp

  • Ubuntu 18.04可以使用以下命令安装。

    sudo apt-get install libgmp-dev -y
  • CentOS 7,EulerOS和OpenEuler可以使用以下命令安装。

    sudo yum install gmp-devel -y

安装Open MPI-可选

可以通过以下命令编译安装Open MPI

curl -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz
tar xzf openmpi-4.0.3.tar.gz
cd openmpi-4.0.3
./configure --prefix=/usr/local/openmpi-4.0.3
make
sudo make install
echo -e "export PATH=/usr/local/openmpi-4.0.3/bin:\$PATH" >> ~/.bashrc
echo -e "export LD_LIBRARY_PATH=/usr/local/openmpi-4.0.3/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
cd -

安装MindSpore

首先参考版本列表选择想要安装的MindSpore版本,并进行SHA-256完整性校验。以1.7.1版本为例,执行以下命令。

export MS_VERSION=1.7.1

然后根据系统架构及Python版本执行如下命令安装MindSpore。

# x86_64 + Python3.7
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/ascend/x86_64/mindspore_ascend-${MS_VERSION/-/}-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# x86_64 + Python3.8
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/ascend/x86_64/mindspore_ascend-${MS_VERSION/-/}-cp38-cp38-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# x86_64 + Python3.9
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/ascend/x86_64/mindspore_ascend-${MS_VERSION/-/}-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# aarch64 + Python3.7
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/ascend/aarch64/mindspore_ascend-${MS_VERSION/-/}-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# aarch64 + Python3.8
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/ascend/aarch64/mindspore_ascend-${MS_VERSION/-/}-cp38-cp38-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
# aarch64 + Python3.9
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/ascend/aarch64/mindspore_ascend-${MS_VERSION/-/}-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

在联网状态下,安装whl包时会自动下载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/fwkacllib/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/fwkacllib/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
from mindspore import Tensor
import mindspore.ops as ops
import mindspore.context as context

context.set_context(device_target="Ascend")
x = Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = 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版本

当需要升级MindSpore版本时,可执行如下命令:

pip install --upgrade mindspore-ascend=={version}

其中:

  • 升级到rc版本时,需要手动指定{version}为rc版本号,例如1.6.0rc1;如果升级到正式版本,=={version}字段可以缺省。
1
https://gitee.com/mindspore/docs.git
git@gitee.com:mindspore/docs.git
mindspore
docs
docs
r1.7

搜索帮助