【A200DK】【Mindstudio】学习笔记

本文章同步发布在昇腾论坛 https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=89001

【A200DK】【Mindstudio】学习笔记

PC使用VirtualBox搭建Ubuntu18.04-desktop

【A200DK】【Mindstudio】学习笔记_第1张图片

修改国内源

参考链接:https://mirrors.huaweicloud.com/

sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
apt-get update

安装apt-get install vim
修改pip源 ~/.pip/pip.conf

cd
midir .pip
cd .pip
vim pip.conf
[global]
index-url = http://pypi.douban.com/simple/
[install]
trusted-host=pypi.douban.com

创建HwHiAiUser用户

groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser

设置HwHiAiUser用户密码

passwd HwHiAiUser

安装python及相关依赖

sudo apt-get install -y gcc g++ make cmake unzip zlib1g-dev libbz2-dev libsqlite3-dev libssl-dev libxslt1-dev libffi-dev

下载Python3.7.5

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
tar -zxvf Python-3.7.5.tgz
cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-shared
make
sudo make install
sudo cp /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib

sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5
sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7

python3.7.5 --version
pip3.7.5 install attrs 
pip3.7.5 install psutil 
pip3.7.5 install decorator 
pip3.7.5 install numpy 
pip3.7.5 install protobuf==3.11.3 
pip3.7.5 install scipy 
pip3.7.5 install sympy 
pip3.7.5 install cffi 
pip3.7.5 install grpcio 
pip3.7.5 install grpcio-tools 
pip3.7.5 install requests 

安装mindstudio相关依赖

apt-get -y install xterm openjdk-8-jdk fonts-wqy-zenhei fonts-wqy-microhei fonts-arphic-ukai fonts-arphic-uming

配置java路径

vi ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

source ~/.bashrc
echo $JAVA_HOME
/usr/local/python3.7.5/bin/pip3 install --user  protobuf grpcio attrs numpy decorator sympy cffi coverage gnureadline pylint matplotlib psutil requests scipy xlrd PyQt5==5.14.0

安装cann工具包

最新链接:https://www.huaweicloud.com/ascend/cann-download

设置环境变量

vi /etc/profile
export install_path=/usr/local/Ascend/ascend-toolkit/20.1.rc1/x86_64-linux
export PATH=/usr/local/python3.7.5/bin:${install_path}/atc/ccec_compiler/bin:${install_path}/atc/bin:$PATH
export PYTHONPATH=${install_path}/atc/python/site-packages:${install_path}/atc/python/site-packages/auto_tune.egg/auto_tune:${install_path}/atc/python/site-packages/schedule_search.egg:$PYTHONPATH
export LD_LIBRARY_PATH=${install_path}/atc/lib64:$LD_LIBRARY_PATH
export ASCEND_OPP_PATH=${install_path}/opp

export DDK_PATH=/usr/local/Ascend/ascend-toolkit/20.1.rc1/x86_64-linux
export NPU_HOST_LIB=/usr/local/Ascend/ascend-toolkit/20.1.rc1/x86_64-linux/acllib/lib64/stub

source /etc/profile

验证环境 atc -h

200DK环境准备

制作200DK SD卡

准备一个操作系统为Ubuntu X86架构的服务器,用途如下:
• 为Atlas 200 DK制作SD卡启动盘。读卡器或者Atlas 200 DK会通过USB与此Ubuntu服务器连接,制作Atlas 200 DK的系统启动盘。
• 用于部署开发环境,进行应用程序的开发。
• Ubuntu操作系统的版本可以为:18.04.4或18.04.5。
请从http://releases.ubuntu.com/releases/下载对应版本软件进行安装:
可以下载桌面版“ubuntu-{version}-desktop-amd64.iso”,或Server版“ubuntu-{version}-server-amd64.iso”,{version}为操作系统版本。
• Ubuntu操作系统中需要存在python3.x。
• 系统空余空间超过20G。
• 系统内存大于4G。

通过SD卡制作功能可以自行制作Atlas 200 DK 开发者板的系统启动盘。
服务器下载制作工具
tools: git clone https://github.com/Huawei-Ascend/tools.git
Ascend310-aicpu_kernels-1.73.5.1.b050-minirc.tar.gz
Ascend310-driver-1.73.5.1.b050-ubuntu18.04.aarch64-minirc.tar.gz
Ascend-acllib-1.73.5.1.b050-ubuntu18.04.aarch64-minirc.run
ubuntu-18.04.1-server-arm64.iso

ubuntu执行如下命令安装相关python依赖:

pip3 install pyyaml
apt-get install qemu-user-static binfmt-support python3-yaml gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

插入SD卡 运行SD制卡脚本“make_sd_card.py”

python3 make_sd_card.py local /dev/sda

2.png

上电200DK

等待4个指示灯全亮

PC连接200DK

