张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(四)MindStudio安装配置

举报
张辉 发表于 2022/04/13 00:14:54 2022/04/13
【摘要】 Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4

四、MindStudio 3.0.4的安装与配置

以下操作,如非特别说明,都是在开发环境——ubuntu x86的虚拟机上操作。

在安装MindStudio 3.0.4之前,可以看一下昇腾论坛置顶的安装视频:https://bbs.huaweicloud.cn/forum/thread-183030-1-1.html


1、下载MindStudio安装包

下载MindStudio 3.0.4安装包:

wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/MindStudio/MindStudio%203.0.4/MindStudio_3.0.4_linux.tar.gz


2、安装必要的系统依赖包

(1)cmake 3.5.2

cmake 3.5.2 是MindStudio进行C++工程进行编译的cmake的最小版本:

获取源码包:

wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz --no-check-certificate 

解压:

tar -zxvf cmake-3.5.2.tar.gz

cd cmake-3.5.2
./bootstrap --prefix=/usr

make -j8

sudo make install -j8

cmake -version


(2)gcc 7.3.0

wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

./configure --enable-languages=c,c++ --disable-multilib --with-system-zlib --prefix=/usr/local/gcc7.3.0

...

make -j8

...

sudo make install -j8

将gcc 7.3.0的PATH和LD_LIBRARY_PATH加入环境变量:

source ~/.bashrc使得环境变量生效

然后检查gcc,g++的版本:


(3)git

sudo apt-get install git


(4)Python 3.7.5源码安装

可参见 Ubuntu 18.04 Python 3.7.5 安装 https://bbs.huaweicloud.cn/blogs/195227 (搜索 python的源码包) https://bbs.huaweicloud.cn/blogs/198324 (Part Three) 

检查安装结果:

3、安装必要的PIP依赖包

python3 -m pip install numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests grpcio pylint absl-py --user -i https://pypi.tuna.tsinghua.edu.cn/simple

有些依赖有冲突,所以有些包没装起来,比如te 0.4.0需要attrs., schedule-search 0.0.1需要tensorflow>=1.10.0 ,但是张小白感觉应该问题不大。


4、下载samples代码仓

将samples代码仓下载到本地:


5、解压并启动MindStudio

解压

tar -zxvf MindStudio_3.0.4_linux.tar.gz

cd MindStudio/bin

执行 ./MindStudio.sh 启动MindStudio

在MobaXterm弹出的MindStudio窗口,选择Do not import settings

进入MindStudio主界面:


6、使用MindStudio打开venc样例工程

(1)配置CANN Toolkit

打开samples下的venc项目:

可参考 https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/0_data_process/venc

系统会弹出警告信息:没装CANN:

点击OK

弹出以上的窗口,点击install按钮:

选择CANN的目录:

选到$HOME/Ascend/ascend-toolkit/5.0.4alpha005 这层,点击OK。

点击Finish

点击OK,系统就进入了MindStudio的IDE开发界面:

第一次选择了CANN之后,以后打开别的工程,仅需确认这个CANN的版本即可,无需反复安装。


(2)配置Deployment

MindStudio的Deployment配置是在建立位于开发环境的MindStudio跟位于运行环境的200DK之间的联系。

打开MindStudio工具栏上的Tools,依次选择Deployment->Configuration..

会弹出以下菜单:

点击+,输入server名称:Atlas200DK

弹出以下菜单:

点击SSH configuration右边的...

点击+,在弹出的界面中输入 200DK 的IP地址 192.168.199.204,用户名HwHiAiUser,密码Mind@123,然后测试连接:

弹出的菜单中点击OK

系统显示连接成功:

点击连续几个OK后,返回Setting的Tools->Deployment界面:

点击apply和OK,关闭窗口。

这里需要注意的是,每打开一个新的工程,都要配置一个deployment。


(3)编译尝试

点击Build->Build Configurations:

咦,这里选不了aarch64,怎么回事?

打开 Ascend-》CANN Manager:

有个奇怪的现象,aarch环境的Host OS居然是Euler OS,而不是ubuntu。

经过咨询 @刘鹏程 老师,社区版的CANN用的是一样的交叉编译器。所以选择如下方式

点击Build:

报src/CMakeLists.txt文件的第20行有问题。查了一下,指的是缺INSTALL_DIR这个环境变量。

仔细看了下这个CMakeLists文件,下面还有THIRDPART_PATH、CPU_ARCH好几个变量没有值。这是怎么回事呢?

张小白才想起,在做CANN训练营大作业的过程中,执行的 scripts/sample_build.sh 这个脚本,先是做了 target_kernel,再做了build的。

那么,我们在200DK的环境上执行target_kernel,看看这三个变量是什么值呢?

我们将这三个环境变量都放在Build Configuration的Enviroment Variabes里面:

OK

点击Save后再Build

报找不到acl.h

试图把 这三个环境变量写在  ~/.bashrc下,

source ~/.bashrc后打开MindStudio:

把Enviroment Variables清空:

再重新Build:

这回报了找不到 opencv的错。

opencv的安装比较复杂,所以在本章我们先暂时不解决这个问题。


7、使用MindStudio打开resnet50_imagenet_classification样例工程

我们打开一个不使用opencv的样例工程吧!

张小白记得CANN训练营新手班的作业——samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification 这个案例没用到 opencv,那就用这个练练手吧!


(1)下载CANN 5.0.4alpha005对应的sample代码仓

根据 https://gitee.com/ascend/samples 首页的提示:

在下载sample仓的时候,需要tag=v0.6.0

新建一个tag目录

mkdir tag

cd tag

git clone -b v0.6.0 https://gitee.com/ascend/samples.git


(2)编译尝试

照例打开 样例工程:

编译Build:

报-lascendcl不对,看日志,确实是使用了x86进行了交叉编译,这显然不对。应该用arm才对。

经过 @刘鹏程 老师的提示,设置以下环境变量:

NPU_HOST_LIB=/home/ascend/Ascend/ascend-toolkit/5.0.4.alpha005/arm64-linux/runtime/lib64/stub

这个可以设置在.bashrc中,也可以设置在 Build的Enviroment Variabes中:

设置完后,Build:

编译成功了。


(3)运行尝试

运行试试看:

先需要到Tools-Deployment设置 Mappings,也就是x86上的工程目录与Atlas 200DK上工程目录的映射关系:

点击加号,会出现默认值,点击确认即可:

点击OK。

点击Run菜单:

点击Edit Configurations:

选择远程执行 (Remote Run),以及可执行代码:out/main

点击apply,或者Run:

当然这个时候会报模型找不到的错。

因为张小白还没根据 readme的要求准备模型呢!


(4)模型转换

atc转换可以在MindStudio里面做,也可以在200DK的命令行做。我们为了方便,选择后一种方式。

登陆到200DK主机,下载resnet模型的caffe包:(请原谅目录写成了yolo),并进行atc模型转换,生成resnet50.om离线模型:

然后将下载的模型copy回x86工程的model目录:


(5)再次运行尝试

得到了跟在200DK执行同样的结果。撒花!

(未完待续)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。