PSPNet:使用MindStudio进行MindX SDK任务开发

目录

1     任务介绍

2     环境配置

2.1        MindStudio软件安装

2.1.1    介绍

2.1.2    安装

2.2        SSH连接

2.3        CANN配置

2.3.1    CANN介绍

2.3.2    CANN 配置

2.4        推理源码和数据准备

2.4.1    介绍

2.4.2    模型源码

2.4.3    预训练模型2

2.4.4    数据集下载

2.4.5    上传远端服务器

2.5        昇腾工程转换

2.5.1    介绍

2.5.2    工程转换

2.6        MindX SDK配置

2.6.1    MindX SDK介绍

2.6.2    MindX SDK配置

3     任务运行

3.1        模型转换

3.1.1    介绍

3.1.2    界面配置方式

3.2        验证数据路径表生成

3.3        图像预处理方法

3.4        pipeline编写

3.4.1    代码方式

3.4.2    界面配置方式

3.5        推理验证

3.5.1    命令行方式

3.5.2    界面配置方式

4     FAQ

4.1        CANN版本和MindX SDK版本需要单独下载么?

4.2        开发过程中遇到难题如何求助

4.3        第2章开头提到了“服务器端都是Linux操作系统,MindX SDK可以通过图形界面方式在线或离线安装“,这个功能如何实现?

  

1       任务介绍
PSPNet全称为Pyramid Scene Parseing Network,是以ResNet作为骨干网络并采用金字塔池化模块搭建的场景分析网络,它能够聚合不同区域的上下文信息,从而提高获取全局信息的能力。 PSPNet主要的特点有:(1)通过多尺度 Pooling 的方式得到不同 Scale 的 Feature,Concat 得到判别的多尺度特征; (2)加入额外的深度监督 Loss,开发了一种有效的深网优化策略,在基于深度监督损失ResNet上制定有效的优化策略; (3)提出了一个金字塔场景解析网络,能够将难解析的场景信息特征嵌入预测框架中; (4)构建了一个实用的系统,用于场景解析和语义分割,其中包含了所有关键的实现细节; (5)能够获取全局场景。

本案例主要介绍如何利用获取的基于MindSpore框架的的PSPNet图像分割模型(包括数据集和模型代码),在MindStudio中进行模型的转换和MindX SDK的开发部署。参照此案例,可以实现PSPNet模型在昇腾设备上的部署。

主要难点:由于PSPNet推理部分数据预处理方法相对比较复杂,无法使用华为提供的AIPP(Artificial Intelligence Pre-Processing)智能图像预处理模块实现完整的预处理功能,因此需要参考任务源码中的eval.py进行SDK推理代码的编写。

2       环境配置
整个开发环境的搭建主要分为两部分:服务器端开发环境安装和配置、本地开发环境的安装和配置。一般来说,服务器端的环境配置工作都提前完成了(比如CANN和MindX SDK的安装),因此本文主要以Windows环境为例,介绍本地开发环境安装和配置的流程。

需要注意的是,关于CANN和MindX SDK的安装,网上的教程比较多,对于第一次接触的开发者来说,容易搞混的是服务器端和本地的安装教程。服务器端都是Linux操作系统,MindX SDK可以通过图形界面方式在线或离线安装,也可以通过命令行方式进行离线安装,CANN只能通过命令行方式安装;本地端我们使用的是Windows,一般都是通过MindStudio的图形界面将服务器端的CANN和MindX SDK同步到本地。

对于PSPNet或者其他的模型,本地环境的搭建和配置应该如按如下流程:MindStudio软件安装——SSH远程连接——CANN配置——推理源码和数据准备——昇腾工程转换——MindX SDK配置

2.1      MindStudio软件安装
2.1.1    介绍

MindStudio是一套基于华为自研昇腾AI处理器开发的AI全栈开发工具平台,其功能涵盖面广,可以进行网络模型训练、移植、应用开发、推理运行及自定义算子开发等多种任务。就使用而言,整体界面风格和python开发常用的PyCharm相似。熟悉PyCharm工具的开发者使用MindStudio进行开发能够很快上手。

2.1.2    安装

PSPNet:使用MindStudio进行MindX SDK任务开发_第1张图片

 PSPNet:使用MindStudio进行MindX SDK任务开发_第2张图片


MindStudio的安装已经在其官网上的用户手册中有了详细介绍。作者使用的操作系统为window 10,点击下载上图中的exe或zip文件进行安装。注意一下MindStudio和CANN的版本对应关系:在MindStudio下载界面的最下面的版本配套中就说明了当前MindStudio版本对应的CANN版本。