PC网线直连Atlas200DK,使用ssh 登录(同一网段)
ssh [email protected]
Atlas 200 DK的USB网卡的默认IP地址为192.168.8.2。
用户HwHiAiUser缺省登录密码为“Mind@123”

修改DNS 使其能上网

vi /etc/resolv.conf

改为

nameserver 114.114.114.114

测试是否能上网ping baidu.com
【A200DK】【Mindstudio】学习笔记_第2张图片

配置交叉编译环境

前提条件
可使用root用户执行如下操作检查是否已部署交叉编译环境。
操作步骤如下:
1、执行如下命令查看是否部署交叉编译器。

aarch64-linux-gnu-gcc –v

2、若回显如下所示,表示当前环境已正常部署GCC交叉编译器
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9)
3、执行如下命令查看是否已部署Atlas 200 DK开发者板的编译依赖库

ls -alF /usr/lib/aarch64-linux-gnu

回显如下图所示,表示Mind Studio所在服务器已配置交叉编译环境
【A200DK】【Mindstudio】学习笔记_第3张图片
如果没有回显,请执行如下步骤。

  1. 首先获取配置交叉编译环境脚本“make_ui_cross_env.py”
    请从https://gitee.com/HuaweiAscend/tools中的tools仓中获取。
  2. 将获取的交叉编译环境配置脚本“make_ui_cross_env.py”上传到Mind Studio所在服务器任一目录,例如/home/ascend/mkuicross。
  3. 切换到root用户,并进入配置交叉编译环境脚本所在目录/home/ascend/mkuicross。
    su
    cd /home/ascend/mkuicross/
  4. 执行如下命令安装pexpect,用于实现SSH自动交互。
    pip3 install pexpect
  5. 执行配置交叉编译环境的脚本。
    python3 make_ui_cross_env.py
    会提示输入如下信息:
    Atlas DK Development Board IP: Atlas 200 DK开发者板的IP地址。
    Atlas DK Development Board SSH user:Atlas 200 DK开发者板的SSH登录用户名,请配置为普通用户,默认用户为HwHiAiUser。
    Atlas DK Development Board SSH user password: Atlas 200 DK开发者板的SSH登录用户的密码。
    Atlas DK Development Board SSH port:Atlas 200 DK开发者板的SSH端口号,默认为22。
    【A200DK】【Mindstudio】学习笔记_第4张图片

PC安装并使用mindstudio

MindStudio只能安装在Ubuntu-X86的环境中
注意版本一定要对齐:
mindstudio2.0beta2+cann20.1(mindstudio2.0beta1+cann20.0)
如果cann版本还是20.0,安装最新版mindstudio2.0beta2会报python缺少te、topi等模块,在做后续自定义开发算子会有问题。
【A200DK】【Mindstudio】学习笔记_第5张图片
下载mindstudio包并解压运行./Mindstudio.sh
提示缺少什么就装什么
【A200DK】【Mindstudio】学习笔记_第6张图片

工程管理

新建APP工程:
【A200DK】【Mindstudio】学习笔记_第7张图片

设置SDK

【A200DK】【Mindstudio】学习笔记_第8张图片

ADK管理

检查ADK交叉编译工具
【A200DK】【Mindstudio】学习笔记_第9张图片
安装ADK
安装命令示例如下(以下命令仅为示例,请用户根据实际情况替换):

sudo apt-get install g++-aarch64-linux-gnu

模型转换

下载模型文件(可在SDK参考设计的sample下载 链接https://www.huaweicloud.com/ascend/mindx-sdk )到开发环境中,使用Model Converter工具转换
【A200DK】【Mindstudio】学习笔记_第10张图片
【A200DK】【Mindstudio】学习笔记_第11张图片
模型转换成功需要 添加到工程

build模型

【A200DK】【Mindstudio】学习笔记_第12张图片

RUN模型

Ascend->device manager 添加200DK
【A200DK】【Mindstudio】学习笔记_第13张图片
报错:error while loading shared libraries: libascendcl.so: cannot open shared object file: No such file or directory
进入200DK添加环境变量

1.添加环境变量 export LD_LIBRARY_PATH= (添加.so库的路径)

export LD_LIBRARY_PATH=/home/HwHiAiUser/Ascend/acllib/lib64:$LD_LIBARY_PATH

2.重启ada,查找ada进程的ID。

ps -ef | grep ada

3.停止ada进程。

kill ada 进程ID

4.切换到ada目录下 /var/

./ada &

再执行run
【A200DK】【Mindstudio】学习笔记_第14张图片

运行时使用Profiling

200DK中root用户

vi /etc/ld.so.conf
```添加
```js
/home/HwHiAiUser/Ascend/acllib/lib64
/usr/lib64

保存退出

ldconfig

再进入mindstudio->Edit Configurations 勾选Profiling
【A200DK】【Mindstudio】学习笔记_第15张图片
执行run
【A200DK】【Mindstudio】学习笔记_第16张图片

你可能感兴趣的:(Mindspore,昇腾)