SDK样例工程使用指导
Detection and Classification(C++)使用指导
- 请参照开发前须知与安装MindSDK软件包章节,配置环境变量,安装MindSDK软件包。
- 请参见创建应用工程创建Detection and Classification(C++)样例工程。
- 准备输入图片。
请用户自行下载一张包含有一个动物的非渐进式图片(例如一只狗的图片),命名为test.jpg,上传到环境中工程文件的“C++”目录下。
- 参见表1,前往昇腾开发者社区下载YOLOv3和ResNet-50模型pb文件并上传到环境中。
- 模型转换。在工程创建页面的顶部菜单栏中选择。
- 在“Model Information”页面,页面参数配置指导如下:
表2 Model Information配置项说明及YOLOv3、ResNet50模型适用参数 配置项
配置项说明
本样例YOLOv3模型适用参数
本样例ResNet50模型适用参数
Model File
获取模型pb文件后,选择上传到环境中的模型pb文件路径。需要选择到pb文件一级。
请根据实际情况设置模型pb文件路径。
Model Name
转换后的模型名称。
请以“yolov3_tf_bs1_fp16”命名。
请以“resnet50_aipp_tf”命名。
Target SoC Version
模型转换时指定芯片版本。
请根据实际使用的芯片类型进行选择。
OutputPath
模型文件输出路径。
请使用默认设置,不需要修改。
Input Format
输入数据格式。
请使用默认设置,不需要修改。
input/input_data
模型转换入参,“Shape”模型输入的图形信息,“Type”为指定输入节点的数据类型。
- “Shape”请使用“1,416,416,3”。
- “Type”请使用“FP32”。
- “Shape”请使用“1,224,224,3”。
- “Type”请使用“FP32”。
Output Nodes
指定输出节点信息。
- 单击“Select”按钮。
进入输出节点选择界面。
- 在搜索出的节点上,右击“Select”选中,如图1。
请选择“Conv_6/BiasAdd”、“Conv_14/BiasAdd”、“Conv_22/BiasAdd”三项。
无需选择。
- 单击“Next”,进入“Data Pre-Processiong”页面,参照图4作为示例配置参数,详细请参见2。
- 单击“Next”,进入“Advanced Options Preview”页面,参照图5配置参数。
“Additional Arguments”处请单击滑块启用该选项并填写模型aipp配置文件的绝对路径,Project_Path为SDK样例工程根目录,请用户自行替换。
转换YOLOv3模型时请配置:
--insert_op_conf=Project_Path/models/yolov3/aipp_yolov3_416_416.aippconfig
转换ResNet50模型时请配置:
--insert_op_conf=Project_Path/models/resnet50/aipp_resnet50_224_224.aippconfig
- 单击“Finish”,开始模型转换。
- 在“Model Information”页面,页面参数配置指导如下:
- 转换完成的模型om文件默认生成在“$HOME/modelzoo”下。请分别移动放置于“工程文件根目录/models/resnet50”和“工程文件根目录/models/yolov3”下。
- 编译应用工程。在MindStudio工程界面,顶部菜单栏中单击 ,进入编译配置页面。
- 配置编译参数。
- 单击顶部菜单栏中的“Build > Build CMake Project”编译工程。
如果在编译过程中无错误提示,且编译进度到“100%”,则表示编译成功,您可以在如下目录中查看可执行文件main。
├── 工程名 │ ├── C++ │ │ ├──main //可执行文件
- 运行应用工程。
- 配置运行参数,通过单击顶部菜单栏中的“+”,选择“CMake Application”工程运行配置项。
如图7为配置示例,由于样例工程中配置了相对路径,需要在Working directory配置相对的工作目录,此处配置为执行文件“main”所在的目录,配置完成后,单击“Apply”保存运行配置,单击“OK”,关闭运行配置窗口。
进入运行配置,单击左上角的
- 在MindStudio工程界面,通过单击顶部菜单栏中的“Run > Run...”。在弹出框中选择已创建好的运行配置信息,运行应用。
如下显示为SDK样例工程运行成功的返回示例。
Results:{"MxpiObject":[{"MxpiClass":[{"classId":163,"className":"beagle","confidence":0.87109375}],"classVec":[{"classId":16,"className":"dog","confidence":0.99641436299999997,"headerVec":[]}],"x0":125.63256800000001,"x1":918.29089399999998,"y0":116.434044,"y1":597.21276899999998}]}
如需对该样例进行调试操作,请在操作前修改以下内容:
- 在“C++/CMakeLists.txt”中找到以下命令。
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack -s -pie")
- 将该命令替换为如下形式。
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now,-z,noexecstack -pie")
- 配置运行参数,通过单击顶部菜单栏中的“+”,选择“CMake Application”工程运行配置项。
Detection and Classification(Python)使用指导
- 请参照开发前须知与安装MindSDK软件包章节,配置环境变量,安装MindSDK软件包。
- 请参见创建应用工程创建Detection and Classification(Python)样例工程。
- 准备输入图片。
请用户手动下载一张包含动物的图片(例如一只狗的图片),命名为test.jpg,上传到环境中工程文件的“python”目录下。
- 参见表3,前往昇腾开发者社区下载YOLOv3和ResNet-50模型pb文件并上传到环境中。
- 模型转换。在工程创建页面的顶部菜单栏中选择。
- 在“Model Information”页面,页面参数配置指导如下:
表4 Model Information配置项说明及YOLOv3、ResNet50模型适用参数 配置项
配置项说明
本样例YOLOv3模型适用参数
本样例ResNet50模型适用参数
Model File
获取模型pb文件后,选择上传到环境中的模型pb文件路径。需要选择到pb文件一级。
请根据实际情况设置模型pb文件路径。
Model Name
转换后的模型名称。
请以“yolov3_tf_bs1_fp16”命名。
请以“resnet50_aipp_tf”命名。
Target SoC Version
模型转换时指定芯片版本。
请根据实际使用的芯片类型进行选择。
OutputPath
模型文件输出路径。
请使用默认设置,不需要修改。
Input Format
输入数据格式。
请使用默认设置,不需要修改。
input/input_data
模型转换入参,“Shape”模型输入的图形信息,“Type”为指定输入节点的数据类型。
- “Shape”请使用“1,416,416,3”。
- “Type”请使用“FP32”。
- “Shape”请使用“1,224,224,3”。
- “Type”请使用“FP32”。
Output Nodes
指定输出节点信息。
- 单击“Select”按钮。
进入输出节点选择界面。
- 在搜索出的节点上,右击“Select”选中,如图8。
请选择“Conv_6/BiasAdd”、“Conv_14/BiasAdd”、“Conv_22/BiasAdd”三项。
无需选择。
- 单击“Next”,进入“Data Pre-Processiong”页面,参照图11作为示例配置参数,详细请参见2。
- 单击“Next”,进入“Advanced Options Preview”页面,参照图12配置参数。
“Additional Arguments”处请单击滑块启用该选项并填写模型aipp配置文件的绝对路径,Project_Path为SDK样例工程根目录,请用户自行替换。
转换YOLOv3模型时请配置:
--insert_op_conf=Project_Path/models/yolov3/aipp_yolov3_416_416.aippconfig
转换ResNet50模型时请配置:
--insert_op_conf=Project_Path/models/resnet50/aipp_resnet50_224_224.aippconfig
- 单击“Finish”,开始模型转换。
- 在“Model Information”页面,页面参数配置指导如下:
- 转换完成的模型om文件默认生成在“$HOME/modelzoo”下。请分别移动放置于“工程文件根目录/models/resnet50”和“工程文件根目录/models/yolov3”下。
- 运行应用工程。
- 在MindStudio顶部菜单栏单击 ,进入运行配置。
- 单击左上角的“+”,新建“Python”运行配置项,配置运行参数(如需配置Python编译器,具体操作请参见Python SDK依赖设置)。
图13为配置示例,配置完成后,单击“Apply”保存运行配置,单击“OK”,关闭运行配置窗口。
- 在MindStudio工程界面,顶部菜单栏中单击“Run > Run...”。在弹出框中选择已创建好的运行配置信息,运行应用。
如下显示为SDK样例工程运行成功的返回示例。
{"MxpiObject":[{"MxpiClass":[{"classId":163,"className":"beagle","confidence":0.87109375}],"classVec":[{"classId":16,"className":"dog","confidence":0.99641436299999997,"headerVec":[]}],"x0":125.63256800000001,"x1":918.29089399999998,"y0":116.434044,"y1":597.21276899999998}]}