笔者在安装的时候MindStudio的版本已经更新到了5.0.RC2,但是需要安装旧的5.0.RC1版本,可以在下载页面的历史版本中找到。

PSPNet:使用MindStudio进行MindX SDK任务开发_第3张图片
Python版本问题: Python需要提前下载安装,版本为3.7-3.9均可。当前已测试过的版本中,CANN支持Python3.7.x(3.7.0~3.7.11)、Python3.8.x(3.8.0~3.8.11)、Python3.9.x(3.9.0~3.9.7)。实际在系统中以Python3.7.5为例,如果在安装时没有指定python解释器的路径,在完成安装以后,进入某个python工程项目(project)以后,系统依然会提示“No Python interpreter configured for the module”,点击Configure Python interpreter进行解释器路径的配置。

 

PSPNet:使用MindStudio进行MindX SDK任务开发_第4张图片 

 

2.2      SSH连接
安装了MindStudio以后就要进行SSH连接,目的是将本地的软件与服务器进行连接。点击File->Settings->SSH Configurations,选择+号添加新的SSH配置,取一个用户名root。

PSPNet:使用MindStudio进行MindX SDK任务开发_第5张图片
将服务器IP地址、端口、密码获密钥文件填入,点击Test Connection,提示连接成功即可。

 PSPNet:使用MindStudio进行MindX SDK任务开发_第6张图片


这里需要注意的是授权类型有两种,一种是密码,一种是密钥文件,本文选择使用.pem格式密钥文件。服务器地址、密码或密钥文件可通过华为云申请试用或购买获得。

PSPNet:使用MindStudio进行MindX SDK任务开发_第7张图片
配置好了SSH以后,点击Tools-->Start SSH Session,即可连接服务器端。MindStudio在界面正下方会弹出Remote Terminal,就可以输入各种命令操作远端服务器了。

 PSPNet:使用MindStudio进行MindX SDK任务开发_第8张图片

PSPNet:使用MindStudio进行MindX SDK任务开发_第9张图片 

 2.3      CANN配置

2.3.1    CANN介绍
CANN(Compute Architecture for Neural Networks)是华为公司针对AI场景推出的异构计算架构,通过提供多层次的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。

2.3.2    CANN 配置
在Windows上配置CANN,实际上是使用MindStudio把服务器端的安装包同步到本地。进入File->Settings-> Appearance & Behavior ->System Settings->CANN页面,点击右边的change CANN,在弹出的对话框中填写服务器端的CANN的地址。我们的MindStudio版本是5.0.RC1,因此CANN的版本需要安装5.1.RC1。然后就等待软件将服务器端的CANN同步到本地。

PSPNet:使用MindStudio进行MindX SDK任务开发_第10张图片

PSPNet:使用MindStudio进行MindX SDK任务开发_第11张图片

 PSPNet:使用MindStudio进行MindX SDK任务开发_第12张图片

需要注意的是,在MindStudio中,如果没有安装CANN,是不能够将下载的源码转换为Ascend Project的。点击Ascend->Convert to Ascend Project,会提示没有安装CANN,无法转换。

这一步是安装MindX SDK的前提,否则在Settings中左边的菜单栏就不会有MindX SDK选项。在完成了CANN安装以后,可以点击Ascend->Convert to Ascend Project,进行工程转换的操作了。

2.4      推理源码和数据准备
2.4.1    介绍

上面我们介绍了如何正确安装和运行MindStudio工具。接下来准备模型转换和SDK开发所需要用到的数据。主要包括:模型源码、预训练模型、数据集。

2.4.2    模型源码
点击链接:https://pan.baidu.com/s/1txwT0_DvRUaDAHoUqcNePg,输入提取码:dzkd ,下载PSPNet模型源码,目录如下:

PSPNet:使用MindStudio进行MindX SDK任务开发_第13张图片
其中SDK所需要的代码在infer/sdk中

 PSPNet:使用MindStudio进行MindX SDK任务开发_第14张图片
包括配置config文件夹中的pipeline文件、验证数据预处理文件get_vocval_lst.py,SDK推理主文件main.py,推理脚本文件run.sh。

2.4.3    预训练模型
在SDK推理阶段需要使用已完成训练后生成的模型文件,后缀为.air。


在上述代码源目录infer/data中新建文件夹models,并将预模型文件存入。为了方便大家使用,上述源码链接中已包含了预训练模型。

 2.4.4    数据集下载
