昇腾 CANN 是华为开发的 AI 场景的异构计算架构,支持用户快速构建基于昇腾平台的 AI 应用和业务。

本文为 Ubuntu 上手动部署开发环境(与运行环境分离),安装 MindStudio 的过程。
注:也可通过 msInstaller 工具自动安装。只是本文实践时,安装服务遇到了中断问题。故给出了手动安装的方式。
基础说明
要求:
- Ubuntu x86 18.04
非昇腾设备: 仅能用于代码开发、编译等不依赖于昇腾芯片的纯开发活动。
开发和运行环境分离部署:

获取软件包
- 软件包(推理)
- Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run
- Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run
- MindStudio_3.0.1_linux.tar.gz
下载页,中英文给到的版本可能不同。
配置用户(可选)
当用户使用非root用户安装时,需要操作该章节,否则请忽略。
创建用户(non-root):
1sudo -i 2 3# 创建用户 4groupadd HwHiAiUser 5useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash 6passwd HwHiAiUser 7 8# 添加权限 9chmod u+w /etc/sudoers 10vi /etc/sudoers 11 # User privilege specification 12 HwHiAiUser ALL=(ALL:ALL) ALL 13chmod u-w /etc/sudoers 14 15# 切换用户 16su HwHiAiUser
安装依赖
1sudo apt update 2sudo apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev libsqlite3-dev openssl libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev 3 4wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz 5tar -zxvf Python-3.7.5.tgz 6cd Python-3.7.5 7./configure --prefix=$HOME/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared 8make -j`nproc` 9make install 10 11sudo cp $HOME/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib 12 13sudo ln -s $HOME/python3.7.5/bin/python3 /usr/bin/python3.7 14sudo ln -s $HOME/python3.7.5/bin/pip3 /usr/bin/pip3.7 15sudo ln -s $HOME/python3.7.5/bin/python3 /usr/bin/python3.7.5 16sudo ln -s $HOME/python3.7.5/bin/pip3 /usr/bin/pip3.7.5 17 18sudo ln -s $HOME/python3.7.5/bin/pip3 /usr/bin/pip3 19sudo ln -s $HOME/python3.7.5/lib/python3.7 /usr/lib/python3.7 20 21pip3.7.5 config set global.index-url https://mirrors.aliyun.com/pypi/simple/ 22pip3.7.5 install attrs psutil decorator numpy protobuf==3.11.3 scipy sympy cffi
安装开发包
1$ chmod +x Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run 2$ ./Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run --install 3Verifying archive integrity... 100% SHA256 checksums are OK. All good. 4Uncompressing ASCEND_RUN_PACKAGE 100% 5[Toolkit] [20210610-20:42:05] [INFO] LogFile:/home/HwHiAiUser/var/log/ascend_seclog/ascend_toolkit_install.log 6[Toolkit] [20210610-20:42:05] [INFO] install start 7[Toolkit] [20210610-20:42:05] [INFO] The install path is /home/HwHiAiUser/Ascend ! 8[Toolkit] [20210610-20:42:05] [WARNING] driver package maybe not installed 9[Toolkit] [20210610-20:42:05] [WARNING] driver package maybe not installed 10[Toolkit] [20210610-20:42:05] [INFO] install package Ascend-acllib-1.78.t20.0.b200-linux.x86_64.run start 11[Toolkit] [20210610-20:42:08] [INFO] Ascend-acllib-1.78.t20.0.b200-linux.x86_64.run --devel --quiet --nox11 install success 12[Toolkit] [20210610-20:42:08] [INFO] install package Ascend-pyACL-3.3.0.alpha003-linux.x86_64.run start 13[Toolkit] [20210610-20:42:08] [INFO] Ascend-pyACL-3.3.0.alpha003-linux.x86_64.run --devel --quiet --nox11 install success 14[Toolkit] [20210610-20:42:08] [INFO] install package Ascend-atc-1.78.t20.0.b200-linux.x86_64.run start 15[Toolkit] [20210610-20:42:41] [INFO] Ascend-atc-1.78.t20.0.b200-linux.x86_64.run --devel --pylocal --quiet --nox11 install success 16[Toolkit] [20210610-20:42:41] [INFO] install package Ascend-opp-1.78.t20.0.b200-linux.x86_64.run start 17[Toolkit] [20210610-20:43:11] [INFO] Ascend-opp-1.78.t20.0.b200-linux.x86_64.run --devel --quiet --nox11 install success 18[Toolkit] [20210610-20:43:11] [INFO] install package Ascend-toolkit-1.78.t20.0.b200-linux.x86_64.run start 19[Toolkit] [20210610-20:44:11] [INFO] Ascend-toolkit-1.78.t20.0.b200-linux.x86_64.run --devel --pylocal --quiet --nox11 install success 20[Toolkit] [20210610-20:44:11] [INFO] install package Ascend310-aicpu_kernels-1.78.t20.0.b200.run start 21[Toolkit] [20210610-20:44:12] [INFO] Ascend310-aicpu_kernels-1.78.t20.0.b200.run --devel --quiet --nox11 install success 22[Toolkit] [20210610-20:44:12] [INFO] install package Ascend910-aicpu_kernels-1.78.t20.0.b200.run start 23[Toolkit] [20210610-20:44:13] [INFO] Ascend910-aicpu_kernels-1.78.t20.0.b200.run --devel --quiet --nox11 install success 24[Toolkit] [20210610-20:44:13] [INFO] install package Ascend310-aicpu_kernels_minirc-1.78.t20.0.b200.run start 25[Toolkit] [20210610-20:44:14] [INFO] Ascend310-aicpu_kernels_minirc-1.78.t20.0.b200.run --devel --quiet --nox11 install success 26[Toolkit] [20210610-20:44:14] [INFO] /home/HwHiAiUser/Ascend/ascend_cann_install.info generate success 27[Toolkit] [20210610-20:44:14] [INFO] Please make sure that: 28Offline infer develop (cannot coexist with other scenes): 29 LD_LIBRARY_PATH includes : 30 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/acllib/lib64: 31 PYTHONPATH includes : 32 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/pyACL/python/site-packages/acl: 33 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/python/site-packages: 34 ASCEND_AICPU_PATH includes : 35 /home/HwHiAiUser/Ascend/ascend-toolkit/latest: 36 ASCEND_OPP_PATH includes : 37 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/opp: 38 TOOLCHAIN_HOME includes : 39 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit: 40Third party AI framework develop (cannot coexist with other scenes): 41 PATH includes : 42 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin: 43 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/fwkacllib/bin: 44 LD_LIBRARY_PATH includes : 45 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/fwkacllib/lib64: 46 PYTHONPATH includes : 47 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/fwkacllib/python/site-packages: 48 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/python/site-packages: 49 ASCEND_OPP_PATH includes : 50 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/opp: 51 ASCEND_AICPU_PATH includes : 52 /home/HwHiAiUser/Ascend/ascend-toolkit/latest: 53 TOOLCHAIN_HOME includes : 54 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit: 55Model transformation and operator develop (cannot coexist with other scenes): 56 PATH includes : 57 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/ccec_compiler/bin: 58 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/bin: 59 LD_LIBRARY_PATH includes : 60 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/lib64: 61 PYTHONPATH includes : 62 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/python/site-packages: 63 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/python/site-packages: 64 ASCEND_OPP_PATH includes : 65 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/opp: 66 TOOLCHAIN_HOME includes : 67 /home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit: 68[Toolkit] [20210610-20:44:15] [INFO] Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run install success,The install path is /home/HwHiAiUser/Ascend !
1$ chmod +x Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run 2$ ./Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run --install 3Verifying archive integrity... 100% SHA256 checksums are OK. All good. 4Uncompressing ASCEND_RUN_PACKAGE 100% 5[Toolkit] [20210610-20:46:27] [INFO] LogFile:/home/HwHiAiUser/var/log/ascend_seclog/ascend_toolkit_install.log 6[Toolkit] [20210610-20:46:27] [INFO] install start 7[Toolkit] [20210610-20:46:27] [INFO] The install path is /home/HwHiAiUser/Ascend ! 8[Toolkit] [20210610-20:46:27] [WARNING] driver package maybe not installed 9[Toolkit] [20210610-20:46:27] [WARNING] driver package maybe not installed 10[Toolkit] [20210610-20:46:27] [INFO] The current OS is x86_64 11[Toolkit] [20210610-20:46:27] [INFO] install package Ascend-acllib-1.78.t20.0.b200-linux.aarch64.run start 12[Toolkit] [20210610-20:46:29] [INFO] Ascend-acllib-1.78.t20.0.b200-linux.aarch64.run --devel --quiet --nox11 install success 13[Toolkit] [20210610-20:46:29] [INFO] install package Ascend310-aicpu_kernels-1.78.t20.0.b200.run start 14[Toolkit] [20210610-20:46:31] [INFO] Ascend310-aicpu_kernels-1.78.t20.0.b200.run --devel --quiet --nox11 install success 15[Toolkit] [20210610-20:46:31] [INFO] install package Ascend310-aicpu_kernels_minirc-1.78.t20.0.b200.run start 16[Toolkit] [20210610-20:46:32] [INFO] Ascend310-aicpu_kernels_minirc-1.78.t20.0.b200.run --devel --quiet --nox11 install success 17[Toolkit] [20210610-20:46:32] [INFO] Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run install success,The install path is /home/HwHiAiUser/Ascend !
创建 Docker 镜像(可选)
1docker pull ubuntu:18.04 2 3cat <<-EOF > Dockerfile 4# syntax=docker/dockerfile:experimental 5FROM ubuntu:18.04 6 7ARG ASCEND_DIR=./ascend 8# ./ascend 9# Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run 10# Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run 11# Python-3.7.5.tgz 12 13COPY \${ASCEND_DIR} /ascend 14 15RUN apt-get update \\ 16 && apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev libsqlite3-dev \\ 17 openssl libssl-dev libffi-dev unzip pciutils net-tools \\ 18 && rm -rf /var/lib/apt/lists/* 19 20RUN cd /ascend \\ 21 && tar -zxvf Python-3.7.5.tgz \\ 22 && cd Python-3.7.5 \\ 23 && ./configure --prefix=/usr/local/python3.7.5 \\ 24 --enable-loadable-sqlite-extensions --enable-shared \\ 25 && make -j\$(nproc) && make install \\ 26 && cp /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib \\ 27 && ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3 \\ 28 && ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3 \\ 29 && ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7 \\ 30 && ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7 \\ 31 && ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5 \\ 32 && ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5 \\ 33 && pip3.7.5 install attrs psutil decorator numpy protobuf==3.11.3 scipy sympy \\ 34 cffi -i https://mirrors.aliyun.com/pypi/simple/ \\ 35 && rm -r /ascend/Python-3.7.5 36 37RUN cd /ascend \\ 38 && chmod +x *.run \\ 39 && ./Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run \\ 40 --install-username=root --install-usergroup=root --install \\ 41 && ./Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run \\ 42 --install-username=root --install-usergroup=root --install 43 44RUN echo '\nawk "/Please make sure that:/,/chmod_authority/" /var/log/ascend_seclog/ascend_toolkit_install.log' >> /root/.bashrc 45 46CMD ["/bin/bash"] 47EOF 48 49docker build \ 50-t ascend/cann:5.0.2.alpha003 \ 51--build-arg ASCEND_DIR=./ascend \ 52-f ./Dockerfile . 53 54docker run -it --rm ascend/cann:5.0.2.alpha003
安装 MindStudio
1tar xzvf MindStudio_3.0.1_linux.tar.gz -C $HOME 2sudo ln -s $HOME/MindStudio/bin/MindStudio.sh /usr/local/bin/MindStudio
初次运行 MindStudio 如果提示依赖缺失,则运行提示命令安装:
1$ MindStudio 2Checking MindStudio environment dependencies... 3Success 4 5Checking Python environment dependencies... 6Success 7 8Some dependencies are missing. Execute the following command first: 9sudo apt-get -y install xterm fonts-wqy-zenhei fonts-wqy-microhei && /home/HwHiAiUser/python3.7.5/bin/pip3 install --user grpcio coverage gnureadline pylint matplotlib requests pandas xlrd absl-py
此外,还需安装 JDK:
1sudo apt-get -y install openjdk-8-jdk
最后,即可正常运行 MindStudio 。
配置 MindStudio
初次提示导入设置:

选择不导入 OK。若有以前设置,可设路径如: $HOME/.config/Huawei/MindStudioMS-3.0。
接着选择开发包路径:

之后用户体验改进 Argree:

最后进入 MindStudio 首页:

参考
GoCoding 个人实践的经验分享,可关注公众号!
