完成了环境配置,成功使用MindStudio通过ssh的方式远程连接到服务器之后,就可以尝试使用MindXSDK提供的可视化功能开发应用了,这里参考官方提供的人脸检测加情绪分类的应用进行开发,熟悉一下整个开发流程。
首先新建一个项目,选择python的sdk project

创建完成后,点击左上角的Add configuration为应用选择部署的环境,熟悉pycharm的同学应该发现这个部署的配置方式是相当类似的。在配置界面新建一个Ascend Training类型的项目,在deployment一栏点击添加一个新的deployment配置

新建一个名叫mindx的配置,在Connection页面选择之前设置好的ssh连接,在Mappings页面点击deployment path会自动生成一个映射的路径。完成后点击test测试一下连接,成功连接。

回到configuration页面,在executable为工程执行选择可执行文件,这里选择这个新项目的main.py即可。
打开main.py有可能会出现没有python解释器的警告,点击这个警告,我们需要选择远程环境的python3.9作为我们的解释器来执行程序
首先为项目添加一个python的framework,并选择添加新的解释器使用ssh环境,deploy就选择之前配置的云服务器的deploy,解释器路径一般是/usr/bin/python3.9或者图中的路径,确认即可。

至此算是完成了准备工作,可以正式开始程序开发了。
应用的代码结构如下,分别存放图片,模型和pipeline文件,AllPluginsInfo.json是存放mindx插件信息的文件。一般当我们打开一个pipeline时会从服务器同步这个文件。如果碰到bug没用成功同步可以先从其他项目复制这个文件过来使用,等官方修复这个问题。

首先分析一下应用的流程,流程图如下图所示:

这是一个两个模型串接的应用,遵循“图片加载--预处理--推理--后处理”的基本结构,在mindStudio的菜单栏找到Ascend/MindX SDK Pipeline,新建一个pipeline

接下来即可构建应用实际的实现流程pipeline了,在search栏搜索流程图中对应的插件名称,直接拖动到右侧的空白区域即可

一些功能插件可能会有输入输出的参数需要设置,先把所有的插件都放入pipeline,再通过连线的方式连接起来,将上一个插件的输出作为下一个的输入,最后在为各个插件填入满足插件输入限制的参数即可。有一点需要指出的是折返的线居然不会绕开插件的位置,而是直接重叠起来了,看着是真的难受,而且还不能修改线的走法。希望后续能优化一下。

人脸检测的输出插件mxpi_distributor插件原本是不能把输出拉到下个插件的,需要填入一些参数,原因可以参考官方插件文档文档说明-mxVision快速入门-快速入门-3.0.RC3-MindX SDK-文档首页-昇腾社区 (hiascend.com),同时,resize插件需要我们填入要缩放到多大尺寸的参数,这个size应该满足模型的输入要求。还有输入模型路径,标签路径等等,可以参考官方给的pipeline填对应的参数。


点击format可以整理pipeline
pipeline的创建到此就完成了,pipeline为我们实现了应用的主体过程,接下来在代码中加载这个pipeline并补充一些资源管理和绘制结果的代码即可完成应用的开发了。
完成了环境配置,成功使用MindStudio通过ssh的方式远程连接到服务器之后,就可以尝试使用MindXSDK提供的可视化功能开发应用了,这里参考官方提供的人脸检测加情绪分类的应用进行开发,熟悉一下整个开发流程。
首先新建一个项目,选择python的sdk project
创建完成后,点击左上角的Add configuration为应用选择部署的环境,熟悉pycharm的同学应该发现这个部署的配置方式是相当类似的。在配置界面新建一个Ascend Training类型的项目,在deployment一栏点击添加一个新的deployment配置
新建一个名叫mindx的配置,在Connection页面选择之前设置好的ssh连接,在Mappings页面点击deployment path会自动生成一个映射的路径。完成后点击test测试一下连接,成功连接。
回到configuration页面,在executable为工程执行选择可执行文件,这里选择这个新项目的main.py即可。
打开main.py有可能会出现没有python解释器的警告,点击这个警告,我们需要选择远程环境的python3.9作为我们的解释器来执行程序
首先为项目添加一个python的framework,并选择添加新的解释器使用ssh环境,deploy就选择之前配置的云服务器的deploy,解释器路径一般是/usr/bin/python3.9或者图中的路径,确认即可。
至此算是完成了准备工作,可以正式开始程序开发了。
应用的代码结构如下,分别存放图片,模型和pipeline文件,AllPluginsInfo.json是存放mindx插件信息的文件。一般当我们打开一个pipeline时会从服务器同步这个文件。如果碰到bug没用成功同步可以先从其他项目复制这个文件过来使用,等官方修复这个问题。
首先分析一下应用的流程,流程图如下图所示:
这是一个两个模型串接的应用,遵循“图片加载--预处理--推理--后处理”的基本结构,在mindStudio的菜单栏找到Ascend/MindX SDK Pipeline,新建一个pipeline
接下来即可构建应用实际的实现流程pipeline了,在search栏搜索流程图中对应的插件名称,直接拖动到右侧的空白区域即可
一些功能插件可能会有输入输出的参数需要设置,先把所有的插件都放入pipeline,再通过连线的方式连接起来,将上一个插件的输出作为下一个的输入,最后在为各个插件填入满足插件输入限制的参数即可。有一点需要指出的是折返的线居然不会绕开插件的位置,而是直接重叠起来了,看着是真的难受,而且还不能修改线的走法。希望后续能优化一下。
人脸检测的输出插件mxpi_distributor插件原本是不能把输出拉到下个插件的,需要填入一些参数,原因可以参考官方插件文档文档说明-mxVision快速入门-快速入门-3.0.RC3-MindX SDK-文档首页-昇腾社区 (hiascend.com),同时,resize插件需要我们填入要缩放到多大尺寸的参数,这个size应该满足模型的输入要求。还有输入模型路径,标签路径等等,可以参考官方给的pipeline填对应的参数。
点击format可以整理pipeline
pipeline的创建到此就完成了,pipeline为我们实现了应用的主体过程,接下来在代码中加载这个pipeline并补充一些资源管理和绘制结果的代码即可完成应用的开发了。