下载VOC2012的数据,放在infer/data目录下。为了方便大家使用,上述源码链接中已包含了VOC2012数据集。

PSPNet:使用MindStudio进行MindX SDK任务开发_第15张图片


数据集特别需要注意:按照gitee上开源的PSPNet MindSpore实现代码链接,用于PSPNet的分割数据集有三个,PASCAL VOC 2012 、ADE20K、Semantic Boundaries Dataset(SBD),但是对应的链接容易让大家混淆。避免大家在数据集上踩太多的坑,因此笔者重新梳理了一下可以使用的数据集。

数据集一:VOC2012。数据集的说明见http://host.robots.ox.ac.uk/pascal/VOC/voc2012/,数据集的下载链接为:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar。

数据集二:ADE20K 2016。数据集的说明见:http://groups.csail.mit.edu/vision/datasets/ADE20K/,但是数据集的下载并不是通过上述说明下载(下载后的数据需要进一步的整理),而是通过如下链接下载:http://data.csail.mit.edu/places/ADEchallenge/ADEChallengeData2016.zip。

数据集三:SBD。数据集的说明见:http://home.bharathh.info/pubs/codes/SBD/download.html,数据集的下载链接:http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/semantic_contours/benchmark.tgz。

我们测试了三个数据集,都是可以使用的,SBD数据集是VOC2012数据集的增强版,数据量更多。实际测试三个数据集的训练和推理精度也都满足MindSpore官方代码的要求。三个数据集在我们代码中的主要差异体现在后续3.2节验证数据路径表生成的工作中。为了方便,本文后续以数据集一,即VOC2012为例进行讲解。

2.4.5    上传远端服务器
点击Tools-->Deployment-->upload上传准备好的代码、模型和数据集到远端服务器,此过程需要花费比较长的时间,需要耐心等待。如果因网络问题传输失败,重新upload即可覆盖原来的文件。这里需要注意的是,如果upload单个文件反复提示失败,可能需要检查一下服务器的硬盘空间是否已满,如果已满,需要整理一下服务器的存储空间,尽可能多空出一些空间来。

PSPNet:使用MindStudio进行MindX SDK任务开发_第16张图片
这里我们以远端服务器地址/home/root/MindStudio-WorkSpace/PSPNet_4c38a0ee/为例进行后续的讲解,假设所有的代码和数据集已经上传至这个目录下了。

 

2.5      昇腾工程转换
2.5.1    介绍

相比于PyCharm,MindStudio增加了对华为昇腾系列芯片相关的开发支持,所以在MindStudio中创建的工程可以简单分为昇腾工程和非昇腾工程,其中昇腾工程特指需要昇腾芯片的相关工程,包括训练,推理,算子开发等等。特别的,MindStudio还支持非昇腾项目到昇腾项目的一键转换,方便其他IDE项目的转移。本项目是在昇腾310推理服务器上实现基于MindSpore 框架编写的PSPNet模型的部署推理,因此需要将代码转换为为昇腾工程。

2.5.2    工程转换
在源码和数据集都下载好的前提下,直接在MindStudio中点击左上角的file->open 打开之前下载下来的模型代码文件夹。工程界面和目录如下:

PSPNet:使用MindStudio进行MindX SDK任务开发_第17张图片
目前工程只是一个非昇腾工程,单击菜单栏 “Ascend > Convert To Ascend Project”,如下图所示

PSPNet:使用MindStudio进行MindX SDK任务开发_第18张图片 

 弹出如下窗口。这里针对PSPNet网络,Project Type选择Ascend App,Sub Type选择Ascend Python ACL App。如下图

PSPNet:使用MindStudio进行MindX SDK任务开发_第19张图片
完成工程转换后,可以看到在菜单栏多出了一栏蓝色的图标,是MindStudio为昇腾系列所特别支持的开发功能。

 


我们也可以通过Ascend下拉菜单查看这些功能, 下面列出了我们用到的一些功能模块。

PSPNet:使用MindStudio进行MindX SDK任务开发_第20张图片


2.6      MindX SDK配置
2.6.1    MindX SDK介绍

MindX SDK提供昇腾AI处理器加速的各类AI软件开发套件(SDK),提供极简易用的API,加速AI应用的开发。

PSPNet:使用MindStudio进行MindX SDK任务开发_第21张图片
应用开发旨在使用华为提供的SDK和应用案例快速开发并部署人工智能应用,是基于现有模型、使用pyACL提供的Python语言API库开发深度神经网络应用,用于实现目标识别、图像分类等功能。

 

