Atlas 200DK系统折腾纪实(9)MindStudio 3.0.1 for Windows初体验

举报
张辉 发表于 2021/06/01 10:19:13 2021/06/01
【摘要】 本文介绍了如何使用MindStudio for windows 3.0.1,脱离虚拟机,可视化运行200DK的推理代码。

MindStudio简介

众所周知,MindStudio是在做CANN开发时非常好的可视化开发工具。它可以运行在宿主机上,也可以直接运行在开发板上,或者运行在AI1S的云服务器上(参见 https://bbs.huaweicloud.com/blogs/254154  搜索 关键字 安装MindStudio 之后的内容)。

只是前一种运行方式,需要用VMWare等虚拟化工具安装Ubuntu 18.04的X86虚拟机

然后在虚拟机中启动MindStudio:

这样才能启动起来:

此时MindStudio运行代码,实际上是利用在Ubuntu 虚拟机上安装好的X86和ARM的编译环境,在X86上交叉编译好ARM的代码后,将代码拷贝到200DK的ARM环境下执行,并将结果拷贝回宿主机。

而最后一种运行方式,相当于直接在ARM环境下安装开发环境和运行环境,MindStudio也直接在ARM环境下运行。此时需要安装MobaXterm实现MindStudio的XWindows的远程显示。

image.png

(上图来自 https://bbs.huaweicloud.com/blogs/254154  )

但是现在已经有了MindStudio for Windows的版本了。在这种情况下,在Windows下无法直接编译出arm的可执行文件,所以其实是需要在MindStudio上设置原本在200DK上安装的Ascend-cann-toolkit的路径(ADK),MindStudio会将头文件或者与架构无关的Python脚本同步到Windows本地,用以在Windows上实现函数跳转功能;实际的编译、模型转换(Model Converter)等都是将相应的文件拷贝到200DK上执行,执行完毕后,再将结果拷贝回来(这点倒是跟前面提到的在虚拟机上执行MindStudio很像)(具体解释参见 https://bbs.huaweicloud.com/forum/forum.php?mod=redirect&goto=findpost&ptid=130571&pid=1198736&fromuid=70062  )

安装MindStudio 3.0.1

打开 https://www.hiascend.com/software/mindstudio  

点击 立即下载

可以看到,有两个windows版本,一个是安装版,一个是绿色版。

我们就体验安装版吧。点击右边的“软件包下载”:

选择 同意框后,点击立即下载:

耐心等待249M的安装文件下载完毕:

点击exe,执行安装:

点击“运行”后进入安装程序:

一路Next到底:

选择Install:

耐心等待安装完毕:

选择重启,点击Finish。

安装完毕后,桌面会生成一个图标:

检查并安装MindStudio运行所需的环境

在启动MindStudio之前,先根据 https://support.huaweicloud.com/usermanual-mindstudio301/atlasms_02_0423.html 文档的要求,确认JDK11,Python 3.7.5和MinGW是否正常安装:

(1)升级Java

Java目前是1.8,需要升级到11

将在网上下载的 jdk-11.0.9.zip解压到 C:\Java\jdk-11.0.9的目录。

修改Windows的环境变量JAVA_HOME

增加或者修改原有PATH中JDK8的路径:

Java已更新为11版本。

(2)准备Python 3.7.5 for windows环境

Python是3.7.6,但是 可以考虑用Anaconda做一个Python 3.7.5的环境。。

按Y继续:

(3)准备MinGW环境:

确认MinGW是否正常安装:

经咨询昇腾专家,200DK使用MindStudio时,windows上不需要装acllib。开发环境和运行环境都是远程200DK的Ubuntu 18.04 arm系统。

配置MindStudio:

(1)配置到200DK的ssh连接

双击安装好的MindStudio的图标,启动MindStudio3.0.1,会弹出设置页面:

选择 Do not import settings

在弹出的 Remote ADK Setting 页面,点右边的 + ,进入以下画面:

点击+后,进入以下页面:

点击+ ,配置200DK的ssh信息:输入以下信息后,点击Test Connection:

系统显示连接成功。

(2)配置远程ADK

我们使用MobaXterm登陆到开发版看一下Ascend-cann-toolkit安装的目录:

将路径 /home/HwHiAiUser/Ascend/ascend-toolkit/3.3.0.alpha001/ 拷回到 Remote ADK Setting的ADK Location栏位:

点击Finish:

等一会儿,出现了这个窗口:

输入姓名和单位名称,点击Agree:

终于进入了主页面:

(3)安装Python插件

按照 https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=130869&page=1#pid1200993 提到的方式,先安装MindStudio的Python插件:

点击Configure->Plugins:

在Search栏输入python

在左边结果列表中,点击 Python Community Edition 插件名称右边的 Install按钮:

耐心等待插件安装结束。

安装完毕后,可以点击 绿色的RestartIDE按钮,并继续点击蓝色的Restart.

系统会问你这个问题:

既然是刚刚才同步的,那就不需要重新同步了。选择No。

又重新到了MindStudio的欢迎页面:

(4)查看ADK配置:

再重新点击 configure下的settings:

点击Appreaance & Behavior->System Settings->ADK 

可以看到ADK已被识别 Installed 和 Activated.

点击 Cross Compiler

会发现 g++交叉编译器也被识别。

验证200DK典型项目——黑白照片上色

使用scp工具把原来在200DK或者在ubuntu虚拟机上的项目目录拷贝到Windows上,然后再打开相关的项目试试吧。

打开 使用xftp从虚拟机传过来的黑白图片上色的目录:colorization

很快进入了IDE页面:

点击Build->Edit Build Configurations:

执行build:点击上面页面中的 build按钮:

MindStudio会将代码传到 200DK的相关目录下(./MindStudio-WorkSpace)

但是好像编译报错了:

我们再看同一个项目(在被拷贝的 ubuntu宿主机的相关目录)

编译是没有问题的。

再仔细看了下 src/CMakeLists.txt文件,发现 这里设置了 

set(OPENCV_PATH "/usr/local")

加上后面

# Header path
include_directories(
    ../inc/
    ${INC_PATH}/acllib/include/
    $ENV{HOME}/ascend_ddk/${ARCH}/include
    $ENV{HOME}/ascend_ddk/${ARCH}/include/opencv4
    ${OPENCV_PATH}/include/opencv4
    $ENV{HOME}/include/opencv2
)

以及 inc/util.h文件:

#include "opencv2/opencv.hpp"
#include "opencv2/imgcodecs/legacy/constants_c.h"
#include "opencv2/imgproc/types_c.h"


所以它会到 /usr/local/include/opencv4/opencv2/ 下找 opencv.hpp文件。

在宿主机上有这个目录:

但是在 200DK上却没有这个目录:

查看 https://gitee.com/ascend/samples/blob/master/cplusplus/environment/opencv_install/README_200DK_CN.md 文档当时在200DK上安装opencv的过程,实际上200DK并没有安装到该目录,而是装到了 /home/HwHiAiuser/ascend_ddk/arm/这个目录:

所以,将src/CMakeList.txt文件改为:

set(OPENCV_PATH "/home/HwHiAiUser/ascend_ddk/arm")

再重新Build:

成功完成编译。

然后Run->Edit Configurations:

检查编译后的 E:/MyMindStudioProjects/colorization/out/main 文件是否存在:

那就执行Run吧:

成功执行。但是貌似 output目录下的图片时间不对。

这可能说明MindStudio在原来有windows下有这个文件的情况下,并没有覆盖现有的windows文件。

删除这个文件,重新Run:

最后看下上色的效果图片:

看来,MindStudio在远程执行200DK的编译、运行方面暂时没有什么问题。

MindStudio配置Conda环境:

当然,前面还有一件事情没做完,就是让 MindStudio连接conda的Python 3.7.5的环境:

File->Project Structure:

点击 <No SDK>右边的小箭头:

选择 Add Python SDK,在弹出的菜单中选择 Conda Enviroment->Existing enviroment:

果然有前面装好的conda python环境(名字叫做mindstudio),选择后点击OK即可返回:

再点击OK即可。这个配置方法跟PyCharm配置conda环境的做法非常像。

当然,因为黑白图片这套代码都是基于C++的,没有用到Python,所以好像不配置好像也能成功出推理结果。

(全文完,谢谢阅读)

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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