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

【A200DK】【Mindstudio】学习笔记

PC使用VirtualBox搭建Ubuntu18.04-desktop

修改国内源

参考链接: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/libsudo 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.7python3.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 ~/.bashrcexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATHsource ~/.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}/oppexport 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/stubsource /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

上电200DK

等待4个指示灯全亮

PC连接200DK

PC网线直连Atlas200DK,使用ssh 登录(同一网段)
ssh HwHiAiUser@192.168.8.2
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

配置交叉编译环境

前提条件
可使用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所在服务器已配置交叉编译环境

如果没有回显,请执行如下步骤。

  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。

PC安装并使用mindstudio

MindStudio只能安装在Ubuntu-X86的环境中
注意版本一定要对齐:
mindstudio2.0beta2+cann20.1(mindstudio2.0beta1+cann20.0)
如果cann版本还是20.0,安装最新版mindstudio2.0beta2会报python缺少te、topi等模块,在做后续自定义开发算子会有问题。

下载mindstudio包并解压运行./Mindstudio.sh
提示缺少什么就装什么

工程管理

新建APP工程:

设置SDK

ADK管理

检查ADK交叉编译工具

安装ADK
安装命令示例如下(以下命令仅为示例,请用户根据实际情况替换):

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

模型转换

下载模型文件(可在SDK参考设计的sample下载 链接https://www.huaweicloud.com/ascend/mindx-sdk )到开发环境中,使用Model Converter工具转换


模型转换成功需要 添加到工程

build模型

RUN模型

Ascend->device manager 添加200DK

报错: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

运行时使用Profiling

200DK中root用户

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

保存退出

ldconfig

再进入mindstudio->Edit Configurations 勾选Profiling

执行run

【A200DK】【Mindstudio】学习笔记相关推荐

  1. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  2. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  3. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  5. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  6. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  7. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  8. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

  9. MongoDB学习笔记(入门)

    MongoDB学习笔记(入门) 一.文档的注意事项: 1.  键值对是有序的,如:{ "name" : "stephen", "genda" ...

最新文章

  1. 通过自动回复机器人学Mybatis---加强版
  2. 使用密码记录工具keepass来保存密码
  3. Markdown编辑器攻略——字体,字号,颜色
  4. java 语言章节_2020知到Java语言程序设计章节答案
  5. Docker 实战教程之从入门到提高 (四)
  6. 一、Web服务器——Tomcat Servlet学习笔记
  7. jconsole 里的线程编号一直在增加_第三章_运行时数据区概述及线程
  8. redis---中文文档
  9. mysql修改启动command_MySQL Command Line[mysql命令行常用命令]
  10. 计算机仿真课程建议,关于信息技术教学中的几点建议
  11. 高中会考计算机网络技术试题,高中信息技术会考练习复习试题及答案
  12. PCIe学习笔记之pcie结构和配置空间
  13. Centos7.2安装搜狗拼音
  14. Android不同屏幕适配的大神解决方案(转)
  15. JAX-FLUIDS:可压缩两相流的完全可微高阶计算流体动力学求解器
  16. 新建STVP工程配置问题及解决方法(STM8/STM32)
  17. JavaScript插件编写
  18. 串行RapidIO(Serial RapidIO,SRIO):协议介绍
  19. 计算机多媒体教室工作总结,多媒体年终工作总结范文精选
  20. 电商秒杀系统设计分析

热门文章

  1. 摘自《读者》的哲理短句——爱情篇
  2. 第一讲-tensorflow搭建完整的神经网络步骤(附完整代码)
  3. 给Qt生成的exe加图标
  4. 关闭win8的触摸键盘
  5. NAS 网络附加存储
  6. 4. MySQL数据库管理系统(MySQL的下载安装、配置、补丁 一站式)
  7. AD19日志之Unknown Pin查错
  8. vue:label中的内容换行
  9. DNS服务概念,术语,角色介绍
  10. Java,图片添加二维码和文字水印,合并为一张图