通过MindStudio实现SDK应用开发分为基础开发与深入开发,通常情况下用户关注基础开发即可,基础开发主要包含如何通过现有的插件构建业务流并实现业务数据对接,采用模块化的设计理念,将业务流程中的各个功能单元封装成独立的插件,通过插件的串接快速构建推理业务。

2.6.2    MindX SDK配置
和上面的CANN类似,SDK的配置指的是从服务器端将安装好的mxManufacture 或者是mxVision同步到本地(这两者的差异似乎并不是特别大,很类似)。本文中使用的是mxVision 3.0.RC1。具体的配置方法如下:

进入File->Settings-> Appearance & Behavior ->System Settings->MindX SDK页面,在右边点击Install SDK,

PSPNet:使用MindStudio进行MindX SDK任务开发_第22张图片
填写远端CANN位置,同上一步;填写远端SDK的位置

 PSPNet:使用MindStudio进行MindX SDK任务开发_第23张图片


需要注意mxVision的位置要选到更下一级的linux-x86_64这个文件夹的mxVision-3.0.RC1,即:

/usr/local/Ascend/mindx_sdk/mxVision_3.0.RC1/linux-x86_64/mxVision-3.0.RC1,很多开发者看到了第一个mxVision_3.0.RC1就选了,这样就会报错。

PSPNet:使用MindStudio进行MindX SDK任务开发_第24张图片
最后等待SDK同步,点击如下按钮可以验证是否已经成功配置了SDK

 PSPNet:使用MindStudio进行MindX SDK任务开发_第25张图片

3       任务运行
本章的工作是介绍如何使用MindStudio成功运行推理任务,有了上面的准备工作,下面的任务就变得比较直观了。MindStudio中的MindX SDK提供了多种可视化的操作,让一些需要代码编辑的工作通过可视化配置界面完成。本部分工作主要包括:模型转换——验证数据路径表生成——图像预处理——Pipeline编写——推理验证。

3.1      模型转换
3.1.1    介绍

2.4.3节提到我们已经下载了一个air文件,这是训练完成以后的模型,可用于模型推理。在昇腾硬件平台实际部署时,需要使用工具将此文件转换为昇腾硬件平台支持的、后缀为.om的文件。模型转换可以通过两种方式:一是代码的方式进行,在远端服务器运行infer/convert中的convert_om.sh文件即可;二是通过MindStudio的可视化操作界面进行转换。本文重点介绍可视化界面配置转换的方法。

3.1.2    界面配置方式
点击Ascend->Model Converter

PSPNet:使用MindStudio进行MindX SDK任务开发_第26张图片
进入到配置界面,其中Model file 可以选择本地的模型文件也可以选择服务器端的模型文件,如果选择了本地的呢,需要耐心等待本地端的模型文件上传至服务器。Target SoC Version选择默认的Ascend310即可。Output Path默认是不用选的,默认生成在服务器端和air文件同路径,如果点击选择的话,则只能选择本地路径存储生成的om文件。

 PSPNet:使用MindStudio进行MindX SDK任务开发_第27张图片

 


点击Next,进入到配置界面,这里也显示了实际使用到的各种命令,和convert_om.sh是一样的。我们全部选择默认即可。

PSPNet:使用MindStudio进行MindX SDK任务开发_第28张图片
点击Finish 则系统进入到模型转换当中,右下角显示模型转换中

 


等待一段时间则在对话框中显示模型转换已成功。默认om模型存储的路径和air模型的路径一致。需要注意的是,如果output path不选择默认,则需要指定本地存储路径,MindStudio直接将模型转换到本地。

PSPNet:使用MindStudio进行MindX SDK任务开发_第29张图片
MindX SDK还可以查看om模型的结构,如下所示:

PSPNet:使用MindStudio进行MindX SDK任务开发_第30张图片 

说明:需要注意的是,因为PSPNet模型数据预处理方式并不是特别常见(我们后面会讲到数据预处理部分做了些什么工作),所以我们将数据预处理部分直接放到了infer/sdk/main.py中,并未使用华为的AIPP(Artificial Intelligence Pre-Processing)智能图像预处理模块,因此在ATC模型转换时并未包含AIPP部分的参数设置。

3.2      验证数据路径表生成
上面提到了PSPNet可以使用的数据集有多个(自己也可以收集制作数据集进行训练和验证),此部分的工作是针对VOC2012数据集,给推理代码提供验证图像及其对应的标签(灰度图)的路径列表。命令如下:

python3 get_vocval_lst.py --data_dir /home/root/MindStudio-WorkSpace/PSPNet_4c38a0ee/infer/data

转换过程如下:


具体的代码见infer/sdk/get_vocval_lst.py,

PSPNet:使用MindStudio进行MindX SDK任务开发_第31张图片
代码主要作用如下:

 (1)根据数据集中的训练和验证集划分(见infer\data\VOCdevkit\VOC2012\ImageSets\Segmentation),将验证集对应的标签彩色图像提取出来,转换为灰度图像,并保存在infer\data\VOCdevkit\VOC2012\SegmentationClassGray文件夹下。

PSPNet:使用MindStudio进行MindX SDK任务开发_第32张图片
(2)生成验证图像(infer\data\VOCdevkit\VOC2012\JPEGImages)与上一步得到的标签图像之间一一对应的绝对路径表(txt文件)。

 PSPNet:使用MindStudio进行MindX SDK任务开发_第33张图片


说明:因为不同的服务器存放数据路径不一样,因此第一次运行代码之前,需要生成这样一个绝对路径表。

3.3      图像预处理方法
这部分是PSPNet SDK开发的重点和难点,代码主要参考infer/sdk/main.py。在将验证图像送入转换好的om模型进行推理前,我们需要将图像进行数据预处理。主要步骤如下:

(1)    将图像的长边缩放到512,并保持固定的宽高比

PSPNet:使用MindStudio进行MindX SDK任务开发_第34张图片

PSPNet:使用MindStudio进行MindX SDK任务开发_第35张图片 

 (2)    按验证数据集的RGB均值[0.485, 0.456, 0.406]对图像上下左右边缘进行填充,使短边尺寸不小于473。

PSPNet:使用MindStudio进行MindX SDK任务开发_第36张图片
 (3)按照473*473的尺寸对图像进行先行后列的滑窗截取。如下图所示,假设填充后的图像是512*500,则滑窗后截取了四张图片。

 PSPNet:使用MindStudio进行MindX SDK任务开发_第37张图片

 PSPNet:使用MindStudio进行MindX SDK任务开发_第38张图片

 

(4)    将截取的图像(473*473)送入模型推理,得到每个像素的推理结果按原图像所在的位置暂存。

(5)    把同一幅验证图像得到的像素推理结果按位置相加,有叠加的部分求平均,得到这幅验证图像的推理结果。

PSPNet:使用MindStudio进行MindX SDK任务开发_第39张图片


为什么采取先放大后滑窗的预处理方法,作者并未在网上找到直接的解释,只是的确这样做的效果就是比其他不滑窗的方法在各项指标上效果更好。

说明:虽然华为的SDK mxVison或者mxManufacture都提供了丰富的业务流程编排插件,可以使用这些插件进行预处理或者后处理,但是这里PSPNet的数据预处理方式mxVison或者mxManufacture没有适合的插件或插件组合能够支持,所以我们选择将此部分工作直接通过Python代码写到infer/sdk/main.py里面。

同时,我们也尝试了不使用上述数据预处理方式,使用mxVison或者mxManufacture插件直接将验证图像reshape为473*473的图像,也可以得到推理结果,但是MIOU性能达不到要求(和官方性能差了1%左右,对于追求开发速度或者对精度要求不高的情况,也可以考虑使用AIPP的方法,在pipeline里面加入各种数据处理插件,加快开发进度)。

3.4      pipeline编写
Pipeline编写可以采用直接编写代码方式或者界面配置方式。

3.4.1    代码方式
由于我们没有使用插件进行数据预处理,因此pipeline的编写就比较简单,调用发送数据插件appsrc、推理插件mxpi_tensorinfer、输出插件appsink进行编排即可,代码见infer/sdk/config/PSPNet.pipeline。

PSPNet:使用MindStudio进行MindX SDK任务开发_第40张图片
 

3.4.2    界面配置方式
也可以直接使用MindX SDK的可视化操作界面拖拽各种插件进行组合。在成功连接远端服务器的前提下,首先点击Ascend->MindX SDK Pipeline

 PSPNet:使用MindStudio进行MindX SDK任务开发_第41张图片

 


MindStudio将自动生成new.pipeline文件,并且在pipeline文件的左边出现Input、Other、Output三个选项,我们可以点击三个选项,选择需要的组件拖拽到右边图形界面框中进行组合。发送数据插件appsrc在Input选项中、推理插件mxpi_tensorinfer在Other选项中、输出插件appsink在Output选项中。

PSPNet:使用MindStudio进行MindX SDK任务开发_第42张图片

PSPNet:使用MindStudio进行MindX SDK任务开发_第43张图片

PSPNet:使用MindStudio进行MindX SDK任务开发_第44张图片 

 
三个组件选择好了以后,拖拽箭头将其连接起来,双击mxpi_tensorinfer组件可以对其参数进行设置,这里主要是填入我们的om模型路径。编辑好了以后,点击保存并重新命名即可。

 PSPNet:使用MindStudio进行MindX SDK任务开发_第45张图片

 3.5      推理验证
推理验证可以使用命令行方式或者界面配置方式。

3.5.1    命令行方式
由于需要指定的参数比较多,我们采用脚本文件.sh的方式在验证数据集中执行推理验证任务。命令样式如下:

bash run.sh data_root data_list num_classes result_path color_txt name_txt pipeline_path

具体的参数说明如下:

表1 参数说明

PSPNet:使用MindStudio进行MindX SDK任务开发_第46张图片
命令示例如下:

 bash run.sh /home/root/MindStudio-WorkSpace/PSPNet_4c38a0ee ../data/voc_val_lst.txt 21 ./result ./config/voc2012_colors.txt ./config/voc2012_names.txt ./config/PSPNet.pipeline

在Remote Terminal中进入/home/root/MindStudio-WorkSpace/PSPNet_4c38a0ee/ infer/sdk目录,输入以上命令,等待一段时间程序运行结束,得到如下结果。其中mIoU/mAcc/allAcc 分别为0.7358/0.8376/0.9389。

PSPNet:使用MindStudio进行MindX SDK任务开发_第47张图片

 


3.5.2    界面配置方式
界面配置方式是MindStudio的特色,点击PSPNet工程->Edit Configurations,

PSPNet:使用MindStudio进行MindX SDK任务开发_第48张图片
弹出Run/Debug Configurations配置对话框,设置可执行文件路径Executable,即脚本run.sh的本地路径;设置命令变量Command Arguments,将3.5.1节的命令中涉及到的变量都填入到其中,填完后点击OK。

 PSPNet:使用MindStudio进行MindX SDK任务开发_第49张图片

 


返回主页面点击绿色run图标即可运行,注意这时需要将所有的代码、数据集重新同步到远端服务器(不管之前有没有同步过,会覆盖服务器端原来的文件夹),因此将耗费相当多的时间,如果涉及到代码调试,笔者推荐还是以命令行的方式进行推理验证。

PSPNet:使用MindStudio进行MindX SDK任务开发_第50张图片
数据同步到服务器端后,开始执行推理任务

PSPNet:使用MindStudio进行MindX SDK任务开发_第51张图片

PSPNet:使用MindStudio进行MindX SDK任务开发_第52张图片 

 4       FAQ
4.1      CANN版本和MindX SDK版本需要单独下载么?
如果需要在远端服务器上进行安装,则需要,如果是只需要配置本地端,则不需要。通过MindStudio可以自动同步到本地。

4.2      开发过程中遇到难题如何求助
可以登录MindStudio官方论坛,发帖提问,同时论坛里也有很多开发者分享的案例,可能对大家有所帮助。另外,在CSDN、B站、gitee、华为云上也有很多资源可以检索查找。当然更直接的办法是百度各种关键词。

4.3      第2章开头提到了“服务器端都是Linux操作系统,MindX SDK可以通过图形界面方式在线或离线安装“,这个功能如何实现?
从官网下载安装MindStudio_5.0.RCX_linux.tar.gz文件,并完成此文件在服务器端的解压缩和安装。本地端使用Xshell远程连接到服务器(请注意本地端的MindStudio远程连接功能无法启动远程服务器端的图形界面功能,必须使用Xshell),找到~/MindStudio/bin目录中的MindStudio.sh文件,运行如下命令启动图形界面:

bash MindStudio.sh

此过程中可能提示需要安装Xmanager。启动服务器端的MindStudio,并打开服务器端的PSPNet工程,图形界面如下,和本地端的界面类似。

PSPNet:使用MindStudio进行MindX SDK任务开发_第53张图片
最后就可以使用此图形界面进行MindX SDK的安装了,方式同2.6节。

PSPNet:使用MindStudio进行MindX SDK任务开发_第54张图片 

 

你可能感兴趣的:(深度学习,计算机视觉,人工智能)